[netbeans] 01/01: Import Debian patch 8.2+dfsg1-1
Markus Koschany
apo at moszumanska.debian.org
Mon Dec 26 16:52:25 UTC 2016
This is an automated email from the git hooks/post-receive script.
apo pushed a commit to branch experimental
in repository netbeans.
commit b63a3f36f51e5221091dc273094bf4aecb57e86d
Merge: bf77143 a5f48b0
Author: Markus Koschany <apo at debian.org>
Date: Mon Dec 26 16:33:40 2016 +0100
Import Debian patch 8.2+dfsg1-1
.pc/.quilt_patches | 1 -
.pc/.quilt_series | 1 -
.pc/.version | 1 -
.../modules/css/lib/NbParseTreeBuilder.java | 500 -
.pc/applied-patches | 35 -
.../db/dataview/output/DataViewTableUI.java | 658 -
.../modules/db/dataview/output/DataViewUI.java | 589 -
.../db/dataview/table/ResultSetJXTable.java | 519 -
.../o.eclipse.jgit/nbproject/project.xml | 28 -
.../ui/customizer/vmo/gen/CommandLineParser.java | 1285 -
.pc/netbeans-build.patch/nbbuild/build.xml | 1943 -
.../nbbuild/cluster.properties | 1528 -
.../source/parsing/CachingArchiveClassLoader.java | 266 -
.../hudson/ui/APITokenConnectionAuthenticator.java | 242 -
.../nbproject/project.properties | 103 -
.../cnd.discovery/external/binaries-list | 1 -
.../cnd.remote/external/binaries-list | 1 -
.../cordova.platforms.ios/external/binaries-list | 5 -
.../db.drivers/external/binaries-list | 3 -
.../dlight.remote.impl/external/binaries-list | 6 -
.../extexecution.process/external/binaries-list | 3 -
.../html.validation/external/binaries-list | 9 -
.../javascript2.editor/external/binaries-list | 3 -
.../libs.clank/external/binaries-list | 6 -
.../libs.groovy/external/binaries-list | 1 -
.../libs.javacapi/external/binaries-list | 1 -
.../libs.javacimpl/external/binaries-list | 1 -
.../libs.jna.platform/external/binaries-list | 1 -
.../libs.jna/external/binaries-list | 1 -
.../libs.nashorn/external/binaries-list | 2 -
.../external/binaries-list | 2 -
.../external/binaries-list | 4 -
.../libs.svnClientAdapter/external/binaries-list | 1 -
.../maven.embedder/external/binaries-list | 4 -
.../maven/external/binaries-list | 2 -
.../nbbuild/external/binaries-list | 2 -
.../net.java.html.boot.fx/external/binaries-list | 1 -
.../external/binaries-list | 1 -
.../net.java.html.boot/external/binaries-list | 1 -
.../net.java.html.geo/external/binaries-list | 1 -
.../net.java.html.json/external/binaries-list | 1 -
.../net.java.html.sound/external/binaries-list | 1 -
.../net.java.html/external/binaries-list | 1 -
.../netbinox/external/binaries-list | 2 -
.../o.apache.commons.lang/external/binaries-list | 1 -
.../external/binaries-list | 3 -
.../external/binaries-list | 1 -
.../o.eclipse.core.jobs/external/binaries-list | 1 -
.../o.eclipse.core.net/external/binaries-list | 1 -
.../external/binaries-list | 1 -
.../o.eclipse.core.runtime/external/binaries-list | 1 -
.../o.eclipse.equinox.app/external/binaries-list | 1 -
.../external/binaries-list | 1 -
.../external/binaries-list | 1 -
.../external/binaries-list | 1 -
.../external/binaries-list | 1 -
.../o.eclipse.jgit.java7/external/binaries-list | 1 -
.../o.eclipse.jgit/external/binaries-list | 1 -
.../external/binaries-list | 1 -
.../external/binaries-list | 1 -
.../external/binaries-list | 1 -
.../external/binaries-list | 1 -
.../external/binaries-list | 1 -
.../external/binaries-list | 1 -
.../external/binaries-list | 1 -
.../external/binaries-list | 1 -
.../external/binaries-list | 1 -
.../o.n.html.ko4j/external/binaries-list | 1 -
.../php.project/external/binaries-list | 1 -
.../nbproject/project.properties | 6 -
.../extexecution.process/nbproject/project.xml | 64 -
.../extexecution/process/ProcessesImpl.java | 62 -
.../ide/launcher/netbeans.conf | 63 -
.../ide/launcher/unix/netbeans | 253 -
.../db.sql.visualeditor/build.xml | 43 -
.../jemmy/nbproject/project.properties | 49 -
.../libs.jaxb/nbproject/project.properties | 61 -
.../css.editor/nbproject/project.properties | 59 -
.../db.drivers/nbproject/project.properties | 49 -
.../derby/nbproject/project.properties | 55 -
.../html.editor/nbproject/project.properties | 54 -
.../j2ee.eclipselink/nbproject/project.properties | 55 -
.../libs.swingx/nbproject/project.properties | 45 -
.../nbproject/project.properties | 47 -
.../o.apache.tools.ant.module/build.xml | 225 -
.../o.apache.tools.ant.module/external/build.xml | 53 -
.../o.n.bootstrap/nbproject/project.properties | 58 -
.../nbbuild/build.properties | 254 -
.../nbbuild/cluster.properties | 1540 -
.../net.java.html/build.xml | 5 -
.../junitlib/nbproject/project.properties | 10 -
.../nbbuild/cluster.properties | 1532 -
.../libs.jna.platform/nbproject/project.properties | 46 -
.../libs.jna/nbproject/project.properties | 57 -
.../src/org/netbeans/libs/jna/Installer.java | 55 -
.../nbbuild/cluster.properties | 1530 -
.../libs.testng/nbproject/project.properties | 50 -
.../o.jdesktop.layout/nbproject/project.properties | 47 -
.../windows-launcher-src/Makefile | 86 -
.../nbproject/Makefile-app.exe.mk | 102 -
.../nbproject/Makefile-app64.exe.mk | 102 -
.../ide/launcher/windows/nblauncher.cpp | 609 -
.../o.n.bootstrap/launcher/windows/Makefile | 90 -
.../launcher/windows/nbproject/Makefile-nbexec.mk | 120 -
.../windows/nbproject/Makefile-nbexec64.mk | 120 -
.../o.n.bootstrap/launcher/windows/utilsfuncs.cpp | 473 -
.../o.eclipse.jgit/nbproject/project.xml | 28 -
.../apisupport.kit/nbproject/project.xml | 74 -
.../editor.kit/nbproject/project.xml | 153 -
.../ide.kit/nbproject/project.xml | 323 -
.../java.kit/nbproject/project.xml | 385 -
.../xsl/nbproject/project.xml | 270 -
.../modules/java/hints/spiimpl/Utilities.java | 1623 -
.../svnkit/SvnKitClientAdapterFactory.java | 94 -
.../modules/updatecenters/resources/mf-layer.xml | 87 -
.../org/netbeans/api/java/source/SourceUtils.java | 1437 -
.../xml.jaxb.api/nbproject/project.properties | 54 -
.pc/netbeans-xsl-httpserver.patch/xsl/manifest.mf | 7 -
.../netbeans/modules/netbinox/JarBundleFile.java | 377 -
.../org/netbeans/modules/netbinox/Netbinox.java | 243 -
.../org/netbeans/nbbuild/UpdateTracking.java | 620 -
.../org/netbeans/modules/ant/browsetask/antlib.xml | 39 +
ant.browsetask/manifest.mf | 2 +-
ant.debugger/nbproject/project.properties | 2 +-
.../netbeans/modules/ant/debugger/AntDebugger.java | 6 +-
.../netbeans/modules/ant/debugger/IOManager.java | 33 +-
ant.freeform/manifest.mf | 2 +-
ant.grammar/manifest.mf | 2 +-
ant.kit/build.xml | 39 +
ant.kit/manifest.mf | 2 +-
ant.kit/nbproject/project.properties | 37 +
ant.kit/nbproject/project.xml | 39 +
.../org/netbeans/modules/ant/kit/Bundle.properties | 37 +
api.annotations.common/build.xml | 53 +-
api.annotations.common/manifest.mf | 2 +-
.../org-netbeans-api-annotations-common.sig | 2 +-
api.annotations.common/nbproject/project.xml | 39 +
.../annotations/common/resources/Bundle.properties | 37 +
api.debugger.jpda/apichanges.xml | 16 +
api.debugger.jpda/manifest.mf | 2 +-
.../nbproject/org-netbeans-api-debugger-jpda.sig | 18 +-
.../org/netbeans/api/debugger/jpda/package.html | 64 +-
.../netbeans/spi/debugger/jpda/EditorContext.java | 4 +-
.../spi/debugger/jpda/SmartSteppingCallback.java | 150 +
.../spi/debugger/jpda/SourcePathProvider.java | 4 +-
.../org/netbeans/spi/debugger/jpda/package.html | 64 +-
api.debugger/apichanges.xml | 16 +
api.debugger/manifest.mf | 2 +-
.../nbproject/org-netbeans-api-debugger.sig | 36 +-
.../org/netbeans/api/debugger/ActionsManager.java | 12 +-
.../org/netbeans/api/debugger/DebuggerManager.java | 21 +
.../src/org/netbeans/api/debugger/Properties.java | 31 +-
.../src/org/netbeans/api/debugger/Watch.java | 29 +-
.../src/org/netbeans/api/debugger/package.html | 64 +-
.../debugger/registry/DebuggerProcessor.java | 7 +
.../src/org/netbeans/spi/debugger/package.html | 64 +-
api.htmlui/arch.xml | 41 +-
api.htmlui/build.xml | 39 +
api.htmlui/manifest.mf | 2 +-
api.htmlui/nbproject/org-netbeans-api-htmlui.sig | 80 +
api.htmlui/nbproject/project.properties | 37 +
api.htmlui/nbproject/project.xml | 49 +
.../org/netbeans/modules/htmlui/Bundle.properties | 37 +
.../netbeans/modules/htmlui/FreeGeoProvider.java | 127 +
.../modules/htmlui/FreeGeoProviderTest.java | 120 +
api.intent/arch.xml | 39 +
api.intent/build.xml | 39 +
api.intent/manifest.mf | 2 +-
api.intent/nbproject/org-netbeans-api-intent.sig | 118 +
api.intent/nbproject/project.properties | 37 +
api.intent/nbproject/project.xml | 39 +
.../src/org/netbeans/api/intent/Bundle.properties | 37 +
api.io/apichanges.xml | 10 +-
api.io/arch.xml | 39 +
api.io/build.xml | 39 +
api.io/manifest.mf | 4 +-
api.io/nbproject/org-netbeans-api-io.sig | 358 +
api.io/nbproject/project.properties | 37 +
api.io/nbproject/project.xml | 39 +
api.io/src/org/netbeans/api/io/Bundle.properties | 37 +
api.java.classpath/apichanges.xml | 16 +
api.java.classpath/build.xml | 39 +
api.java.classpath/manifest.mf | 2 +-
.../nbproject/org-netbeans-api-java-classpath.sig | 47 +-
api.java.classpath/nbproject/project.properties | 37 +
api.java.classpath/nbproject/project.xml | 41 +-
.../netbeans/api/java/classpath/Bundle.properties | 37 +
.../org/netbeans/api/java/classpath/ClassPath.java | 145 +-
.../org/netbeans/api/java/classpath/package.html | 42 +-
.../api/java/queries/SourceForBinaryQuery.java | 15 +-
.../modules/java/classpath/ClassPathAccessor.java | 30 +-
.../SimplePathResourceImplementation.java | 8 +-
.../spi/java/classpath/ClassPathFactory.java | 2 +-
.../org/netbeans/spi/java/classpath/package.html | 16 +-
.../java/classpath/support/ClassPathSupport.java | 2 +-
.../spi/java/classpath/support/package.html | 16 +-
.../netbeans/api/java/classpath/ClassPathTest.java | 29 +-
.../api/java/queries/SourceForBinaryQueryTest.java | 8 +-
.../SimplePathResourceImplementationTest.java | 11 +-
api.java/apichanges.xml | 15 +
api.java/manifest.mf | 2 +-
api.java/nbproject/org-netbeans-api-java.sig | 49 +-
.../api/java/queries/SourceLevelQuery.java | 115 +-
.../src/org/netbeans/api/java/queries/package.html | 16 +-
.../src/org/netbeans/spi/java/queries/package.html | 16 +-
.../api/java/queries/SourceLevelQueryTest.java | 36 +
api.knockout/arch.xml | 39 +
api.knockout/build.xml | 39 +
api.knockout/manifest.mf | 2 +-
.../nbproject/org-netbeans-api-knockout.sig | 40 +
api.knockout/nbproject/project.properties | 38 +
api.knockout/nbproject/project.xml | 39 +
.../org/netbeans/spi/knockout/Bundle.properties | 37 +
api.maven/manifest.mf | 2 +-
api.maven/nbproject/org-netbeans-api-maven.sig | 55 +
api.mobility/manifest.mf | 2 +-
api.progress.compat8/build.xml | 39 +
api.progress.compat8/manifest.mf | 4 +-
api.progress.compat8/nbproject/project.properties | 37 +
api.progress.compat8/nbproject/project.xml | 39 +
.../src/api/progress/compat8/Bundle.properties | 37 +
api.progress.nb/arch.xml | 45 +-
api.progress.nb/build.xml | 39 +
api.progress.nb/manifest.mf | 2 +-
.../nbproject/org-netbeans-api-progress-nb.sig | 113 +-
api.progress.nb/nbproject/project.properties | 37 +
api.progress.nb/nbproject/project.xml | 39 +
.../org/netbeans/api/progress/nb/Bundle.properties | 37 +
.../org/netbeans/api/progress/RunOffEDTTest.java | 56 +-
api.progress/manifest.mf | 2 +-
.../nbproject/org-netbeans-api-progress.sig | 63 +-
.../netbeans/api/progress/aggregate/package.html | 75 +-
.../src/org/netbeans/api/progress/package.html | 75 +-
.../modules/progress/spi/RunOffEDTProvider.java | 2 +-
api.search/arch.xml | 45 +-
api.search/build.xml | 39 +
api.search/manifest.mf | 2 +-
api.search/nbproject/org-netbeans-api-search.sig | 2 +-
api.search/nbproject/project.properties | 37 +
api.search/nbproject/project.xml | 39 +
.../src/org/netbeans/api/search/Bundle.properties | 37 +
.../netbeans/modules/search/BasicSearchForm.java | 3 +-
.../search/ui/AbstractSearchResultsPanel.form | 2 +-
.../search/ui/AbstractSearchResultsPanel.java | 2 +-
.../modules/search/ui/ResultsOutlineSupport.java | 2 +-
.../test/modules/search/BasicSearchTest.java | 5 -
.../modules/search/matcher/Bundle.properties | 37 +
api.templates/apichanges.xml | 2 +-
api.templates/arch.xml | 43 +-
api.templates/build.xml | 39 +
api.templates/manifest.mf | 2 +-
.../nbproject/org-netbeans-api-templates.sig | 162 +
api.templates/nbproject/project.properties | 37 +
api.templates/nbproject/project.xml | 39 +
.../netbeans/api/templates/CreateDescriptor.java | 2 +-
.../netbeans/modules/templates/Bundle.properties | 37 +
.../modules/templates/SCFTHandlerTest.java | 22 +-
.../src/org/netbeans/modules/templates/utf8.xml | 8 +-
api.visual/apichanges.xml | 2 +-
api.visual/manifest.mf | 2 +-
api.visual/nbproject/org-netbeans-api-visual.sig | 4 +-
.../org/netbeans/api/visual/action/package.html | 16 +-
.../org/netbeans/api/visual/anchor/package.html | 16 +-
.../org/netbeans/api/visual/animator/package.html | 16 +-
.../org/netbeans/api/visual/border/package.html | 16 +-
.../org/netbeans/api/visual/export/package.html | 18 +-
.../netbeans/api/visual/graph/layout/package.html | 16 +-
.../src/org/netbeans/api/visual/graph/package.html | 16 +-
.../src/org/netbeans/api/visual/laf/package.html | 16 +-
.../org/netbeans/api/visual/layout/package.html | 16 +-
.../src/org/netbeans/api/visual/model/package.html | 16 +-
.../src/org/netbeans/api/visual/package.html | 16 +-
.../src/org/netbeans/api/visual/print/package.html | 16 +-
.../org/netbeans/api/visual/router/package.html | 16 +-
.../src/org/netbeans/api/visual/vmd/package.html | 16 +-
.../api/visual/widget/doc-files/documentation.html | 16 +-
.../api/visual/widget/general/package.html | 16 +-
.../org/netbeans/api/visual/widget/package.html | 16 +-
.../bugs/GraphLayoutListenerRemoval197502Test.java | 11 -
api.web.webmodule/manifest.mf | 2 +-
.../nbproject/org-netbeans-api-web-webmodule.sig | 2 +-
.../modules/web/api/webmodule/package.html | 16 +-
.../modules/web/spi/webmodule/package.html | 16 +-
.../modules/web/webmodule/Bundle.properties | 2 +-
api.xml.ui/build.xml | 39 +
api.xml.ui/manifest.mf | 2 +-
api.xml.ui/nbproject/project.properties | 37 +
api.xml.ui/nbproject/project.xml | 39 +
.../src/org/netbeans/api/xml/cookies/package.html | 77 +-
.../src/org/netbeans/api/xml/ui/Bundle.properties | 37 +
.../src/org/netbeans/spi/xml/cookies/package.html | 75 +-
api.xml/apichanges.xml | 2 +-
api.xml/arch.xml | 49 +-
api.xml/doc/overview.html | 75 +-
api.xml/manifest.mf | 2 +-
api.xml/nbproject/org-netbeans-api-xml.sig | 156 +-
.../src/org/netbeans/api/xml/actions/package.html | 75 +-
.../src/org/netbeans/api/xml/options/package.html | 75 +-
api.xml/src/org/netbeans/api/xml/package.html | 75 +-
.../src/org/netbeans/api/xml/parsers/package.html | 75 +-
.../src/org/netbeans/api/xml/resources/XML.html | 16 +-
.../src/org/netbeans/api/xml/services/package.html | 75 +-
api.xml/src/org/netbeans/spi/xml/package.html | 75 +-
.../src/org/netbeans/spi/xml/services/package.html | 75 +-
.../org/netbeans/modules/apisupport/ant/antlib.xml | 39 +
apisupport.ant/manifest.mf | 2 +-
.../apisupport/project/NbProjectProviderImpl.java | 104 +-
.../java/hints/errors/SearchModuleDependency.java | 11 +-
.../project/resources/emptyApplication.html | 16 +-
.../apisupport/project/resources/emptyModule.html | 16 +-
.../apisupport/project/resources/emptySuite.html | 16 +-
.../modules/apisupport/project/resources/layer.xml | 39 +
.../project/resources/libraryModule.html | 16 +-
.../resources/license-cddl-netbeans-sun.txt | 4 +-
.../project/suite/resources/platform.xsl | 39 +
.../project/ui/customizer/AddModulePanel.java | 16 +-
.../project/universe/HarnessVersion.java | 8 +-
.../CustomerDBAccess/build.xml | 45 +-
.../CustomerDBAccess/nbproject/project.properties | 37 +
.../CustomerDBAccess/nbproject/project.xml | 39 +
.../CustomerDBAccess/src/META-INF/eclipselink.xml | 39 +
.../CustomerDBAccess/src/META-INF/toplink.xml | 39 +
.../CustomerDBAccessLibrary/build.xml | 39 +
.../nbproject/project.properties | 37 +
.../CustomerDBAccessLibrary/nbproject/project.xml | 39 +
.../nbproject/suite.properties | 37 +
.../netbeans/modules/customerdb/Bundle.properties | 37 +
.../CustomerEditor/build.xml | 39 +
.../CustomerEditor/nbproject/platform.properties | 37 +
.../CustomerEditor/nbproject/project.properties | 37 +
.../CustomerEditor/nbproject/project.xml | 39 +
.../CustomerEditor/nbproject/suite.properties | 37 +
.../modules/customereditor/Bundle.properties | 37 +
.../customereditor/EditorTopComponentSettings.xml | 39 +-
.../customereditor/EditorTopComponentWstcref.xml | 39 +-
.../org/netbeans/modules/customereditor/layer.xml | 2 +-
.../CustomerViewer/build.xml | 39 +
.../CustomerViewer/nbproject/platform.properties | 37 +
.../CustomerViewer/nbproject/project.properties | 37 +
.../CustomerViewer/nbproject/project.xml | 39 +
.../CustomerViewer/nbproject/suite.properties | 37 +
.../modules/customerviewer/Bundle.properties | 37 +
.../CustomerTopComponentSettings.xml | 39 +-
.../customerviewer/CustomerTopComponentWstcref.xml | 39 +-
.../org/netbeans/modules/customerviewer/layer.xml | 2 +-
.../org/netbeans/core/startup/Bundle.properties | 37 +
.../core/windows/view/ui/Bundle.properties | 37 +
.../crud-sample-application/build.xml | 39 +
.../derbyclient-library/build.xml | 39 +
.../nbproject/project.properties | 37 +
.../derbyclient-library/nbproject/project.xml | 39 +
.../derbyclient-library/nbproject/suite.properties | 37 +
.../modules/derbyclientlibrary/Bundle.properties | 37 +
.../nbproject/platform.properties | 37 +
.../crud-sample-application/nbproject/platform.xml | 39 +
.../nbproject/project.properties | 37 +
.../crud-sample-application/nbproject/project.xml | 39 +
apisupport.crudsample/manifest.mf | 2 +-
apisupport.crudsample/nbproject/project.properties | 37 +
apisupport.crudsample/nbproject/project.xml | 39 +
.../apisupport/crudsample/Bundle.properties | 37 +
.../crudsample/SampleAppDescription.html | 16 +-
.../modules/apisupport/crudsample/layer.xml | 2 +-
.../external/binaries-list | 0
.../feedreader-suite/FeedReader/build.xml | 39 +
.../FeedReader/nbproject/project.properties | 39 +-
.../FeedReader/nbproject/project.xml | 39 +
.../FeedReader/nbproject/suite.properties | 37 +
apisupport.feedreader/feedreader-suite/build.xml | 39 +
.../feedreader-suite/jdom/build.xml | 39 +
.../jdom/nbproject/project.properties | 37 +
.../feedreader-suite/jdom/nbproject/project.xml | 39 +
.../jdom/nbproject/suite.properties | 37 +
.../feedreader-suite/nbproject/platform.properties | 37 +
.../feedreader-suite/nbproject/platform.xml | 39 +
.../feedreader-suite/nbproject/project.properties | 37 +
.../feedreader-suite/nbproject/project.xml | 39 +
.../feedreader-suite/rome-fetcher/build.xml | 39 +
.../rome-fetcher/nbproject/project.properties | 37 +
.../rome-fetcher/nbproject/project.xml | 39 +
.../rome-fetcher/nbproject/suite.properties | 37 +
.../feedreader-suite/rome/build.xml | 39 +
.../rome/nbproject/project.properties | 37 +
.../feedreader-suite/rome/nbproject/project.xml | 39 +
.../rome/nbproject/suite.properties | 37 +
apisupport.feedreader/manifest.mf | 2 +-
.../apisupport/feedreader/Bundle.properties | 37 +
.../feedreader/FeedReaderDescription.html | 16 +-
.../external/binaries-list | 0
apisupport.harness/manifest.mf | 2 +-
apisupport.harness/release/etc/Info.plist | 39 +
apisupport.harness/release/etc/app.conf | 36 +
apisupport.harness/release/launchers/app.sh | 39 +-
apisupport.harness/windows-launcher-src/Makefile | 45 +-
apisupport.harness/windows-launcher-src/app.cpp | 3 +-
apisupport.harness/windows-launcher-src/app.rc | 36 +
.../windows-launcher-src/applauncher.cpp | 3 +-
.../windows-launcher-src/applauncher.h | 3 +-
.../nbproject/Makefile-app.exe.mk | 102 -
.../nbproject/Makefile-app64.exe.mk | 102 -
.../nbproject/Makefile-impl.mk | 133 -
.../nbproject/Makefile-variables.mk | 35 -
.../nbproject/Package-app.exe.bash | 75 -
.../nbproject/Package-app64.exe.bash | 75 -
.../nbproject/configurations.xml | 39 +
.../nbproject/project.properties | 37 +
.../windows-launcher-src/nbproject/project.xml | 39 +
apisupport.installer.maven/build.xml | 39 +
apisupport.installer.maven/manifest.mf | 2 +-
.../nbproject/project.properties | 37 +
apisupport.installer.maven/nbproject/project.xml | 39 +
.../apisupport/installer/maven/Bundle.properties | 37 +
apisupport.installer/build.xml | 39 +
apisupport.installer/manifest.mf | 2 +-
apisupport.installer/nbproject/project.properties | 37 +
apisupport.installer/nbproject/project.xml | 39 +
.../modules/apisupport/installer/Bundle.properties | 37 +
.../apisupport/installer/ui/Bundle.properties | 38 +
apisupport.kit/build.xml | 39 +
apisupport.kit/manifest.mf | 2 +-
apisupport.kit/nbproject/project.properties | 37 +
apisupport.kit/nbproject/project.xml | 43 +-
apisupport.kit/release/VERSION.txt | 2 +-
.../modules/apisupport/kit/Bundle.properties | 37 +
apisupport.osgidemo/manifest.mf | 2 +-
apisupport.osgidemo/nbproject/project.properties | 37 +
apisupport.osgidemo/nbproject/project.xml | 39 +
.../org/netbeans/core/startup/Bundle.properties | 37 +
.../core/windows/view/ui/Bundle.properties | 37 +
apisupport.osgidemo/osgidemo/build.xml | 39 +
.../osgidemo/nbproject/platform.properties | 38 +
.../osgidemo/nbproject/platform.xml | 39 +
.../osgidemo/nbproject/project.properties | 37 +
apisupport.osgidemo/osgidemo/nbproject/project.xml | 39 +
apisupport.osgidemo/osgidemo/showbundles/build.xml | 39 +
.../showbundles/nbproject/project.properties | 37 +
.../osgidemo/showbundles/nbproject/project.xml | 39 +
.../showbundles/nbproject/suite.properties | 37 +
.../demo/osgi/showbundles/Bundle.properties | 37 +
.../ShowBundlesTopComponentSettings.xml | 39 +-
.../showbundles/ShowBundlesTopComponentWstcref.xml | 39 +-
.../org/netbeans/demo/osgi/showbundles/layer.xml | 39 +
.../modules/apisupport/osgidemo/Bundle.properties | 37 +
.../apisupport/osgidemo/SampleAppDescription.html | 16 +-
.../osgidemo/SampleFelixDescription.html | 16 +-
.../netbeans/modules/apisupport/osgidemo/layer.xml | 2 +-
.../PaintApp-suite/ColorChooser/build.xml | 39 +
.../ColorChooser/nbproject/project.properties | 37 +
.../ColorChooser/nbproject/project.xml | 39 +
.../ColorChooser/nbproject/suite.properties | 37 +
apisupport.paintapp/PaintApp-suite/Paint/build.xml | 39 +
.../Paint/nbproject/project.properties | 39 +-
.../PaintApp-suite/Paint/nbproject/project.xml | 39 +
.../Paint/nbproject/suite.properties | 37 +
.../Paint/src/org/netbeans/paint/layer.xml | 39 +
apisupport.paintapp/PaintApp-suite/build.xml | 39 +
.../PaintApp-suite/nbproject/platform.properties | 38 +
.../PaintApp-suite/nbproject/platform.xml | 39 +
.../PaintApp-suite/nbproject/project.properties | 37 +
.../PaintApp-suite/nbproject/project.xml | 39 +
apisupport.paintapp/manifest.mf | 2 +-
.../modules/apisupport/paintapp/Bundle.properties | 37 +
.../apisupport/paintapp/PaintAppDescription.html | 16 +-
.../netbeans/modules/apisupport/paintapp/layer.xml | 2 +-
apisupport.project/manifest.mf | 2 +-
.../project/ui/resources/hidden-resolver.xml | 39 +
apisupport.refactoring/build.xml | 39 +
apisupport.refactoring/manifest.mf | 2 +-
apisupport.restsample/manifest.mf | 2 +-
apisupport.restsample/nbproject/project.properties | 37 +
apisupport.restsample/nbproject/project.xml | 39 +
.../org/netbeans/core/startup/Bundle.properties | 37 +
.../core/windows/view/ui/Bundle.properties | 37 +
.../rest-sample-application/build.xml | 39 +
.../nbproject/platform.properties | 38 +
.../nbproject/project.properties | 37 +
.../rest-sample-application/nbproject/project.xml | 39 +
.../rest-sample-module/build.xml | 39 +
.../nbproject/platform.properties | 38 +
.../nbproject/project.properties | 37 +
.../rest-sample-module/nbproject/project.xml | 39 +
.../rest-sample-module/nbproject/suite.properties | 37 +
.../apisupport/restsample/Bundle.properties | 37 +
.../restsample/RESTSampleDescription.html | 11 +-
.../modules/apisupport/restsample/layer.xml | 2 +-
apisupport.wizards/build.xml | 39 +
apisupport.wizards/manifest.mf | 2 +-
apisupport.wizards/nbproject/project.properties | 37 +
apisupport.wizards/nbproject/project.xml | 39 +
.../project/ui/wizard/action/newAction.html | 16 +-
.../ui/wizard/codegenerator/newCodeGenerator.html | 16 +-
.../apisupport/project/ui/wizard/html/newHTML.html | 20 +-
.../project/ui/wizard/javahint/Bundle.properties | 37 +
.../project/ui/wizard/javahint/javaHint.html | 16 +-
.../project/ui/wizard/layer/newLayer.html | 39 +
.../librarydescriptor/emptyLibraryDescriptor.html | 16 +-
.../project/ui/wizard/loader/newLoader.html | 16 +-
.../ui/wizard/moduleinstall/newModuleInstall.html | 16 +-
.../project/ui/wizard/options/newOptions.html | 16 +-
.../project/ui/wizard/project/Bundle.properties | 39 +-
.../project/ui/wizard/project/newProject.html | 16 +-
.../ui/wizard/quicksearch/newQuickSearch.html | 16 +-
.../ui/wizard/updatecenter/newUpdateCenter.html | 16 +-
.../project/ui/wizard/winsys/newLayout.html | 16 +-
.../apisupport/project/ui/wizard/winsys/newTC.html | 16 +-
.../project/ui/wizard/winsys/polishing.xsl | 41 +-
.../project/ui/wizard/wizard/newWizard.html | 16 +-
applemenu/build.xml | 1 +
applemenu/manifest.mf | 2 +-
applemenu/src/com/apple/eawt/AboutHandler.java | 56 +
applemenu/src/com/apple/eawt/AppEvent.java | 96 +
applemenu/src/com/apple/eawt/AppEventListener.java | 52 +
applemenu/src/com/apple/eawt/Application.java | 38 +-
.../src/com/apple/eawt/ApplicationAdapter.java | 63 -
applemenu/src/com/apple/eawt/ApplicationEvent.java | 60 -
.../src/com/apple/eawt/ApplicationListener.java | 62 -
applemenu/src/com/apple/eawt/CocoaComponent.java | 61 -
applemenu/src/com/apple/eawt/OpenFilesHandler.java | 55 +
applemenu/src/com/apple/eawt/OpenURIHandler.java | 56 +
.../src/com/apple/eawt/PreferencesHandler.java | 55 +
.../src/com/apple/eawt/PrintFilesHandler.java | 55 +
applemenu/src/com/apple/eawt/QuitHandler.java | 55 +
applemenu/src/com/apple/eawt/QuitResponse.java | 55 +
applemenu/src/com/apple/eawt/QuitStrategy.java | 54 +
applemenu/src/java/awt/Desktop.java | 62 +
applemenu/src/java/awt/desktop/AboutEvent.java | 51 +
applemenu/src/java/awt/desktop/AboutHandler.java | 53 +
applemenu/src/java/awt/desktop/AppEvent.java | 55 +
applemenu/src/java/awt/desktop/FilesEvent.java | 57 +
applemenu/src/java/awt/desktop/OpenFilesEvent.java | 53 +
.../src/java/awt/desktop/OpenFilesHandler.java | 53 +
.../src/java/awt/desktop/PreferencesEvent.java | 53 +
.../src/java/awt/desktop/PreferencesHandler.java | 53 +
applemenu/src/java/awt/desktop/QuitEvent.java | 51 +
applemenu/src/java/awt/desktop/QuitHandler.java | 53 +
applemenu/src/java/awt/desktop/QuitResponse.java | 54 +
applemenu/src/java/awt/desktop/QuitStrategy.java | 54 +
.../modules/applemenu/ApplePopupFactory.java | 453 -
.../org/netbeans/modules/applemenu/Install.java | 38 +-
.../modules/applemenu/NbApplicationAdapter.java | 107 +-
.../applemenu/NbApplicationAdapterJDK8.java | 106 +
.../applemenu/NbApplicationAdapterJDK9.java | 109 +
autoupdate.cli/build.xml | 9 +-
autoupdate.cli/manifest.mf | 2 +-
autoupdate.cli/nbproject/project.properties | 9 +-
autoupdate.cli/nbproject/project.xml | 9 +-
.../modules/autoupdate/cli/ModuleOptions.java | 2 +-
autoupdate.pluginimporter/build.xml | 39 +
autoupdate.pluginimporter/manifest.mf | 2 +-
.../nbproject/project.properties | 37 +
autoupdate.pluginimporter/nbproject/project.xml | 39 +
.../autoupdate/pluginimporter/Bundle.properties | 37 +
.../autoupdate/pluginimporter/Installer.java | 2 +-
autoupdate.services/build.xml | 45 +-
.../libsrc/org/netbeans/updater/ModuleUpdater.java | 4 +-
.../updater/resources/autoupdate-catalog-1_0.dtd | 39 +
.../updater/resources/autoupdate-catalog-2_0.dtd | 39 +
.../updater/resources/autoupdate-catalog-2_2.dtd | 39 +
.../updater/resources/autoupdate-catalog-2_3.dtd | 39 +
.../updater/resources/autoupdate-catalog-2_4.dtd | 39 +
.../updater/resources/autoupdate-catalog-2_5.dtd | 39 +
.../updater/resources/autoupdate-catalog-2_6.dtd | 39 +
.../updater/resources/autoupdate-catalog-2_7.dtd | 39 +
.../updater/resources/autoupdate-info-1_0.dtd | 39 +
.../updater/resources/autoupdate-info-2_0.dtd | 39 +
.../updater/resources/autoupdate-info-2_2.dtd | 39 +
.../updater/resources/autoupdate-info-2_3.dtd | 39 +
.../updater/resources/autoupdate-info-2_4.dtd | 39 +
.../updater/resources/autoupdate-info-2_5.dtd | 39 +
.../updater/resources/autoupdate-info-2_7.dtd | 39 +
autoupdate.services/manifest.mf | 2 +-
.../org-netbeans-modules-autoupdate-services.sig | 6 +-
autoupdate.services/nbproject/project.properties | 37 +
autoupdate.services/nbproject/project.xml | 39 +
autoupdate.services/src/META-INF/translate.names | 37 +
.../src/org/netbeans/api/autoupdate/package.html | 75 +-
.../modules/autoupdate/services/Bundle.properties | 39 +-
.../services/resources/Bundle.properties | 37 +
.../autoupdate/updateprovider/Bundle.properties | 37 +
.../autoupdate/updateprovider/NetworkAccess.java | 72 +-
.../doc-files/autoupdate-catalog-2_4.dtd | 39 +
.../autoupdate/doc-files/autoupdate-info-2_4.dtd | 39 +
.../src/org/netbeans/spi/autoupdate/package.html | 75 +-
.../src/org/netbeans/api/autoupdate/mf-layer.xml | 12 +-
autoupdate.ui/apichanges.xml | 6 +-
autoupdate.ui/arch.xml | 45 +-
autoupdate.ui/build.xml | 39 +
autoupdate.ui/manifest.mf | 2 +-
.../org-netbeans-modules-autoupdate-ui.sig | 2 +-
autoupdate.ui/nbproject/project.properties | 37 +
autoupdate.ui/nbproject/project.xml | 39 +
.../modules/autoupdate/ui/Bundle.properties | 37 +
.../autoupdate/ui/actions/Bundle.properties | 37 +
.../autoupdate/ui/resources/Bundle.properties | 37 +
.../autoupdate/ui/wizards/Bundle.properties | 37 +
beans/nbproject/project.properties | 2 +-
.../beans/addproperty/AddPropertyConfig.java | 2 +-
.../modules/beans/addproperty/Bundle.properties | 39 +-
.../modules/beans/resources/templates/Bean.html | 75 +-
.../beans/resources/templates/BeanInfo.html | 75 +-
.../modules/beans/resources/templates/Beans.html | 75 +-
.../beans/resources/templates/Customizer.html | 75 +-
.../beans/resources/templates/PropertyEditor.html | 75 +-
beans/sub.locale.xml | 41 +-
.../data/projects/Beans/nbproject/build-impl.xml | 2 +-
.../netbeans/test/beans/operators/AddProperty.java | 41 +-
bugtracking.bridge/build.xml | 39 +
bugtracking.bridge/manifest.mf | 2 +-
bugtracking.bridge/nbproject/project.properties | 37 +
bugtracking.bridge/nbproject/project.xml | 39 +
.../netbeans/modules/bugtracking/bridge/layer.xml | 39 +
bugtracking.commons/build.xml | 39 +
bugtracking.commons/manifest.mf | 2 +-
bugtracking.commons/nbproject/project.properties | 37 +
bugtracking.commons/nbproject/project.xml | 39 +
.../modules/bugtracking/issuetable/IssueTable.java | 7 +-
bugtracking.commons/var/bugtracking/storage | Bin 10 -> 0 bytes
bugtracking/arch.xml | 45 +-
bugtracking/build.xml | 39 +
bugtracking/manifest.mf | 2 +-
.../nbproject/org-netbeans-modules-bugtracking.sig | 5 +-
bugtracking/nbproject/project.properties | 39 +-
bugtracking/nbproject/project.xml | 39 +
.../netbeans/modules/bugtracking/IssueImpl.java | 11 +-
.../modules/bugtracking/RepositoryImpl.java | 48 +
.../modules/bugtracking/RepositoryRegistry.java | 110 +-
.../src/org/netbeans/modules/bugtracking/layer.xml | 39 +
.../modules/bugtracking/settings/Bundle.properties | 37 +
.../bugtracking/spi/BugtrackingSupport.java | 9 +-
.../bugtracking/tasks/TaskSchedulingManager.java | 47 +-
.../bugtracking/ui/issue/IssueTopComponent.java | 3 +-
.../ui/issue/IssueTopComponentSettings.xml | 39 +-
.../ui/issue/IssueTopComponentWstcref.xml | 39 +-
.../ui/query/QueryTopComponentSettings.xml | 39 +-
.../ui/query/QueryTopComponentWstcref.xml | 39 +-
.../bugtracking/ui/search/Bundle.properties | 2 +-
.../bugtracking/ui/search/QuickSearchComboBar.java | 35 +-
.../bugtracking/ui/search/QuickSearchPopup.java | 63 +-
.../ui/selectors/RepositoryFormPanel.java | 1 +
.../ui/selectors/RepositorySelectorBuilder.java | 3 +-
.../modules/bugtracking/util/IssueFinderUtils.java | 3 +
.../modules/bugtracking/RepositoryImplTest.java | 119 +
.../bugtracking/RepositoryRegistryTest.java | 2 +
.../org/netbeans/modules/bugtracking/TestKit.java | 32 +
.../netbeans/modules/bugtracking/TestQuery.java | 2 +-
bugtracking/var/bugtracking/storage | Bin 10 -> 0 bytes
bugzilla.exceptionreporter/build.xml | 39 +
bugzilla.exceptionreporter/manifest.mf | 2 +-
.../nbproject/project.properties | 37 +
bugzilla.exceptionreporter/nbproject/project.xml | 39 +
bugzilla/build.xml | 39 +
bugzilla/manifest.mf | 2 +-
bugzilla/nbproject/project.properties | 37 +
bugzilla/nbproject/project.xml | 49 +-
.../bugzilla/commands/BugzillaExecutor.java | 22 +-
.../modules/bugzilla/issue/BugzillaIssue.java | 18 +-
.../modules/bugzilla/issue/Bundle.properties | 2 +-
.../modules/bugzilla/issue/CommentsPanel.java | 24 +-
.../modules/bugzilla/issue/IssuePanel.java | 4 +-
.../modules/bugzilla/query/QueryController.java | 39 +-
.../modules/bugzilla/query/QueryPanel.java | 4 -
.../modules/bugzilla/query/ControllerTest.java | 1 +
c.google.guava/build.xml | 44 +
c.google.guava/external/binaries-list | 1 +
...m.google.guava-15.0.0.v201403281430-license.txt | 208 +
c.google.guava/manifest.mf | 1 +
c.google.guava/nbproject/project.properties | 40 +
c.google.guava/nbproject/project.xml | 54 +
c.googlecode.javaewah.JavaEWAH/build.xml | 39 +
.../external/binaries-list | 0
.../nbproject/project.properties | 37 +
.../nbproject/project.xml | 39 +
.../external/binaries-list | 0
.../external/binaries-list | 0
c.jcraft.jzlib/nbproject/project.properties | 2 +-
classfile/closure/build.xml | 39 +
classfile/closure/nbproject/project.properties | 37 +
classfile/closure/nbproject/project.xml | 39 +
.../modules/classfile/closure/Closure.java | 6 +-
classfile/manifest.mf | 2 +-
.../src/org/netbeans/modules/classfile/Access.java | 6 +-
.../org/netbeans/modules/classfile/Annotation.java | 6 +-
.../modules/classfile/AnnotationComponent.java | 6 +-
.../modules/classfile/ArrayElementValue.java | 2 +
.../netbeans/modules/classfile/AttributeMap.java | 6 +-
.../modules/classfile/BootstrapMethod.java | 4 +-
.../org/netbeans/modules/classfile/ByteCodes.java | 6 +-
.../netbeans/modules/classfile/CPClassInfo.java | 6 +-
.../netbeans/modules/classfile/CPDoubleInfo.java | 6 +-
.../org/netbeans/modules/classfile/CPEntry.java | 6 +-
.../netbeans/modules/classfile/CPFieldInfo.java | 6 +-
.../modules/classfile/CPFieldMethodInfo.java | 6 +-
.../netbeans/modules/classfile/CPFloatInfo.java | 6 +-
.../netbeans/modules/classfile/CPIntegerInfo.java | 6 +-
.../modules/classfile/CPInterfaceMethodInfo.java | 6 +-
.../modules/classfile/CPInvokeDynamicInfo.java | 6 +-
.../org/netbeans/modules/classfile/CPLongInfo.java | 6 +-
.../modules/classfile/CPMethodHandleInfo.java | 6 +-
.../netbeans/modules/classfile/CPMethodInfo.java | 6 +-
.../modules/classfile/CPMethodTypeInfo.java | 6 +-
.../src/org/netbeans/modules/classfile/CPName.java | 6 +-
.../modules/classfile/CPNameAndTypeInfo.java | 6 +-
.../netbeans/modules/classfile/CPStringInfo.java | 6 +-
.../org/netbeans/modules/classfile/CPUTF8Info.java | 6 +-
.../modules/classfile/ClassElementValue.java | 2 +
.../org/netbeans/modules/classfile/ClassFile.java | 6 +-
.../src/org/netbeans/modules/classfile/Code.java | 6 +-
.../netbeans/modules/classfile/ConstantPool.java | 6 +-
.../modules/classfile/ConstantPoolReader.java | 6 +-
.../netbeans/modules/classfile/ElementValue.java | 6 +-
.../modules/classfile/EnclosingMethod.java | 6 +-
.../modules/classfile/EnumElementValue.java | 2 +
.../modules/classfile/ExceptionTableEntry.java | 6 +-
.../src/org/netbeans/modules/classfile/Field.java | 6 +-
.../org/netbeans/modules/classfile/InnerClass.java | 6 +-
.../classfile/InvalidClassFormatException.java | 6 +-
.../modules/classfile/LocalVariableTableEntry.java | 6 +-
.../classfile/LocalVariableTypeTableEntry.java | 6 +-
.../src/org/netbeans/modules/classfile/Method.java | 6 +-
.../modules/classfile/NestedElementValue.java | 2 +
.../org/netbeans/modules/classfile/Parameter.java | 6 +-
.../modules/classfile/PrimitiveElementValue.java | 2 +
.../org/netbeans/modules/classfile/Variable.java | 6 +-
.../org/netbeans/modules/classfile/package.html | 75 +-
classfile/test/Closure.java | 6 +-
classfile/test/ElapsedTimer.java | 6 +-
classfile/test/PrintClass.java | 6 +-
classfile/test/PrintClassFile.java | 6 +-
classfile/test/ScanJar.java | 6 +-
.../test/unit/src/regression/Issue219426Test.java | 43 +-
cloud.amazon/build.xml | 39 +
cloud.amazon/manifest.mf | 2 +-
cloud.amazon/nbproject/project.properties | 37 +
cloud.amazon/nbproject/project.xml | 39 +
.../modules/cloud/amazon/Bundle.properties | 37 +
.../cloud/amazon/ui/AmazonWizardComponent.java | 4 +-
.../cloud/amazon/ui/serverplugin/Bundle.properties | 39 +-
cloud.common/build.xml | 39 +
cloud.common/manifest.mf | 2 +-
cloud.common/nbproject/project.properties | 37 +
cloud.common/nbproject/project.xml | 39 +
.../modules/cloud/common/Bundle.properties | 37 +
cnd.analysis.api/build.xml | 39 +
cnd.analysis.api/manifest.mf | 2 +-
cnd.analysis.api/nbproject/project.properties | 37 +
cnd.analysis.api/nbproject/project.xml | 50 +-
.../modules/cnd/analysis/api/AbstractAnalyzer.java | 40 +-
.../analysis/api/AbstractCustomizerProvider.java | 40 +-
.../cnd/analysis/api/AbstractHintsPanel.java | 40 +-
.../modules/cnd/analysis/api/AnalyzerRequest.java | 40 +-
.../modules/cnd/analysis/api/AnalyzerResponse.java | 40 +-
.../modules/cnd/analysis/api/Bundle.properties | 37 +
.../cnd/analysis/api/CodeAuditProviderImpl.java | 39 +-
.../netbeans/modules/cnd/analysis/api/layer.xml | 39 +
.../cnd/analysis/api/options/Bundle.properties | 37 +
.../api/options/HintsOptionsPanelController.java | 9 +-
.../cnd/analysis/api/options/HintsPanel.java | 262 +-
.../cnd/analysis/api/options/HintsPanelLogic.java | 9 +-
cnd.analysis.impl/build.xml | 39 +
cnd.analysis.impl/manifest.mf | 2 +-
cnd.analysis.impl/nbproject/project.properties | 37 +
cnd.analysis.impl/nbproject/project.xml | 39 +
.../modules/cnd/analysis/impl/ScopeProvider.java | 39 +-
.../cnd/analysis/impl/resources/Bundle.properties | 37 +
cnd.antlr/build.xml | 58 +-
cnd.antlr/nbproject/project.properties | 39 +-
cnd.antlr/nbproject/project.xml | 39 +
.../modules/cnd/antlr/CharScannerNoEx.java | 47 +-
.../org/netbeans/modules/cnd/antlr/Context.java | 47 +-
.../netbeans/modules/cnd/antlr/LLkParserNoEx.java | 47 +-
.../modules/cnd/antlr/MatchExceptionState.java | 47 +-
.../org/netbeans/modules/cnd/antlr/TokenImpl.java | 47 +-
.../netbeans/modules/cnd/antlr/TreeParserNoEx.java | 47 +-
cnd.api.model/nbproject/project.properties | 39 +-
cnd.api.model/nbproject/project.xml | 45 +-
.../CsmExpressionBasedSpecializationParameter.java | 11 -
.../cnd/api/model/CsmInitializerListContainer.java | 13 +-
.../modules/cnd/api/model/CsmOffsetableName.java | 11 -
.../cnd/api/model/CsmSpecializationParameter.java | 11 -
.../netbeans/modules/cnd/api/model/CsmType.java | 5 +
.../model/CsmTypeBasedSpecializationParameter.java | 11 -
.../cnd/api/model/resources/Bundle.properties | 2 +-
.../api/model/services/CsmClassifierResolver.java | 303 -
.../model/services/CsmFileLanguageProvider.java | 62 -
.../modules/cnd/api/model/services/CsmTypes.java | 221 -
.../api/model/support/CsmClassifierResolver.java | 313 +
.../api/model/support/CsmFileLanguageProvider.java | 62 +
.../modules/cnd/api/model/support/CsmTypes.java | 237 +
.../cnd/api/model/util/CsmBaseUtilities.java | 53 +-
.../cnd/spi/model/CsmBaseUtilitiesProvider.java | 59 +-
.../modules/cnd/spi/model/TypesProvider.java | 2 +-
cnd.api.project/build.xml | 39 +
cnd.api.project/nbproject/project.properties | 39 +-
cnd.api.project/nbproject/project.xml | 83 +-
.../cnd/api/project/DefaultSystemSettings.java | 14 +-
.../modules/cnd/api/project/IncludePath.java | 134 +
.../modules/cnd/api/project/NativeFileItem.java | 29 +-
.../modules/cnd/api/project/NativeFileItemSet.java | 8 +-
.../modules/cnd/api/project/NativeFileSearch.java | 3 +-
.../modules/cnd/api/project/NativeProject.java | 27 +-
.../cnd/api/project/NativeProjectItemsAdapter.java | 2 +-
.../api/project/NativeProjectItemsListener.java | 3 +-
.../cnd/api/project/NativeProjectSupport.java | 100 +-
.../project/support/NativeFileItemSetProvider.java | 138 +-
cnd.api.remote.ui/build.xml | 44 +
cnd.api.remote.ui/manifest.mf | 6 +
cnd.api.remote.ui/nbproject/project.properties | 40 +
cnd.api.remote.ui/nbproject/project.xml | 190 +
.../cnd/api/remote/ui/RemoteFileChooserUtil.java | 285 +
.../api/remote/ui/SelectHostWizardProvider.java | 89 +
.../modules/cnd/api/remote/ui/ServerListUI.java | 156 +
.../cnd/api/remote/ui/resources/Bundle.properties | 39 +
.../remote/ui/SelectHostWizardProviderFactory.java | 54 +
cnd.api.remote/build.xml | 39 +
cnd.api.remote/nbproject/project.properties | 39 +-
cnd.api.remote/nbproject/project.xml | 73 +-
.../modules/cnd/api/remote/RemoteFileUtil.java | 224 -
.../cnd/api/remote/SelectHostWizardProvider.java | 89 -
.../modules/cnd/api/remote/ServerListUI.java | 156 -
.../remote/SelectHostWizardProviderFactory.java | 54 -
cnd.apt/nbproject/project.properties | 39 +-
cnd.apt/nbproject/project.xml | 50 +-
.../org/netbeans/modules/cnd/apt/Bundle.properties | 2 +-
.../modules/cnd/apt/debug/APTTraceFlags.java | 2 +-
.../apt/impl/support/APTHandlersSupportImpl.java | 10 +-
.../apt/impl/support/APTIncludeResolverImpl.java | 5 +-
.../apt/impl/support/APTMacroParamExpansion.java | 15 +-
.../modules/cnd/apt/impl/support/aptlexer.g | 16 +-
.../support/clank/APTToClankCompilationDB.java | 22 +-
.../apt/impl/support/clank/ClankDriverImpl.java | 6 -
.../clank/ClankFileObjectBasedFileSystem.java | 52 +-
.../support/clank/ClankFileSystemProviderImpl.java | 42 +-
.../support/clank/ClankIncludeHandlerImpl.java | 26 +-
.../support/clank/ClankMacroExpandedToken.java | 182 +
.../impl/support/clank/ClankMemoryBufferImpl.java | 47 +-
.../apt/impl/support/clank/ClankPPCallback.java | 82 +-
.../apt/impl/support/clank/ClankToAPTToken.java | 25 +-
.../apt/impl/support/clank/ClankToAPTUtils.java | 61 +-
.../modules/cnd/apt/support/APTAbstractWalker.java | 11 +-
.../modules/cnd/apt/support/APTExpandedStream.java | 2 +-
.../modules/cnd/apt/support/APTFileSearch.java | 3 +-
.../cnd/apt/support/APTHandlersSupport.java | 4 +-
.../modules/cnd/apt/support/APTIncludeFake.java | 13 +-
.../cnd/apt/support/APTIncludePathStorage.java | 8 +-
.../modules/cnd/apt/support/APTSystemStorage.java | 3 +-
.../modules/cnd/apt/support/APTWalker.java | 7 +-
.../modules/cnd/apt/support/IncludeDirEntry.java | 17 +-
.../modules/cnd/apt/support/api/StartEntry.java | 6 +
.../cnd/apt/support/lang/APTFortranEOSFilter.java | 17 +-
.../cnd/apt/support/lang/APTFortranFilterEx.java | 2 +-
.../cnd/apt/support/lang/APTGnuCpp11Filter.java | 9 +
.../cnd/apt/support/lang/APTStdCFilter.java | 5 +
.../support/spi/APTFileSearchImplementation.java | 4 +-
.../netbeans/modules/cnd/apt/utils/APTUtils.java | 27 +-
.../cnd/apt/impl/support/clank/ClankToAPTTest.java | 11 +-
cnd.asm/build.xml | 47 +-
cnd.asm/nbproject/project.properties | 39 +-
cnd.asm/nbproject/project.xml | 41 +-
.../org/netbeans/modules/cnd/asm/base/amd64.xml | 57 +-
.../org/netbeans/modules/cnd/asm/base/sparc5.xml | 41 +-
.../cnd/asm/core/assistance/Bundle.properties | 37 +
.../cnd/asm/core/dataobjects/Bundle.properties | 37 +
.../cnd/asm/core/resources/Bundle.properties | 52 +-
.../resources/NavigatorTopComponentSettings.xml | 39 +
.../resources/NavigatorTopComponentWstcref.xml | 39 +
.../core/resources/NetBeans-Asm-fontsColors.xml | 69 +-
.../modules/cnd/asm/core/resources/asm-file.html | 11 +-
.../modules/cnd/asm/core/resources/il-file.html | 13 +-
.../modules/cnd/asm/core/resources/layer.xml | 50 +-
.../modules/cnd/asm/core/ui/menu/Bundle.properties | 37 +
.../modules/cnd/asm/core/ui/top/Bundle.properties | 41 +-
cnd.callgraph/build.xml | 39 +
cnd.callgraph/nbproject/project.properties | 39 +-
cnd.callgraph/nbproject/project.xml | 39 +
.../modules/cnd/callgraph/Bundle.properties | 37 +
.../callgraph/CallGraphTopComponentSettings.xml | 39 +-
.../cnd/callgraph/CallGraphTopComponentWstcref.xml | 39 +-
.../modules/cnd/callgraph/impl/Bundle.properties | 37 +
.../modules/cnd/callgraph/impl/CallGraphPanel.java | 3 +-
.../modules/cnd/callgraph/impl/CallGraphScene.java | 44 +-
.../cnd/callgraph/impl/RelativePathRouter.java | 40 +-
.../org/netbeans/modules/cnd/callgraph/layer.xml | 39 +
.../cnd/callgraph/support/Bundle.properties | 37 +
cnd.classview/nbproject/project.properties | 39 +-
cnd.classview/nbproject/project.xml | 51 +-
.../modules/cnd/classview/ClassifierKeyArray.java | 2 +-
.../cnd/classview/actions/Bundle.properties | 2 +-
.../cnd/classview/model/ClassifierNode.java | 2 +-
.../cnd/classview/resources/Bundle.properties | 2 +-
.../cnd/classview/resources/classview.wstcref | 39 +
.../cnd/classview/resources/component.settings | 39 +
cnd.cncppunit/build.xml | 39 +
cnd.cncppunit/nbproject/project.properties | 41 +-
cnd.cncppunit/nbproject/project.xml | 61 +-
.../modules/cnd/cncppunit/Bundle.properties | 37 +
.../modules/cnd/cncppunit/LibraryChecker.java | 7 +-
.../editor/filecreation/TestCUnitIterator.java | 2 +-
.../editor/filecreation/TestCppUnitIterator.java | 2 +-
.../org/netbeans/modules/cnd/cncppunit/layer.xml | 39 +
.../cnd/cncppunit/resources/cppunitrunner.html | 75 +-
.../cnd/cncppunit/resources/cppunittest.html | 75 +-
.../cnd/cncppunit/resources/cunittest-c.html | 75 +-
.../cnd/cncppunit/resources/test-cppunit.html | 11 +-
.../cnd/cncppunit/resources/test-cunit.html | 11 +-
.../modules/cnd/cncppunit/resources/testFiles.html | 11 +-
cnd.completion/nbproject/project.properties | 41 +-
cnd.completion/nbproject/project.xml | 55 +-
.../cnd/completion/cplusplus/CsmFinderFactory.java | 2 +-
.../cnd/completion/cplusplus/CsmFinderImpl.java | 2 +-
.../completion/cplusplus/NbCsmCompletionQuery.java | 13 +-
.../cplusplus/ext/CompletionSupport.java | 444 +-
.../completion/cplusplus/ext/CsmCompletion.java | 124 +-
.../cplusplus/ext/CsmCompletionExpression.java | 41 +-
.../cplusplus/ext/CsmCompletionQuery.java | 727 +-
.../cplusplus/ext/CsmCompletionTokenProcessor.java | 347 +-
.../cplusplus/ext/CsmExpandedTokenProcessor.java | 2 +-
.../completion/cplusplus/ext/CsmResultItem.java | 2 +-
.../hyperlink/CsmAbstractHyperlinkProvider.java | 2 +-
.../hyperlink/CsmDefineHyperlinkProvider.java | 20 +-
.../cplusplus/hyperlink/CsmHyperlinkProvider.java | 4 +-
.../hyperlink/CsmIncludeHyperlinkProvider.java | 19 +-
.../cplusplus/hyperlink/LineHyperlinkProvider.java | 2 +-
.../cnd/completion/csm/CompletionResolver.java | 2 +
.../cnd/completion/csm/CompletionResolverImpl.java | 19 +-
.../cnd/completion/csm/CompletionUtilities.java | 37 +-
.../cnd/completion/csm/CsmContextUtilities.java | 337 +-
.../cnd/completion/csm/CsmOffsetResolver.java | 34 +-
.../completion/csm/CsmProjectContentResolver.java | 288 +-
.../cnd/completion/csm/CsmStatementResolver.java | 65 +-
.../cnd/completion/impl/xref/ReferenceImpl.java | 2 +-
.../completion/impl/xref/ReferencesSupport.java | 15 +-
.../includes/CsmIncludeCompletionQuery.java | 45 +-
.../keywords/CsmKeywordCompletionItem.java | 9 +-
.../keywords/CsmKeywordsCompletionProvider.java | 14 +-
.../cnd/completion/options/Bundle.properties | 37 +
.../cnd/completion/templates/Bundle.properties | 37 +
.../templates/CppCodeTemplateProcessor.java | 3 +
cnd.completion/test/popular-commands.sh | 37 +-
.../hyperlink/BasicHyperlinkTestCase/bug246684.cpp | 9 +
.../hyperlink/BasicHyperlinkTestCase/bug255900.cpp | 5 +
.../hyperlink/BasicHyperlinkTestCase/bug255900.h | 5 +
.../hyperlink/BasicHyperlinkTestCase/bug256296.cpp | 10 +
.../hyperlink/BasicHyperlinkTestCase/bug257031.cpp | 17 +
.../hyperlink/BasicHyperlinkTestCase/bug257647.cpp | 16 +
.../hyperlink/BasicHyperlinkTestCase/bug258143.cpp | 91 +
.../hyperlink/BasicHyperlinkTestCase/bug258511.cpp | 10 +
.../hyperlink/BasicHyperlinkTestCase/bug267275.cpp | 11 +
.../hyperlink/BasicHyperlinkTestCase/bug267382.cpp | 21 +
.../ClassMembersHyperlinkTestCase/bug242719.cpp | 28 +
.../ClassMembersHyperlinkTestCase/bug246680.c | 13 +
.../ClassMembersHyperlinkTestCase/bug255898.c | 5 +
.../ClassMembersHyperlinkTestCase/bug255898.h | 5 +
.../ClassMembersHyperlinkTestCase/bug255903.c | 22 +
.../ClassMembersHyperlinkTestCase/bug257821.c | 21 +
.../ClassMembersHyperlinkTestCase/bug257822.c | 26 +
.../ClassMembersHyperlinkTestCase/bug262407.cpp | 8 +
.../hyperlink/Cpp11TemplatesTestCase/bug257038.cpp | 47 +
.../hyperlink/Cpp11TemplatesTestCase/bug262801.cpp | 18 +
.../hyperlink/Cpp11TemplatesTestCase/bug267502.cpp | 26 +
.../hyperlink/Cpp11TemplatesTestCase/bug267655.cpp | 43 +
.../hyperlink/Cpp11TestCase/bug247031.cpp | 59 +
.../hyperlink/Cpp11TestCase/bug256058.cpp | 111 +
.../hyperlink/Cpp11TestCase/bug256739.cpp | 19 +
.../hyperlink/Cpp11TestCase/bug257616.cpp | 12 +
.../hyperlink/Cpp11TooltipsTestCase/bug257827.cpp | 12 +
.../hyperlink/Cpp11TooltipsTestCase/bug261006.cpp | 16 +
.../hyperlink/Cpp11TooltipsTestCase/bug261517.cpp | 9 +
.../src/bug257028.cpp | 11 +
.../src/bug257032.cpp | 8 +
.../src/bug267668.cpp | 10 +
.../sys_include/bug257028_1.h | 6 +
.../sys_include/bug257032.h | 9 +
.../sys_include2/bug257028_2.h | 17 +
.../sys_include2/bug267668.h | 14 +
.../NamespacesHyperlinkTestCase/bug256058_2.cpp | 19 +
.../NamespacesHyperlinkTestCase/bug257187.cpp | 12 +
.../TemplateSpecializationsTestCase/bug216095.cpp | 20 +
.../TemplateSpecializationsTestCase/bug256700.cpp | 47 +
.../TemplateSpecializationsTestCase/bug262586.cpp | 85 +
.../cnd/completion/CCBasicCompletionTestCase.java | 3 +-
.../completion/SmartCompletionInQuoteTestCase.java | 11 -
.../completion/TemplateInstantiationTestCase.java | 11 -
.../hyperlink/BasicHyperlinkTestCase.java | 143 +-
.../hyperlink/ClassMembersHyperlinkTestCase.java | 153 +-
.../hyperlink/Cpp11TemplatesTestCase.java | 21 +
.../cplusplus/hyperlink/Cpp11TestCase.java | 65 +-
.../cplusplus/hyperlink/Cpp11TooltipsTestCase.java | 48 +
.../hyperlink/InstantiationHyperlinkTestCase.java | 18 +-
.../LibrariesContentHyperlinkTestCase.java | 12 +
.../hyperlink/NamespacesHyperlinkTestCase.java | 70 +-
.../hyperlink/TemplateSpecializationsTestCase.java | 52 +-
cnd.debugger.common2/build.xml | 41 +-
cnd.debugger.common2/manifest.mf | 2 +-
cnd.debugger.common2/nbproject/project.properties | 40 +-
cnd.debugger.common2/nbproject/project.xml | 121 +-
.../cnd/debugger/common2/DbgActionHandler.java | 10 +-
.../debugger/common2/DbgAttachActionHandler.java | 89 +
.../common2/DbgAttachActionHandlerFactory.java | 84 +
.../common2/NativeDebuggerManagerAccessor.java | 82 +
.../debugger/common2/debugger/Bundle.properties | 1 +
.../debugger/common2/debugger/EvalAnnotation.java | 16 +-
.../cnd/debugger/common2/debugger/LocalModel.java | 1 +
.../common2/debugger/ModelChangeDelegator.java | 107 +-
.../debugger/common2/debugger/NativeDebugger.java | 4 +-
.../common2/debugger/NativeDebuggerImpl.java | 76 +-
.../common2/debugger/NativeDebuggerInfo.java | 30 +
.../common2/debugger/NativeDebuggerManager.java | 138 +-
.../debugger/NativePinWatchValueProvider.java | 153 +
.../cnd/debugger/common2/debugger/ToolTipView.java | 399 +-
.../cnd/debugger/common2/debugger/WatchBag.java | 26 +-
.../cnd/debugger/common2/debugger/WatchModel.java | 84 +-
.../debugger/common2/debugger/WatchVariable.java | 2 +-
.../actions/AttachOutputActionProvider.java | 10 +-
.../common2/debugger/actions/AttachPanel.java | 27 +-
.../debugger/actions/CompileDebugAction.java | 2 +-
.../common2/debugger/actions/ProjectSupport.java | 10 +-
.../common2/debugger/assembly/Disassembly.java | 20 +-
.../debugger/breakpoints/BreakpointBag.java | 26 +-
.../debugger/breakpoints/BreakpointFilter.java | 4 +-
.../debugger/breakpoints/BreakpointManager.java | 4 +-
.../debugger/breakpoints/types/LineBreakpoint.java | 4 +
.../breakpoints/types/LineBreakpointPanel.java | 9 +-
.../common2/debugger/io/ConsoleTopComponent.java | 4 +-
.../debugger/io/DebuggerExternalTerminal.java | 21 +-
.../cnd/debugger/common2/debugger/io/IOProxy.java | 15 +-
.../common2/debugger/io/NewTermComponent.java | 6 +-
.../common2/debugger/io/PioTopComponent.java | 4 +-
.../common2/debugger/io/TermComponentFactory.java | 2 +-
.../debugger/options/DbgProfileNodeProvider.java | 6 +-
.../components/DisassemblerWindow.settings | 41 +-
.../resources/components/EvaluationWindow.settings | 41 +-
.../resources/components/MemoryWindow.settings | 41 +-
.../resources/components/RegistersWindow.settings | 41 +-
.../common2/resources/debugconfiguration-1_0.dtd | 45 +-
.../common2/resources/debugoptions-1_0.dtd | 41 +-
.../debugger/common2/resources/filesystems.wstcref | 39 +
.../groups/debugger/DisassemblerWindow.wstcgrp | 39 +
.../groups/debugger/EvaluationWindow.wstcgrp | 39 +
.../resources/groups/debugger/MemoryWindow.wstcgrp | 39 +
.../groups/debugger/RegistersWindow.wstcgrp | 39 +
.../cnd/debugger/common2/resources/layer.xml | 4 +-
.../modes/debugger/EvaluationWindow.wstcref | 39 +
.../resources/modes/debugger/MemoryWindow.wstcref | 39 +
.../modes/debugger/RegistersWindow.wstcref | 39 +
.../modes/editor/DisassemblerWindow.wstcref | 39 +
.../modes/output/ConsoleTopComponentWstcref.xml | 39 +-
.../modes/output/PioTopComponentWstcref.xml | 39 +-
.../resources/modes/output/callstack.wstcref | 39 +
.../common2/resources/modes/output/locals.wstcref | 39 +
.../resources/modes/output/navigatorTC.wstcref | 39 +
.../resources/modes/output/sessions.wstcref | 39 +
.../common2/resources/modes/output/threads.wstcref | 39 +
.../common2/resources/modes/output/watches.wstcref | 39 +
.../cnd/debugger/common2/utils/ExecutorCND.java | 91 +-
.../cnd/debugger/common2/utils/PsProvider.java | 46 +-
.../utils/options/OptionDirectoriesEditor.java | 5 +-
.../utils/options/OptionDirectoryEditor.java | 3 +-
.../common2/debugger/EvalAnnotationTest.java | 29 +-
cnd.debugger.gdb2/build.xml | 39 +
cnd.debugger.gdb2/nbproject/project.properties | 39 +-
cnd.debugger.gdb2/nbproject/project.xml | 52 +-
.../org.netbeans.spi.viewmodel.ColumnModel | 1 +
.../ToolTipView/javax.swing.AbstractButton | 2 +
....netbeans.spi.viewmodel.AsynchronousModelFilter | 2 +
.../org.netbeans.spi.viewmodel.ColumnModel | 0
.../org.netbeans.spi.viewmodel.NodeActionsProvider | 3 +
.../org.netbeans.spi.viewmodel.NodeModelFilter | 4 +
.../org.netbeans.spi.viewmodel.TableModel | 3 +
.../org.netbeans.spi.viewmodel.TreeExpansionModel | 3 +
.../org.netbeans.spi.viewmodel.TreeModel | 3 +
.../modules/cnd/debugger/gdb2/GdbDebuggerImpl.java | 2382 +-
.../modules/cnd/debugger/gdb2/GdbDisassembly.java | 10 +-
.../debugger/gdb2/GdbPinWatchValueProvider.java | 59 +
.../modules/cnd/debugger/gdb2/GdbUtils.java | 7 +-
.../modules/cnd/debugger/gdb2/GdbVariable.java | 2 +
.../cnd/debugger/gdb2/GdbVersionPeculiarity.java | 57 +-
.../modules/cnd/debugger/gdb2/GdbWatch.java | 1 +
.../netbeans/modules/cnd/debugger/gdb2/Tap.java | 34 +-
.../modules/cnd/debugger/gdb2/ValuePresenter.java | 21 +-
.../modules/cnd/debugger/gdb2/mi/MIRecord.java | 2 +-
.../modules/cnd/debugger/gdb2/mi/package.html | 39 +
.../gdb2/peculiarity/PeculiarityTestCase.java | 35 +-
cnd.discovery/build.xml | 2 +-
cnd.discovery/external/binaries-list | 1 +
cnd.discovery/nbproject/project.properties | 41 +-
cnd.discovery/nbproject/project.xml | 105 +-
.../modules/cnd/discovery/Bundle.properties | 2 +-
.../cnd/discovery/api/BuildTraceSupport.java | 189 +-
.../modules/cnd/discovery/api/Configuration.java | 6 +
.../discovery/api/DiscoveryExtensionInterface.java | 2 +-
.../modules/cnd/discovery/api/DriverFactory.java | 230 +-
.../modules/cnd/discovery/api/ProjectImpl.java | 14 +-
.../modules/cnd/discovery/api/QtInfoProvider.java | 85 +-
.../buildsupport/BuildProjectActionHandler.java | 84 +-
.../BuildProjectActionHandlerFactory.java | 7 +-
.../buildsupport/ToolsWrapperUtility.java | 258 +
.../org/netbeans/modules/cnd/discovery/layer.xml | 6 +-
.../cnd/discovery/performance/Bundle.properties | 39 +-
.../performance/NotifyProjectProblem.java | 3 +
.../cnd/discovery/performance/StatisticPanel.java | 12 +-
.../cnd/discovery/projectimport/Bundle.properties | 13 +-
.../projectimport/CreateDependencies.java | 34 +-
.../discovery/projectimport/ExecuteCommand.java | 116 +-
.../cnd/discovery/projectimport/FollowUp.form | 2 +-
.../cnd/discovery/projectimport/FollowUp.java | 2 +
.../discovery/projectimport/ImportExecutable.java | 50 +-
.../cnd/discovery/projectimport/ImportProject.java | 321 +-
.../discovery/services/DiscoveryManagerImpl.java | 20 +-
.../services/UserOptionsProviderImpl.java | 29 +-
.../discovery/wizard/BuildActionsProviderImpl.java | 22 +-
.../modules/cnd/discovery/wizard/Bundle.properties | 4 +-
.../cnd/discovery/wizard/DiscoveryExtension.java | 26 +-
.../discovery/wizard/DiscoveryWizardAction.java | 3 +-
.../wizard/DiscoveryWizardDescriptor.java | 56 +-
.../wizard/ExpandableEditableComboBox.java | 116 +
.../cnd/discovery/wizard/ProviderControl.java | 16 +-
.../cnd/discovery/wizard/SelectProviderPanel.form | 2 +-
.../cnd/discovery/wizard/SelectProviderPanel.java | 38 +-
.../discovery/wizard/api/DiscoveryDescriptor.java | 29 +
.../discovery/wizard/api/support/Bundle.properties | 2 +-
.../wizard/api/support/ProjectBridge.java | 96 +-
.../wizard/support/impl/Bundle.properties | 2 +-
.../cnd/discovery/project/MakeProjectTestBase.java | 47 +-
.../project/cases/SimpleScriptTestCase.java | 2 +-
cnd.discovery/tools/BuildTrace/Makefile | 42 +
cnd.discovery/tools/BuildTrace/compile.bash | 44 +
.../BuildTrace/nbproject/Makefile-SunOS-Previse.mk | 7 +-
.../nbproject/Makefile-SunOS-Previse_64.mk | 78 +
.../BuildTrace/nbproject/Makefile-SunOS-x86.mk | 5 -
.../BuildTrace/nbproject/Makefile-SunOS-x86_64.mk | 5 -
.../tools/BuildTrace/nbproject/Makefile-impl.mk | 4 +-
.../BuildTrace/nbproject/Makefile-variables.mk | 8 +
.../nbproject/Package-SunOS-Previse_64.bash | 76 +
.../tools/BuildTrace/nbproject/configurations.xml | 87 +-
.../tools/BuildTrace/nbproject/launcher.properties | 80 +
.../tools/BuildTrace/nbproject/project.properties | 37 +
.../tools/BuildTrace/nbproject/project.xml | 43 +
cnd.discovery/tools/BuildTrace/test.awk | 23 +
cnd.discovery/tools/BuildTrace/test.bash | 74 +
cnd.discovery/tools/ToolsWrapperUnix/wrapper | 18 +
cnd.discovery/tools/ToolsWrapperWidows/Makefile | 147 +
.../nbproject/Makefile-Unix_64.mk | 84 +
.../nbproject/Makefile-Windows_32.mk | 84 +
.../ToolsWrapperWidows/nbproject/Makefile-impl.mk | 133 +
.../nbproject/Makefile-variables.mk | 35 +
.../nbproject/Package-Unix_64.bash | 76 +
.../nbproject/Package-Windows_32.bash | 76 +
.../nbproject/configurations.xml | 113 +
.../nbproject/launcher.properties | 61 +
.../tools/ToolsWrapperWidows/nbproject/project.xml | 68 +
cnd.discovery/tools/ToolsWrapperWidows/src/args.c | 161 +
cnd.dwarfdiscovery/build.xml | 2 +-
cnd.dwarfdiscovery/nbproject/project.properties | 39 +-
cnd.dwarfdiscovery/nbproject/project.xml | 73 +-
.../modules/cnd/dwarfdiscovery/Bundle.properties | 2 +-
.../cnd/dwarfdiscovery/RemoteJavaExecution.java | 43 +-
.../dwarfdiscovery/provider/AnalyzeExecLog.java | 45 +-
.../dwarfdiscovery/provider/AnalyzeExecutable.java | 10 +-
.../cnd/dwarfdiscovery/provider/AnalyzeFolder.java | 8 +-
.../dwarfdiscovery/provider/AnalyzeMakeLog.java | 46 +-
.../dwarfdiscovery/provider/BaseDwarfProvider.java | 17 +-
.../cnd/dwarfdiscovery/provider/BaseProvider.java | 21 +-
.../cnd/dwarfdiscovery/provider/Bundle.properties | 6 +-
.../cnd/dwarfdiscovery/provider/ExecLogReader.java | 98 +-
.../cnd/dwarfdiscovery/provider/MakeLogReader.java | 61 +-
.../dwarfdiscovery/provider/RelocatableImpl.java | 14 +-
.../provider/CompileLineServiceTest.java | 16 +-
.../dwarfdiscovery/provider/LddServiceTest.java | 24 +-
cnd.dwarfdump/build.xml | 2 +-
cnd.dwarfdump/build_cli.xml | 2 +-
cnd.dwarfdump/nbproject/project.properties | 39 +-
cnd.dwarfdump/nbproject/project.xml | 41 +
.../modules/cnd/dwarfdump/CompilationUnit.java | 14 +-
.../modules/cnd/dwarfdump/CompileLineService.java | 8 +-
.../org/netbeans/modules/cnd/dwarfdump/Dwarf.java | 17 +-
.../netbeans/modules/cnd/dwarfdump/LddService.java | 2 +-
.../modules/cnd/dwarfdump/elf/ElfHeader.java | 26 +-
.../modules/cnd/dwarfdump/elf/SectionHeader.java | 20 +-
.../cnd/dwarfdump/reader/ByteStreamReader.java | 2 +-
.../modules/cnd/dwarfdump/reader/ElfReader.java | 17 +-
.../cnd/dwarfdump/reader/MyRandomAccessFile.java | 33 +-
.../cnd/dwarfdump/resources/Bundle.properties | 2 +-
.../cnd/dwarfdump/source/DefaultDriver.java | 7 +-
.../modules/cnd/dwarfdump/source/Driver.java | 18 +
.../modules/cnd/dwarfdump/trace/TraceDwarf.java | 2 +-
cnd.editor/build.xml | 39 +
cnd.editor/nbproject/project.properties | 39 +-
cnd.editor/nbproject/project.xml | 75 +-
.../netbeans/modules/cnd/editor/Bundle.properties | 37 +
.../modules/cnd/editor/cos/COSRedirectorImpl.java | 6 +-
.../cnd/editor/cplusplus/BracketCompletion.java | 8 +
.../modules/cnd/editor/indent/CppIndentTask.java | 19 +
.../modules/cnd/editor/indent/IndentSupport.java | 2 +-
.../src/org/netbeans/modules/cnd/editor/layer.xml | 52 +-
.../modules/cnd/editor/options/Bundle.properties | 316 +-
.../modules/cnd/editor/options/EditorOptions.java | 4 +-
.../cnd/editor/options/EditorPropertySheet.java | 28 +-
.../modules/cnd/editor/reformat/BracesStack.java | 14 +-
.../cnd/editor/reformat/ContextDetector.java | 3 +
.../cnd/editor/reformat/ExtendedTokenSequence.java | 63 +
.../cnd/editor/reformat/ReformatterImpl.java | 72 +-
.../modules/cnd/editor/reformat/StackEntry.java | 159 +-
.../editor/resources/DefaultKeyBindings-Mac.xml | 4 +-
.../cnd/editor/resources/DefaultKeyBindings.xml | 6 +-
.../resources/cplusplus/SAMPLE_AlignBraces.c | 39 -
.../resources/cplusplus/SAMPLE_AlignBraces.cpp | 49 -
.../editor/resources/cplusplus/SAMPLE_BlankLines.c | 20 -
.../resources/cplusplus/SAMPLE_BlankLines.cpp | 21 -
.../cnd/editor/resources/cplusplus/SAMPLE_Spaces.c | 35 -
.../editor/resources/cplusplus/SAMPLE_Spaces.cpp | 41 -
.../resources/cplusplus/SAMPLE_TabsIndents.c | 40 -
.../resources/cplusplus/SAMPLE_TabsIndents.cpp | 45 -
.../fortran/Netbeans-Fortran-fontsColors.xml | 2 +-
.../cnd/editor/cplusplus/FormatterTestCase.java | 140 +-
.../cnd/editor/cplusplus/IndentTestCase.java | 51 +
cnd.gotodeclaration/build.xml | 2 +-
cnd.gotodeclaration/nbproject/project.properties | 39 +-
cnd.gotodeclaration/nbproject/project.xml | 51 +-
.../cnd/gotodeclaration/symbol/Bundle.properties | 37 +
.../symbol/CppSymbolDescriptor.java | 56 +-
.../gotodeclaration/symbol/CppSymbolProvider.java | 57 +-
.../cnd/gotodeclaration/type/CppTypeProvider.java | 2 +-
.../element/providers/CppSymbolBaseTestCase.java | 7 +-
cnd.highlight/build.xml | 2 +-
cnd.highlight/nbproject/project.properties | 39 +-
cnd.highlight/nbproject/project.xml | 59 +-
.../modules/cnd/highlight/error/Bundle.properties | 2 +-
.../highlight/error/IdentifierErrorProvider.java | 2 +-
.../cnd/highlight/error/includes/Bundle.properties | 2 +-
.../error/includes/ErrorIncludeDialog.java | 50 +-
.../cnd/highlight/hints/NoMatchingConstructor.java | 23 +
.../cnd/highlight/hints/NonVirtualMethod.java | 27 +-
.../hints/formatstring/FormatStringAudit.java | 236 +-
.../hints/formatstring/FormattedPrintFunction.java | 18 +-
.../highlight/hints/formatstring/Utilities.java | 46 +-
.../cnd/highlight/resources/Bundle.properties | 2 +-
.../cnd/highlight/resources/DefaultKeyBindings.xml | 18 +-
.../modules/cnd/highlight/resources/layer.xml | 9 +-
.../cnd/highlight/security/FunctionUsageAudit.java | 106 +-
.../cnd/highlight/semantic/Bundle.properties | 2 +-
.../semantic/MarkOccurrencesHighlighter.java | 10 +-
.../modules/cnd/highlight/semantic/ModelUtils.java | 4 +-
.../semantic/SemanticEntitiesProvider.java | 11 +-
.../cnd/highlight/semantic/SemanticEntity.java | 2 +-
.../highlight/semantic/SemanticHighlighter.java | 14 +-
.../highlight/semantic/actions/Bundle.properties | 4 +-
.../semantic/actions/GotoNextOccurrenceAction.java | 3 +-
.../semantic/actions/GotoPrevOccurrenceAction.java | 3 +-
.../options/SemanticHighlightingOptionsPanel.java | 2 +-
.../UnresolvedIdentifierTest/bug257030.cpp.dat | 1 +
.../UnresolvedIdentifierTest/iz155459.cpp.dat | 2 +
.../FormatStringTest/src_bug254476.c.dat | 1 +
.../FormatStringTest/src_bug257545.c.dat | 1 +
.../FormatStringTest/src_bug267505.cpp.dat | 1 +
.../src_general_negative_test.cpp.dat | 39 +
.../error/MissingGuardBlockTest/bug257048.h | 4 +
.../error/UnresolvedIdentifierTest/bug257030.cpp | 8 +
.../formatstring/FormatStringTest/src/bug254435.c | 7 +
.../FormatStringTest/src/bug254469.cpp | 18 +
.../formatstring/FormatStringTest/src/bug254472.c | 13 +
.../FormatStringTest/src/bug254475.cpp | 12 +
.../formatstring/FormatStringTest/src/bug254476.c | 7 +
.../formatstring/FormatStringTest/src/bug254500.c | 9 +
.../formatstring/FormatStringTest/src/bug254508.c | 7 +
.../formatstring/FormatStringTest/src/bug254545.c | 16 +
.../formatstring/FormatStringTest/src/bug254580.c | 14 +
.../FormatStringTest/src/bug254803.cpp | 10 +
.../formatstring/FormatStringTest/src/bug255083.c | 10 +
.../formatstring/FormatStringTest/src/bug255270.c | 9 +
.../formatstring/FormatStringTest/src/bug255378.c | 7 +
.../formatstring/FormatStringTest/src/bug255693.c | 7 +
.../formatstring/FormatStringTest/src/bug256254.c | 10 +
.../formatstring/FormatStringTest/src/bug256321.c | 6 +
.../formatstring/FormatStringTest/src/bug257545.c | 5 +
.../FormatStringTest/src/bug259130.cpp | 7 +
.../FormatStringTest/src/bug267505.cpp | 7 +
.../FormatStringTest/src/general_negative_test.cpp | 54 +
.../FormatStringTest/src/general_positive_test.cpp | 126 +
.../FormatStringTest/sys_includes/stdio.h | 1 +
.../error/ErrorHighlightingBaseTestCase.java | 33 +
.../cnd/highlight/error/MissingGuardBlockTest.java | 56 +
.../error/UnresolvedCpp11IdentifierTest.java | 10 +
.../highlight/error/UnresolvedIdentifierTest.java | 35 +-
.../hints/formatstring/FormatStringTest.java | 151 +
.../semantic/SemanticHighlightingTestBase.java | 2 +-
cnd.indexing/build.xml | 39 +
cnd.indexing/nbproject/project.properties | 39 +-
cnd.indexing/nbproject/project.xml | 39 +
.../modules/cnd/indexing/Bundle.properties | 37 +
cnd.kit/build.xml | 39 +
cnd.kit/bundle-check.sh | 46 +-
cnd.kit/findbugs.sh | 37 +-
cnd.kit/hudson/transplant.sh | 37 +-
cnd.kit/i18n-check-local.sh | 37 +-
cnd.kit/i18n-check.sh | 37 +-
cnd.kit/misc-build.xml | 13 +-
cnd.kit/nbproject/project.properties | 2 +-
cnd.kit/nbproject/project.xml | 85 +-
cnd.kit/release/VERSION.txt | 2 +-
cnd.kit/testdist-runner.sh | 37 +
cnd.lexer/build.xml | 39 +
cnd.lexer/nbproject/project.properties | 39 +-
cnd.lexer/nbproject/project.xml | 40 +
.../netbeans/cnd/api/lexer/CndLexerUtilities.java | 8 +-
.../src/org/netbeans/cnd/api/lexer/CppTokenId.java | 7 +-
.../src/org/netbeans/cnd/api/lexer/Filter.java | 11 -
.../org/netbeans/modules/cnd/lexer/CppLexer.java | 11 -
.../netbeans/modules/cnd/lexer/PreprocLexer.java | 11 -
.../modules/cnd/lexer/CndLexerUnitTest.java | 11 -
.../modules/cnd/lexer/CppLexerBatchTestCase.java | 468 +-
cnd.makeproject.source.bridge/build.xml | 39 +
.../nbproject/project.properties | 39 +-
.../nbproject/project.xml | 69 +-
.../bridge/DocumentLanguageFlavorProvider.java | 63 +-
.../source/bridge/resources/Bundle.properties | 37 +
cnd.makeproject.ui/build.xml | 44 +
cnd.makeproject.ui/manifest.mf | 7 +
cnd.makeproject.ui/nbproject/project.properties | 39 +
cnd.makeproject.ui/nbproject/project.xml | 479 +
.../api/ui/DatabaseProjectProviderEx.java | 52 +
.../modules/cnd/makeproject/api/ui/ItemEx.java | 348 +
.../api/ui/LogicalViewNodeProvider.java | 0
.../api/ui/LogicalViewNodeProviders.java | 0
.../api/ui/MakeProjectCustomizerAdaptor.java | 122 +
.../api/ui/MakeProjectCustomizerEx.java | 59 +
.../api/ui/MakeProjectLookupProviders.java | 56 +
.../api/ui/actions/AddExistingItemAction.java | 242 +
.../makeproject/api/ui}/actions/Bundle.properties | 0
.../api/ui/actions/MakeProjectPublicUtils.java | 60 +
.../api/ui/actions/NewFolderAction.java | 137 +
.../api/ui/configurations/BooleanNodeProp.java | 91 +
.../ui/configurations/BooleanReverseNodeProp.java | 95 +
.../api/ui/configurations/ComboStringNodeProp.java | 178 +
.../api/ui/configurations/CustomizerNode.java | 107 +
.../ui/configurations/CustomizerNodeProvider.java | 54 +
.../configurations/CustomizerRootNodeProvider.java | 102 +
.../ui/configurations/DebuggerCustomizerNode.java | 51 +
.../api/ui/configurations/IntNodeProp.java | 171 +
.../configurations/PrioritizedCustomizerNode.java | 62 +
.../api/ui/configurations/StringPanel.form | 36 +
.../api/ui/configurations/StringPanel.java | 116 +
.../api/ui/wizard/IteratorExtension.java | 107 +
.../api/ui/wizard/ProjectWizardPanels.java | 91 +
.../makeproject/api/ui/wizard/WizardConstants.java | 168 +
.../cnd/makeproject/ui/AddExternalItemAction.java | 133 +
.../modules/cnd/makeproject/ui/AnnotatedNode.java | 0
.../cnd/makeproject/ui/BaseMakeViewChildren.java | 208 +
.../modules/cnd/makeproject/ui/BrokenLinks.java | 157 +
.../makeproject/ui/BrokenReferencesSupport.java | 594 +
.../cnd/makeproject/ui/BrokenViewItemNode.java | 179 +
.../ui/BrokenViewItemRefreshSupport.java | 0
.../modules/cnd/makeproject/ui/Bundle.properties | 224 +
.../ui/DefaultMakeProjectLocationProviderImpl.java | 76 +
.../makeproject/ui/EnvProjectProblemsProvider.java | 319 +
.../cnd/makeproject/ui/ExternalFilesChildren.java | 85 +
.../cnd/makeproject/ui/ExternalFilesNode.java | 120 +
.../cnd/makeproject/ui/FolderSearchInfo.java | 169 +
.../modules/cnd/makeproject/ui/LoadingNode.java | 0
.../ui/LogicalFolderExtendedDelete.java | 0
.../cnd/makeproject/ui/LogicalFolderNode.java | 588 +
.../cnd/makeproject/ui/LogicalViewChildren.java | 251 +
.../makeproject/ui/MakeCustomizerProviderImpl.java | 408 +
.../makeproject/ui/MakeLogicalViewProvider.java | 570 +
.../makeproject/ui/MakeLogicalViewRootNode.java | 567 +
.../ui/MakeLogicalViewRootNodeBroken.java | 100 +
.../ui/MakeProjectFileProviderFactory.java | 475 +
.../makeproject/ui/MakeProjectGeneratorImpl.java | 364 +
.../cnd/makeproject/ui/MakeProjectSearchInfo.java | 154 +
.../cnd/makeproject/ui/MakeTemplateListener.java | 281 +
.../cnd/makeproject/ui/NodeActionFactory.java | 249 +
.../makeproject/ui/ProjectNodesRefreshSupport.java | 0
.../cnd/makeproject/ui/ProjectTabBridge.java | 0
.../cnd/makeproject/ui/PropertiesFolderAction.java | 119 +
.../cnd/makeproject/ui/PropertiesItemAction.java | 139 +
.../makeproject/ui/RefreshableItemsContainer.java | 0
.../makeproject/ui/RemoteDevelopmentAction.java | 266 +
.../cnd/makeproject/ui/RemoteSyncActions.java | 561 +
.../cnd/makeproject/ui/RemoveFolderAction.java | 103 +
.../cnd/makeproject/ui/RemoveItemAction.java | 101 +
.../cnd/makeproject/ui/ResolveEnvVarPanel.form | 0
.../cnd/makeproject/ui/ResolveEnvVarPanel.java | 182 +
.../cnd/makeproject/ui/ResolveReferencePanel.form | 0
.../cnd/makeproject/ui/ResolveReferencePanel.java | 0
.../cnd/makeproject/ui/SelectExecutablePanel.form | 0
.../cnd/makeproject/ui/SelectExecutablePanel.java | 494 +
.../cnd/makeproject/ui/SetConfigurationAction.java | 159 +
.../ui/TemplateAttributesProviderImpl.java | 171 +
.../cnd/makeproject/ui/ViewFolderPasteType.java | 231 +
.../modules/cnd/makeproject/ui/ViewItemNode.java | 466 +
.../cnd/makeproject/ui/ViewItemPasteType.java | 288 +
.../ui/actions/AddExistingFolderItemsAction.java | 228 +
.../makeproject/ui/actions/BatchBuildAction.java | 85 +
.../cnd/makeproject/ui/actions/Bundle.properties | 300 +
.../ui/actions/ConfigurationManagerAction.java | 85 +
.../ui/actions/ContextAwareWrapperAction.java | 0
.../ui/actions/CreateProjectAction.java | 80 +
.../makeproject/ui/actions/DebugDialogAction.java | 219 +
.../makeproject/ui/actions/DebugTestAction.java | 129 +
.../ui}/actions/DefaultProjectCopyPanel.form | 0
.../ui/actions/DefaultProjectCopyPanel.java | 476 +
.../ui}/actions/DefaultProjectDeletePanel.form | 0
.../ui/actions/DefaultProjectDeletePanel.java | 236 +
.../DefaultProjectOperationsImplementation.java | 471 +
.../ui}/actions/DefaultProjectRenamePanel.form | 0
.../ui/actions/DefaultProjectRenamePanel.java | 372 +
.../cnd/makeproject/ui/actions/FileProxy.java | 247 +
.../ui/actions/MakeProjectActionsSupport.java | 91 +
.../ui/actions/MakeProjectBuildHostAction.java | 0
.../ui/actions/MakeProjectConfigurationAction.java | 0
.../ui/actions/MakeProjectContextAwareAction.java | 0
.../actions/MakeProjectManageLaunchersAction.java | 97 +
.../ui/actions/MoreBuildActionsAction.java | 0
.../ui/actions/NewTestActionFactory.java | 441 +
.../makeproject/ui/actions/RunDialogAction.java | 265 +
.../cnd/makeproject/ui/actions/RunDialogPanel.form | 386 +
.../cnd/makeproject/ui/actions/RunDialogPanel.java | 1233 +
.../cnd/makeproject/ui/actions/RunTestAction.java | 142 +
.../makeproject/ui/actions/StepIntoTestAction.java | 131 +
.../ui/configurations/Bundle.properties | 527 +
.../ui/configurations/CompilerSetNodeProp.java | 259 +
.../ui/configurations/DebuggerChooserNodeProp.java | 150 +
.../DebuggerChooserProviderImpl.java | 127 +
.../ui/configurations/DevelopmentHostNodeProp.java | 200 +
.../ui/configurations/FormattingPropPanel.form | 146 +
.../ui/configurations/FormattingPropPanel.java | 427 +
.../ui/configurations/LibrariesNodeProp.java | 169 +
.../ui/configurations/LibrariesPanel.java | 413 +
.../ui/configurations/LibraryOptionPanel.form | 87 +
.../ui/configurations/LibraryOptionPanel.java | 189 +
.../ui/configurations/LicenseHeadersPanel.form | 151 +
.../ui/configurations/LicenseHeadersPanel.java | 479 +
.../configurations/LicensePanelContentHandler.java | 101 +
.../configurations/MacroExpandedEditorPanel.form | 81 +
.../configurations/MacroExpandedEditorPanel.java | 170 +
.../ui/configurations/MakeArtifactChooser.form | 75 +
.../ui/configurations/MakeArtifactChooser.java | 394 +
.../ui/configurations/OptionsEditorPanel.form | 108 +
.../ui/configurations/OptionsEditorPanel.java | 211 +
.../ui/configurations/OptionsNodeProp.java | 170 +
.../PackagingAddingFilesProgressPanel.form | 80 +
.../PackagingAddingFilesProgressPanel.java | 141 +
.../PackagingAdditionalInfoPanel.java | 134 +
.../ui/configurations/PackagingFiles4Panel.java | 62 +
.../configurations/PackagingFilesOuterPanel.form | 559 +
.../configurations/PackagingFilesOuterPanel.java | 662 +
.../ui/configurations/PackagingFilesPanel.java | 753 +
.../ui/configurations/PackagingInfoOuterPanel.form | 79 +
.../ui/configurations/PackagingInfoOuterPanel.java | 148 +
.../ui/configurations/PackagingInfoPanel.java | 451 +
.../ui/configurations/PackagingNewEntryPanel.form | 138 +
.../ui/configurations/PackagingNewEntryPanel.java | 274 +
.../ui/configurations/PackagingNewLinkPanel.form | 107 +
.../ui/configurations/PackagingNewLinkPanel.java | 181 +
.../ui/configurations/PackagingNodeProp.java | 164 +
.../ui/configurations/PackagingPanel.form | 37 +
.../ui/configurations/PackagingPanel.java | 188 +
.../ui/configurations/PkgConfigLibrary.form | 84 +
.../ui/configurations/PkgConfigLibrary.java | 357 +
.../ui/configurations/PlatformSpecificProp.java | 186 +
.../PrependToolCollectionPathNodeProp.java | 109 +
.../ui/configurations/ProjectPropPanel.form | 195 +
.../ui/configurations/ProjectPropPanel.java | 362 +
.../makeproject/ui/configurations/RWECheckBox.java | 80 +
.../configurations/RemoteSyncFactoryNodeProp.java | 126 +
.../configurations/RequiredProjectsNodeProp.java | 168 +
.../ui/configurations/RequiredProjectsPanel.java | 221 +
.../cnd/makeproject/ui/configurations/StateCA.java | 92 +
.../ui/configurations/StateCANodeProp.java | 174 +
.../makeproject/ui/configurations/StdLibPanel.form | 50 +
.../makeproject/ui/configurations/StdLibPanel.java | 168 +
.../ui/configurations/StringListNodeProp.java | 158 +
.../ui/configurations/StringNodeProp.java | 120 +
.../ui/configurations/StringRONodeProp.java | 67 +
.../ui/configurations/TableEditorPanel.java | 411 +
.../ui/configurations/VectorNodeProp.java | 163 +
.../customizer/ArchiverGeneralCustomizerNode.java | 164 +
.../ui/customizer/AssemblerCustomizerNode.java | 132 +
.../ui/customizer/BasicCompilerCustomizerNode.java | 82 +
.../ui/customizer/BuildCustomizerNode.java | 116 +
.../makeproject/ui/customizer/Bundle.properties | 500 +
.../ui/customizer/CCCCompilerCustomizerNode.java | 197 +
.../ui/customizer/CCCompilerCustomizerNode.java | 221 +
.../ui/customizer/CCompilerCustomizerNode.java | 205 +
.../customizer/CodeAssistanceCustomizerNode.java | 165 +
.../ui/customizer/CompileCustomizerNode.java | 92 +
.../customizer/CustomBuildItemCustomizerNode.java | 74 +
.../ui/customizer/CustomToolCustomizerNode.java | 75 +
.../ui/customizer/DevelopmentHostCustomizer.java | 149 +
.../ui/customizer/FolderNodeFactory.java | 131 +
.../ui/customizer/FormattingCustomizerNode.java | 81 +
.../customizer/FortranCompilerCustomizerNode.java | 140 +
.../ui/customizer/GeneralCustomizerNode.java | 80 +
.../ui/customizer/GeneralFolderCustomizerNode.java | 73 +
.../ui/customizer/GeneralItemCustomizerNode.java | 80 +
.../makeproject/ui/customizer/ItemNodeFactory.java | 325 +
.../ui/customizer/LaunchersCustomizerNode.java | 81 +
.../ui/customizer/LicenseCustomizerNode.java | 202 +
.../ui/customizer/LinkerGeneralCustomizerNode.java | 265 +
.../cnd/makeproject/ui/customizer/MakeContext.java | 252 +
.../makeproject/ui/customizer/MakeCustomizer.form | 165 +
.../makeproject/ui/customizer/MakeCustomizer.java | 853 +
.../ui/customizer/MakefileCustomizerNode.java | 420 +
.../ui/customizer/PackagingCustomizerNode.java | 224 +
.../ui/customizer/PreBuildCustomizerNode.java | 262 +
.../ui/customizer/ProjectNodeFactory.java | 334 +
.../makeproject/ui/customizer/PropertyNode.java | 86 +
.../ui/customizer/PropertyNodeChildren.java | 81 +
.../ui/customizer/ProxyItemConfiguration.java | 150 +
.../ui/customizer/QtCustomizerNode.java | 136 +
.../customizer/RequiredProjectsCustomizerNode.java | 90 +
.../ui/customizer/SharedItemConfiguration.java | 79 +
.../makeproject/ui/dialogs/AutoConfirmImpl.java | 68 +
.../ui/dialogs/BatchConfigurationSelectorImpl.java | 152 +
.../cnd/makeproject/ui/dialogs/Bundle.properties | 111 +
.../ui/dialogs/ConfigurationWarningPanel.form | 86 +
.../ui/dialogs/ConfigurationWarningPanel.java | 132 +
.../ui/dialogs/ConfirmCreateConnectionImpl.java | 66 +
.../ui/dialogs/ConfirmExtensionsImpl.form | 128 +
.../ui/dialogs/ConfirmExtensionsImpl.java | 269 +
.../ui/dialogs/ConfirmPlatformMismatchImpl.java | 78 +
.../makeproject/ui/dialogs/ConfirmVersionImpl.java | 83 +
.../ui/dialogs/ForbidBuildAnalyzerImpl.java | 87 +
.../ui/dialogs/NotifyCantConnectImpl.java | 64 +
.../ui/dialogs/ResolveRfsLibraryImpl.java | 78 +
.../editor/CndDocumentCodeStyleProviderImpl.java | 81 +
.../ui/launchers/actions/Bundle.properties | 101 +
.../ui/launchers/actions/LauncherAction.java | 289 +
.../ui/launchers/actions/LaunchersConfig.java | 689 +
.../ui/launchers/actions/LaunchersPanel.form | 440 +
.../ui/launchers/actions/LaunchersPanel.java | 1257 +
.../ui/launchers/actions/ManageLaunchers.java | 64 +
.../launchers/actions/resources/common_private.png | Bin 0 -> 837 bytes
.../launchers/actions/resources/common_public.png | Bin 0 -> 796 bytes
.../actions/resources/launcher_private.png | Bin 0 -> 825 bytes
.../actions/resources/launcher_public.png | Bin 0 -> 680 bytes
.../cnd/makeproject/ui/options/Bundle.properties | 0
.../ui/options/ProjectOptionsPanel.form | 0
.../ui/options/ProjectOptionsPanel.java | 326 +
.../ui/options/ProjectOptionsPanelController.java | 0
.../cnd/makeproject/ui/resources/Bundle.properties | 40 +
.../makeproject/ui/resources/MakeOptions.settings | 47 +
.../cnd/makeproject/ui/resources/binary.html | 48 +
.../ui/resources/brokenIncludeBadge.png | Bin
.../ui/resources/brokenProjectBadge.gif | Bin
.../cnd/makeproject/ui/resources/desktop.html | 48 +
.../cnd/makeproject/ui/resources/exclamation.gif | Bin
.../cnd/makeproject/ui/resources/general.gif | Bin
.../makeproject/ui/resources/importantFolder.gif | Bin
.../ui/resources/importantFolderOpened.gif | Bin
.../modules/cnd/makeproject/ui/resources/layer.xml | 593 +
.../cnd/makeproject/ui/resources/libraries.gif | Bin
.../ui/resources/logicalFilesFolder.gif | Bin
.../ui/resources/logicalFilesFolderOpened.gif | Bin
.../cnd/makeproject/ui/resources/makefile.html | 48 +
.../makeproject/ui/resources/newApplication.html | 48 +
.../ui/resources/newDynamicLibrary.html | 48 +
.../makeproject/ui/resources/newFullRemote.html | 49 +
.../makeproject/ui/resources/newQtApplication.html | 50 +
.../ui/resources/newQtDynamicLibrary.html | 50 +
.../ui/resources/newQtStaticLibrary.html | 50 +
.../makeproject/ui/resources/newStaticLibrary.html | 48 +
.../cnd/makeproject/ui/resources/rerun-mod.png | Bin
.../modules/cnd/makeproject/ui/resources/rerun.png | Bin
.../modules/cnd/makeproject/ui/resources/stop.png | Bin
.../modules/cnd/makeproject/ui/resources/test.gif | Bin
.../cnd/makeproject/ui/resources/testContainer.gif | Bin
.../cnd/makeproject/ui/resources/testFolder.gif | Bin
.../makeproject/ui/resources/testFolderOpened.gif | Bin
.../cnd/makeproject/ui/resources/tree_folder.gif | Bin
.../cnd/makeproject/ui/resources/waitNode.gif | Bin
.../makeproject/ui/runprofiles/Bundle.properties | 110 +
.../ui/runprofiles/ConsoleIntNodeProp.java | 124 +
.../ui/runprofiles/DirectoryChooserPanel.form | 69 +
.../ui/runprofiles/DirectoryChooserPanel.java | 151 +
.../cnd/makeproject/ui/runprofiles/EnvPanel.form | 111 +
.../cnd/makeproject/ui/runprofiles/EnvPanel.java | 266 +
.../ui/runprofiles/EventsProcessorActionsImpl.java | 263 +
.../makeproject/ui/runprofiles/ListTableModel.java | 180 +
.../makeproject/ui/runprofiles/RerunArguments.form | 60 +
.../makeproject/ui/runprofiles/RerunArguments.java | 139 +
.../ui/runprofiles/RunProfileNodeProvider.java | 370 +
.../cnd/makeproject/ui/utils/Bundle.properties | 94 +
.../makeproject/ui/utils/ConfSelectorPanel.form | 0
.../makeproject/ui/utils/ConfSelectorPanel.java | 0
.../ui/utils/DirectoryChooserInnerPanel.java | 171 +
.../ui/utils/DirectoryChooserPanel.form | 0
.../ui/utils/DirectoryChooserPanel.java | 357 +
.../ui/utils/ExpandableEditableComboBox.java | 117 +
.../makeproject/ui/utils/LongOperationImpl.java | 77 +
.../cnd/makeproject/ui/utils/PathPanel.form | 0
.../cnd/makeproject/ui/utils/PathPanel.java | 171 +
.../ui/utils/ProgressHandleFactoryImpl.java | 78 +
.../ui/utils/ResolveBuildToolsFactoryImpl.java | 100 +
.../makeproject/ui/utils/RunActionSupportImpl.java | 68 +
.../cnd/makeproject/ui/utils/StringListPanel.form | 0
.../cnd/makeproject/ui/utils/StringListPanel.java | 0
.../cnd/makeproject/ui/utils/TokenizerFactory.java | 292 +
.../makeproject/ui/wizards/BjamScripSupport.java | 0
.../ui/wizards/BuildActionsDescriptorPanel.java | 143 +
.../makeproject/ui/wizards/BuildActionsPanel.form | 0
.../makeproject/ui/wizards/BuildActionsPanel.java | 528 +
.../cnd/makeproject/ui/wizards/Bundle.properties | 483 +
.../makeproject/ui/wizards/CmakeScriptSupport.java | 193 +
.../ui/wizards/ConfigureScriptSupport.java | 0
.../ui/wizards/FileListEditorPanel.form | 0
.../ui/wizards/FileListEditorPanel.java | 424 +
.../cnd/makeproject/ui/wizards/FolderEntry.java | 0
.../ui/wizards/MakeSampleProjectIterator.java | 203 +
.../makeproject/ui/wizards/MakeScriptSupport.java | 165 +
.../ui/wizards/NewMakeProjectWizardIterator.java | 606 +
.../ui/wizards/NewProjectWizardUtils.java | 159 +
.../makeproject/ui/wizards/NinjaScriptSupport.java | 0
.../ui/wizards/PanelConfigureProject.java | 195 +
.../ui/wizards/PanelConfigureProjectVisual.form | 0
.../ui/wizards/PanelConfigureProjectVisual.java | 0
.../ui/wizards/PanelProjectLocationVisual.form | 0
.../ui/wizards/PanelProjectLocationVisual.java | 1467 +
.../ParserConfigurationDescriptorPanel.java | 143 +
.../ui/wizards/ParserConfigurationPanel.form | 0
.../ui/wizards/ParserConfigurationPanel.java | 558 +
.../ui/wizards/PreBuildActionDescriptorPanel.java | 146 +
.../ui/wizards/PreBuildActionPanel.form | 0
.../ui/wizards/PreBuildActionPanel.java | 848 +
.../makeproject/ui/wizards/QmakeScriptSupport.java | 201 +
.../makeproject/ui/wizards/SconsScriptSupport.java | 0
.../makeproject/ui/wizards/SelectBinaryPanel.java | 212 +
.../ui/wizards/SelectBinaryPanelVisual.form | 233 +
.../ui/wizards/SelectBinaryPanelVisual.java | 1297 +
.../ui/wizards/SelectModeDescriptorPanel.java | 506 +
.../makeproject/ui/wizards/SelectModePanel.form | 251 +
.../makeproject/ui/wizards/SelectModePanel.java | 716 +
.../cnd/makeproject/ui/wizards/SettingsPanel.java | 0
.../makeproject/ui/wizards/SourceFilesPanel.form | 0
.../makeproject/ui/wizards/SourceFilesPanel.java | 476 +
.../ui/wizards/SourceFoldersDescriptorPanel.java | 143 +
.../makeproject/ui/wizards/SourceFoldersPanel.form | 0
.../makeproject/ui/wizards/SourceFoldersPanel.java | 182 +
.../cnd/makeproject/ui/wizards/WizardStorage.java | 0
.../makeproj-with-link-PRJ-65-Makefile.mk | 0
.../nbproject/Makefile-Default.mk | 0
.../nbproject/Makefile-impl.mk | 0
.../nbproject/Package-Default.bash | 0
.../nbproject/configurations.xml | 0
.../nbproject/project.properties | 0
.../nbproject/project.xml | 0
.../Project_65_Test/makeproj-with-links/Makefile | 0
.../makeproj-with-links/makeproj-with-links-main.c | 0
.../makeproj-with-links/real_dir1/file2.c | 0
.../makeproj-with-links/real_dir2/file2.c | 0
.../cnd/makeproject/Project_65_Test/pre-process.sh | 0
.../modules/cnd/makeproject/Project_65_Test.java | 115 +
.../ui/configurations/QmakeProjectWriterTest.java | 194 +
.../ui/configurations/StringListNodePropTest.java | 131 +
.../ui/wizards/MakeSampleProjectIteratorTest.java | 376 +
cnd.makeproject/build.xml | 2 +-
cnd.makeproject/manifest.mf | 2 +-
cnd.makeproject/nbproject/project.properties | 41 +-
cnd.makeproject/nbproject/project.xml | 201 +-
.../samples_src/args/nbproject/configurations.xml | 39 +
.../samples_src/args/nbproject/project.xml | 39 +
.../fractal/nbproject/configurations.xml | 39 +
.../samples_src/fractal/nbproject/project.xml | 39 +
.../samples_src/freeway/FreewayWindow.cc | 2 +-
cnd.makeproject/samples_src/freeway/README.txt | 6 +-
cnd.makeproject/samples_src/freeway/callbacks.cc | 6 +-
cnd.makeproject/samples_src/freeway/main.cc | 2 +-
.../freeway/nbproject/configurations.xml | 39 +
.../samples_src/freeway/nbproject/project.xml | 39 +
.../samples_src/hello/nbproject/configurations.xml | 39 +
.../samples_src/hello/nbproject/project.xml | 39 +
.../hello1lib/nbproject/configurations.xml | 39 +
.../hello1lib/nbproject/project.properties | 37 +
.../helloapp/hello1lib/nbproject/project.xml | 39 +
.../hello2lib/nbproject/configurations.xml | 39 +
.../hello2lib/nbproject/project.properties | 37 +
.../helloapp/hello2lib/nbproject/project.xml | 39 +
.../hello3lib/nbproject/configurations.xml | 39 +
.../hello3lib/nbproject/project.properties | 37 +
.../helloapp/hello3lib/nbproject/project.xml | 39 +
.../hello4lib/nbproject/configurations.xml | 39 +
.../hello4lib/nbproject/project.properties | 37 +
.../helloapp/hello4lib/nbproject/project.xml | 39 +
.../helloapp/main/nbproject/configurations.xml | 39 +
.../helloapp/main/nbproject/project.properties | 37 +
.../helloapp/main/nbproject/project.xml | 39 +
.../hellocmake/nbproject/configurations.xml | 43 +-
.../samples_src/hellocmake/nbproject/project.xml | 39 +
.../helloqt/nbproject/configurations.xml | 39 +
.../samples_src/helloqt/nbproject/project.xml | 39 +
.../samples_src/io/nbproject/configurations.xml | 39 +
.../samples_src/io/nbproject/project.xml | 39 +
.../lexyacc/nbproject/configurations.xml | 39 +
.../samples_src/lexyacc/nbproject/project.xml | 39 +
.../samples_src/mp/nbproject/configurations.xml | 39 +
.../samples_src/mp/nbproject/project.xml | 39 +
.../samples_src/pi/nbproject/configurations.xml | 42 +
.../samples_src/pi/nbproject/project.properties | 37 +
.../samples_src/pi/nbproject/project.xml | 39 +
.../samples_src/quote/nbproject/configurations.xml | 39 +
.../samples_src/quote/nbproject/project.properties | 37 +
.../samples_src/quote/nbproject/project.xml | 39 +
cnd.makeproject/samples_src/sample.cookbook.txt | 4 +-
.../welcome/nbproject/configurations.xml | 39 +
.../samples_src/welcome/nbproject/project.xml | 39 +
.../cnd/makeproject/BrokenReferencesSupport.java | 605 -
.../modules/cnd/makeproject/Bundle.properties | 68 +-
.../ConfigurationDescriptorProviderImpl.java | 1 +
.../modules/cnd/makeproject/ConfirmExtensions.form | 128 -
.../modules/cnd/makeproject/ConfirmExtensions.java | 223 -
.../modules/cnd/makeproject/ConnectionHelper.java | 23 +-
...rojectOperationsImplementationExecutorImpl.java | 427 +
.../cnd/makeproject/DefaultSystemSettingsImpl.java | 30 +-
.../makeproject/EnvProjectProblemsProvider.java | 319 -
.../modules/cnd/makeproject/ItemRedirector.java | 33 +-
.../cnd/makeproject/LaunchersRegistryAccessor.java | 81 -
.../cnd/makeproject/MakeActionProvider.java | 2167 --
.../cnd/makeproject/MakeActionProviderImpl.java | 2007 +
.../MakeBasedProjectFactorySingleton.java | 4 +-
.../makeproject/MakeConfigurationSaveListener.java | 54 -
.../modules/cnd/makeproject/MakeOptions.java | 18 +-
.../modules/cnd/makeproject/MakeProject.java | 2016 -
.../makeproject/MakeProjectClassPathProvider.java | 17 +-
.../makeproject/MakeProjectEncodingQueryImpl.java | 2 +
.../MakeProjectFileProviderFactory.java | 665 -
.../cnd/makeproject/MakeProjectGeneratorImpl.java | 408 -
.../cnd/makeproject/MakeProjectHelperImpl.java | 321 +-
.../modules/cnd/makeproject/MakeProjectImpl.java | 1910 +
.../MakeProjectLayerDescriptorProvider.java | 5 +-
.../cnd/makeproject/MakeProjectOperations.java | 21 +-
.../cnd/makeproject/MakeProjectTypeImpl.java | 30 +-
.../modules/cnd/makeproject/MakeProjectUtils.java | 116 -
.../cnd/makeproject/MakeSharabilityQuery.java | 187 -
.../cnd/makeproject/MakeSharabilityQueryImpl.java | 184 +
.../modules/cnd/makeproject/MakeSources.java | 5 +-
.../cnd/makeproject/MakeTemplateListener.java | 280 -
.../cnd/makeproject/NativeProjectProvider.java | 741 +-
.../cnd/makeproject/NativeProjectSettingsImpl.java | 33 +-
.../PathMapperProjectMetadataFactory.java | 80 +-
.../modules/cnd/makeproject/SmartOutputStream.java | 192 -
.../StandardHeadersProjectMetadataFactory.java | 137 +
.../netbeans/modules/cnd/makeproject/TempEnv.java | 158 -
.../TemplateAttributesProviderImpl.java | 120 -
.../actions/AddExistingFolderItemsAction.java | 228 -
.../cnd/makeproject/actions/BatchBuildAction.java | 85 -
.../cnd/makeproject/actions/Bundle.properties | 260 -
.../actions/ConfigurationManagerAction.java | 82 -
.../makeproject/actions/CreateProjectAction.java | 80 -
.../cnd/makeproject/actions/DebugDialogAction.java | 224 -
.../cnd/makeproject/actions/DebugTestAction.java | 116 -
.../actions/DefaultProjectCopyPanel.java | 469 -
.../actions/DefaultProjectDeletePanel.java | 236 -
.../DefaultProjectOperationsImplementation.java | 823 -
.../actions/DefaultProjectRenamePanel.java | 365 -
.../modules/cnd/makeproject/actions/FileProxy.java | 247 -
.../makeproject/actions/NewTestActionFactory.java | 441 -
.../cnd/makeproject/actions/RunDialogAction.java | 282 -
.../cnd/makeproject/actions/RunTestAction.java | 130 -
.../makeproject/actions/StepIntoTestAction.java | 118 -
.../cnd/makeproject/api/BuildActionsProvider.java | 11 +-
.../modules/cnd/makeproject/api/Bundle.properties | 104 +-
.../cnd/makeproject/api/CodeStyleWrapper.java | 86 +
.../api/DefaultProjectActionHandler.java | 199 +-
...ultProjectOperationsImplementationExecutor.java | 56 +
.../makeproject/api/LaunchersRegistryAccessor.java | 80 +
.../cnd/makeproject/api/MakeActionProvider.java | 60 +
.../modules/cnd/makeproject/api/MakeArtifact.java | 18 +-
.../api/MakeCommandFlagsProviderFactory.java | 20 +-
.../makeproject/api/MakeCustomizerProvider.java | 384 +-
.../modules/cnd/makeproject/api/MakeProject.java | 77 +
.../cnd/makeproject/api/MakeProjectCustomizer.java | 8 -
.../api/MakeProjectCustomizerAdaptor.java | 122 -
.../makeproject/api/MakeProjectFileProvider.java | 341 +
.../makeproject/api/MakeProjectLookupProvider.java | 52 +
.../cnd/makeproject/api/MakeProjectOptions.java | 79 +
.../cnd/makeproject/api/MakeProjectType.java | 63 +
.../cnd/makeproject/api/MakeSharabilityQuery.java | 50 +
.../cnd/makeproject/api/ProjectActionEvent.java | 46 +-
.../cnd/makeproject/api/ProjectActionSupport.java | 356 +-
.../cnd/makeproject/api/ProjectGenerator.java | 424 -
.../cnd/makeproject/api/ProjectSupport.java | 4 +-
.../cnd/makeproject/api/RunDialogPanel.form | 386 -
.../cnd/makeproject/api/RunDialogPanel.java | 1239 -
.../modules/cnd/makeproject/api/TempEnv.java | 158 +
.../api/actions/AddExistingItemAction.java | 247 -
.../makeproject/api/actions/NewFolderAction.java | 133 -
.../api/configurations/ArchiverConfiguration.java | 92 +-
.../api/configurations/AssemblerConfiguration.java | 67 +-
.../configurations/BasicCompilerConfiguration.java | 705 +-
.../api/configurations/BooleanConfiguration.java | 7 +-
.../api/configurations/Bundle.properties | 318 +-
.../configurations/CCCCompilerConfiguration.java | 528 +-
.../configurations/CCCompilerConfiguration.java | 147 +-
.../api/configurations/CCompilerConfiguration.java | 131 +-
.../CodeAssistanceConfiguration.java | 92 +-
.../api/configurations/CompileConfiguration.java | 26 +-
.../configurations/CompilerSet2Configuration.java | 53 +-
.../api/configurations/Configuration.java | 24 +-
.../configurations/ConfigurationDescriptor.java | 2 +
.../ConfigurationDescriptorProvider.java | 47 +-
.../api/configurations/Configurations.java | 24 +-
.../configurations/CustomToolConfiguration.java | 18 -
.../api/configurations/CustomizerNodeProvider.java | 55 -
.../DebuggerChooserConfiguration.java | 66 +-
.../DevelopmentHostConfiguration.java | 32 +-
.../cnd/makeproject/api/configurations/Folder.java | 90 +-
.../api/configurations/FolderConfiguration.java | 47 -
.../FortranCompilerConfiguration.java | 69 +-
.../InheritedBooleanConfiguration.java | 3 +
.../api/configurations/IntConfiguration.java | 6 +-
.../cnd/makeproject/api/configurations/Item.java | 619 +-
.../api/configurations/ItemConfiguration.java | 176 +-
.../api/configurations/LibrariesConfiguration.java | 17 +
.../api/configurations/LibraryItem.java | 80 +-
.../api/configurations/LinkerConfiguration.java | 237 +-
.../api/configurations/MakeConfiguration.java | 90 +-
.../MakeConfigurationDescriptor.java | 151 +-
.../api/configurations/MakeLogicalViewModel.java | 74 +
.../api/configurations/MakefileConfiguration.java | 350 +-
.../api/configurations/OptionsConfiguration.java | 8 +-
.../api/configurations/PackagingConfiguration.java | 201 +-
.../makeproject/api/configurations/Platform.java | 106 +
.../makeproject/api/configurations/Platforms.java | 99 +
.../api/configurations/PreBuildConfiguration.java | 177 -
.../api/configurations/QmakeConfiguration.java | 78 +-
.../api/configurations/StringConfiguration.java | 7 +-
.../api/configurations/VectorConfiguration.java | 4 +-
.../api/configurations/ui/BooleanNodeProp.java | 89 -
.../configurations/ui/BooleanReverseNodeProp.java | 93 -
.../api/configurations/ui/ComboStringNodeProp.java | 178 -
.../api/configurations/ui/CustomizerNode.java | 107 -
.../ui/CustomizerRootNodeProvider.java | 103 -
.../configurations/ui/DebuggerCustomizerNode.java | 51 -
.../api/configurations/ui/IntNodeProp.java | 169 -
.../ui/PrioritizedCustomizerNode.java | 62 -
.../api/configurations/ui/StringPanel.form | 36 -
.../api/configurations/ui/StringPanel.java | 116 -
.../cnd/makeproject/api/launchers/Launcher.java | 213 +
.../api/launchers/LauncherActionHadlerFactory.java | 140 +
.../api/launchers/LauncherExecutor.java | 339 +
.../launchers/LaunchersProjectMetadataFactory.java | 173 +
.../api/launchers/LaunchersRegistry.java | 216 +
.../api/launchers/LaunchersRegistryFactory.java | 70 +
.../makeproject/api/runprofiles/Bundle.properties | 35 +-
.../api/runprofiles/ConsoleIntNodeProp.java | 123 -
.../api/runprofiles/DirectoryChooserPanel.form | 69 -
.../api/runprofiles/DirectoryChooserPanel.java | 151 -
.../cnd/makeproject/api/runprofiles/Env.java | 4 +-
.../makeproject/api/runprofiles/RunProfile.java | 307 +-
.../makeproject/api/support/MakePathMatcher.java | 4 +-
.../api/support/MakeProjectGenerator.java | 139 +-
.../makeproject/api/support/MakeProjectHelper.java | 7 +
.../api/support/MakeProjectOptionsFormat.java | 137 +
.../api/support/MakeProjectPublicUtils.java | 60 -
.../makeproject/api/support/MakeProjectUtils.java | 139 +
.../makeproject/api/support/SmartOutputStream.java | 219 +
.../cnd/makeproject/api/wizards/BuildSupport.java | 1 -
.../makeproject/api/wizards/CommonUtilities.java | 10 +-
.../DefaultMakeProjectLocationProvider.java | 95 +
.../makeproject/api/wizards/IteratorExtension.java | 107 -
.../api/wizards/MakeSampleProjectGenerator.java | 613 +
.../api/wizards/PostProjectCreationProcessor.java | 51 +
.../makeproject/api/wizards/PreBuildSupport.java | 40 +-
.../makeproject/api/wizards/ProjectGenerator.java | 417 +
.../api/wizards/ProjectWizardPanels.java | 91 -
.../makeproject/api/wizards/WizardConstants.java | 166 -
.../makeproject/configurations/Bundle.properties | 2 -
.../CommonConfigurationXMLCodec.java | 85 +-
.../ConfigurationMakefileWriter.java | 110 +-
.../configurations/ConfigurationWarningPanel.form | 86 -
.../configurations/ConfigurationWarningPanel.java | 132 -
.../configurations/ConfigurationXMLCodec.java | 48 +-
.../configurations/ConfigurationXMLReader.java | 67 +-
.../configurations/ConfigurationXMLWriter.java | 10 +-
.../cnd/makeproject/configurations/CppUtils.java | 102 +-
.../configurations/QmakeProjectWriter.java | 2 +-
.../configurations/ui/Bundle.properties | 534 -
.../configurations/ui/CompilerSetNodeProp.java | 259 -
.../configurations/ui/DebuggerChooserNodeProp.java | 146 -
.../configurations/ui/DevelopmentHostNodeProp.java | 200 -
.../configurations/ui/FormattingPropPanel.form | 146 -
.../configurations/ui/FormattingPropPanel.java | 427 -
.../configurations/ui/LibrariesNodeProp.java | 169 -
.../configurations/ui/LibrariesPanel.java | 420 -
.../configurations/ui/LibraryOptionPanel.form | 87 -
.../configurations/ui/LibraryOptionPanel.java | 189 -
.../ui/MacroExpandedEditorPanel.form | 81 -
.../ui/MacroExpandedEditorPanel.java | 170 -
.../configurations/ui/MakeArtifactChooser.form | 78 -
.../configurations/ui/MakeArtifactChooser.java | 395 -
.../configurations/ui/OptionsEditorPanel.form | 108 -
.../configurations/ui/OptionsEditorPanel.java | 210 -
.../configurations/ui/OptionsNodeProp.java | 170 -
.../ui/PackagingAddingFilesProgressPanel.form | 80 -
.../ui/PackagingAddingFilesProgressPanel.java | 140 -
.../ui/PackagingAdditionalInfoPanel.java | 132 -
.../configurations/ui/PackagingFiles4Panel.java | 62 -
.../ui/PackagingFilesOuterPanel.form | 559 -
.../ui/PackagingFilesOuterPanel.java | 660 -
.../configurations/ui/PackagingFilesPanel.java | 762 -
.../configurations/ui/PackagingInfoOuterPanel.form | 79 -
.../configurations/ui/PackagingInfoOuterPanel.java | 148 -
.../configurations/ui/PackagingInfoPanel.java | 456 -
.../configurations/ui/PackagingNewEntryPanel.form | 138 -
.../configurations/ui/PackagingNewEntryPanel.java | 280 -
.../configurations/ui/PackagingNewLinkPanel.form | 107 -
.../configurations/ui/PackagingNewLinkPanel.java | 178 -
.../configurations/ui/PackagingNodeProp.java | 165 -
.../configurations/ui/PackagingPanel.form | 37 -
.../configurations/ui/PackagingPanel.java | 191 -
.../configurations/ui/PkgConfigLibrary.form | 84 -
.../configurations/ui/PkgConfigLibrary.java | 357 -
.../configurations/ui/PlatformSpecificProp.java | 186 -
.../configurations/ui/ProjectPropPanel.form | 195 -
.../configurations/ui/ProjectPropPanel.java | 367 -
.../makeproject/configurations/ui/RWECheckBox.java | 80 -
.../ui/RemoteSyncFactoryNodeProp.java | 126 -
.../ui/RequiredProjectsNodeProp.java | 169 -
.../configurations/ui/RequiredProjectsPanel.java | 226 -
.../cnd/makeproject/configurations/ui/StateCA.java | 92 -
.../configurations/ui/StateCANodeProp.java | 174 -
.../makeproject/configurations/ui/StdLibPanel.form | 50 -
.../makeproject/configurations/ui/StdLibPanel.java | 140 -
.../configurations/ui/StringListNodeProp.java | 158 -
.../configurations/ui/StringNodeProp.java | 118 -
.../configurations/ui/TableEditorPanel.java | 418 -
.../configurations/ui/VectorNodeProp.java | 163 -
.../cnd/makeproject/execution/Bundle.properties | 61 -
.../cnd/makeproject/execution/LDErrorParser.java | 58 +-
.../cnd/makeproject/launchers/Launcher.java | 188 -
.../launchers/LauncherActionHadlerFactory.java | 140 -
.../makeproject/launchers/LauncherExecutor.java | 266 -
.../launchers/LaunchersProjectMetadataFactory.java | 145 -
.../makeproject/launchers/LaunchersRegistry.java | 216 -
.../launchers/LaunchersRegistryFactory.java | 35 -
.../launchers/actions/Bundle.properties | 48 -
.../launchers/actions/LauncherAction.java | 254 -
.../launchers/resources/simple-launcher.template | 2 +
.../cnd/makeproject/options/Bundle.properties | 64 +
.../makeproject/options/DependencyChecking.java | 81 +
.../makeproject/options/FixUnresolvedInclude.java | 86 +
.../cnd/makeproject/options/FullFileIndexer.java | 81 +
.../makeproject/options/RebuildPropsChanged.java | 80 +
.../makeproject/options/ResolveSymbolicLinks.java | 86 +
.../cnd/makeproject/options/ReuseOutputTab.java | 81 +
.../options/SaveModifiedBeforBuild.java | 87 +
.../options/ShowConfigurationWarning.java | 80 +
.../cnd/makeproject/options/ViewBinaryFiles.java | 81 +
.../cnd/makeproject/packaging/DummyPackager.java | 13 +
.../cnd/makeproject/packaging/RPMPackager.java | 2 +-
.../modules/cnd/makeproject/platform/Platform.java | 106 -
.../cnd/makeproject/platform/PlatformGeneric.java | 3 +-
.../cnd/makeproject/platform/PlatformLinux.java | 24 +-
.../cnd/makeproject/platform/PlatformMacOSX.java | 3 +-
.../cnd/makeproject/platform/PlatformNone.java | 3 +-
.../cnd/makeproject/platform/PlatformSolaris.java | 23 +-
.../cnd/makeproject/platform/PlatformWindows.java | 3 +-
.../cnd/makeproject/platform/Platforms.java | 99 -
.../resources/c_standard_headers_indexer.c | 75 +
.../resources/cpp_standard_headers_indexer.cpp | 135 +
.../modules/cnd/makeproject/resources/layer.xml | 346 +
.../makeproject/{ui => }/resources/makeProject.gif | Bin
.../{ui => }/resources/makeProjectOpen.gif | Bin
.../{ui => }/resources/projects-Qt-dynamic.png | Bin
.../{ui => }/resources/projects-Qt-static.png | Bin
.../makeproject/{ui => }/resources/projects-Qt.png | Bin
.../{ui => }/resources/projects-database.png | Bin
.../resources/projects-managed-dynamic.png | Bin
.../{ui => }/resources/projects-managed-static.png | Bin
.../{ui => }/resources/projects-managed.png | Bin
.../resources/projects-unmanaged-dynamic.png | Bin
.../resources/projects-unmanaged-static.png | Bin
.../{ui => }/resources/projects-unmanaged.png | Bin
.../cnd/makeproject/resources/samples/args.html | 48 +
.../cnd/makeproject/resources/samples/fractal.html | 46 +
.../cnd/makeproject/resources/samples/freeway.html | 50 +
.../cnd/makeproject/resources/samples/hello.html | 45 +
.../makeproject/resources/samples/helloapp.html | 48 +
.../makeproject/resources/samples/hellocmake.html | 48 +
.../cnd/makeproject/resources/samples/helloqt.html | 49 +
.../cnd/makeproject/resources/samples/io.html | 48 +
.../cnd/makeproject/resources/samples/lexyacc.html | 45 +
.../cnd/makeproject/resources/samples/mp.html | 48 +
.../cnd/makeproject/resources/samples/pi.html | 45 +
.../cnd/makeproject/resources/samples/quote.html | 48 +
.../cnd/makeproject/resources/samples/welcome.html | 48 +
.../cnd/makeproject/runprofiles/Bundle.properties | 42 -
.../runprofiles/RunProfileNodeProvider.java | 113 -
.../makeproject/runprofiles/ui/Bundle.properties | 77 -
.../cnd/makeproject/runprofiles/ui/EnvPanel.form | 111 -
.../cnd/makeproject/runprofiles/ui/EnvPanel.java | 269 -
.../makeproject/runprofiles/ui/ListTableModel.java | 173 -
.../makeproject/runprofiles/ui/RerunArguments.form | 60 -
.../makeproject/runprofiles/ui/RerunArguments.java | 139 -
.../makeproject/spi/DatabaseProjectProvider.java | 4 -
.../makeproject/spi/DebuggerChooserProvider.java | 100 +
.../IncludePathExpansionProvider.java | 3 +-
.../PostProjectCreationProcessor.java | 52 -
.../spi/configurations/UserOptionsProvider.java | 3 +-
.../cnd/makeproject/ui/AddExternalItemAction.java | 132 -
.../cnd/makeproject/ui/BaseMakeViewChildren.java | 216 -
.../modules/cnd/makeproject/ui/BrokenLinks.java | 167 -
.../cnd/makeproject/ui/BrokenViewItemNode.java | 183 -
.../modules/cnd/makeproject/ui/Bundle.properties | 195 -
.../cnd/makeproject/ui/ExternalFilesChildren.java | 85 -
.../cnd/makeproject/ui/ExternalFilesNode.java | 120 -
.../cnd/makeproject/ui/FolderSearchInfo.java | 169 -
.../cnd/makeproject/ui/LogicalFolderNode.java | 596 -
.../cnd/makeproject/ui/LogicalViewChildren.java | 250 -
.../makeproject/ui/MakeLogicalViewProvider.java | 519 -
.../makeproject/ui/MakeLogicalViewRootNode.java | 550 -
.../ui/MakeLogicalViewRootNodeBroken.java | 100 -
.../cnd/makeproject/ui/NodeActionFactory.java | 263 -
.../cnd/makeproject/ui/PropertiesFolderAction.java | 120 -
.../cnd/makeproject/ui/PropertiesItemAction.java | 139 -
.../makeproject/ui/RemoteDevelopmentAction.java | 268 -
.../cnd/makeproject/ui/RemoteSyncActions.java | 564 -
.../cnd/makeproject/ui/RemoveFolderAction.java | 99 -
.../cnd/makeproject/ui/RemoveItemAction.java | 99 -
.../cnd/makeproject/ui/ResolveEnvVarPanel.java | 183 -
.../cnd/makeproject/ui/SelectExecutablePanel.java | 488 -
.../cnd/makeproject/ui/SetConfigurationAction.java | 154 -
.../cnd/makeproject/ui/ViewFolderPasteType.java | 232 -
.../modules/cnd/makeproject/ui/ViewItemNode.java | 478 -
.../cnd/makeproject/ui/ViewItemPasteType.java | 291 -
.../cnd/makeproject/ui/actions/Bundle.properties | 40 -
.../ui/actions/MakeProjectActionsSupport.java | 91 -
.../customizer/ArchiverGeneralCustomizerNode.java | 70 -
.../ui/customizer/AssemblerCustomizerNode.java | 85 -
.../ui/customizer/BuildCustomizerNode.java | 70 -
.../makeproject/ui/customizer/Bundle.properties | 109 -
.../ui/customizer/CCCompilerCustomizerNode.java | 96 -
.../ui/customizer/CCompilerCustomizerNode.java | 96 -
.../customizer/CodeAssistanceCustomizerNode.java | 76 -
.../ui/customizer/CompileCustomizerNode.java | 71 -
.../customizer/CustomBuildItemCustomizerNode.java | 74 -
.../ui/customizer/DevelopmentHostCustomizer.java | 149 -
.../ui/customizer/FolderNodeFactory.java | 97 -
.../ui/customizer/FormattingCustomizerNode.java | 81 -
.../customizer/FortranCompilerCustomizerNode.java | 86 -
.../ui/customizer/GeneralCustomizerNode.java | 80 -
.../ui/customizer/GeneralFolderCustomizerNode.java | 73 -
.../ui/customizer/GeneralItemCustomizerNode.java | 80 -
.../makeproject/ui/customizer/ItemNodeFactory.java | 156 -
.../ui/customizer/LinkerGeneralCustomizerNode.java | 100 -
.../cnd/makeproject/ui/customizer/MakeContext.java | 252 -
.../makeproject/ui/customizer/MakeCustomizer.form | 165 -
.../makeproject/ui/customizer/MakeCustomizer.java | 853 -
.../ui/customizer/MakefileCustomizerNode.java | 69 -
.../ui/customizer/PackagingCustomizerNode.java | 69 -
.../ui/customizer/PreBuildCustomizerNode.java | 71 -
.../ui/customizer/ProjectNodeFactory.java | 320 -
.../makeproject/ui/customizer/PropertyNode.java | 86 -
.../ui/customizer/PropertyNodeChildren.java | 81 -
.../ui/customizer/ProxyItemConfiguration.java | 146 -
.../ui/customizer/QtCustomizerNode.java | 63 -
.../customizer/RequiredProjectsCustomizerNode.java | 69 -
.../ui/customizer/SharedItemConfiguration.java | 79 -
.../makeproject/ui/options/DependencyChecking.java | 81 -
.../ui/options/FixUnresolvedInclude.java | 86 -
.../makeproject/ui/options/FullFileIndexer.java | 80 -
.../ui/options/ProjectOptionsPanel.java | 338 -
.../ui/options/RebuildPropsChanged.java | 80 -
.../ui/options/ResolveSymbolicLinks.java | 86 -
.../cnd/makeproject/ui/options/ReuseOutputTab.java | 81 -
.../ui/options/SaveModifiedBeforBuild.java | 87 -
.../ui/options/ShowConfigurationWarning.java | 80 -
.../makeproject/ui/options/ViewBinaryFiles.java | 81 -
.../makeproject/ui/resources/MakeOptions.settings | 8 -
.../cnd/makeproject/ui/resources/binary.html | 49 -
.../cnd/makeproject/ui/resources/desktop.html | 49 -
.../modules/cnd/makeproject/ui/resources/layer.xml | 890 -
.../cnd/makeproject/ui/resources/makefile.html | 49 -
.../makeproject/ui/resources/newApplication.html | 49 -
.../ui/resources/newDynamicLibrary.html | 49 -
.../makeproject/ui/resources/newFullRemote.html | 50 -
.../makeproject/ui/resources/newQtApplication.html | 49 -
.../ui/resources/newQtDynamicLibrary.html | 49 -
.../ui/resources/newQtStaticLibrary.html | 49 -
.../makeproject/ui/resources/newStaticLibrary.html | 49 -
.../cnd/makeproject/ui/resources/samples/args.html | 49 -
.../makeproject/ui/resources/samples/fractal.html | 12 -
.../makeproject/ui/resources/samples/freeway.html | 51 -
.../makeproject/ui/resources/samples/hello.html | 11 -
.../makeproject/ui/resources/samples/helloapp.html | 49 -
.../ui/resources/samples/hellocmake.html | 49 -
.../makeproject/ui/resources/samples/helloqt.html | 48 -
.../cnd/makeproject/ui/resources/samples/io.html | 49 -
.../makeproject/ui/resources/samples/lexyacc.html | 11 -
.../cnd/makeproject/ui/resources/samples/mp.html | 49 -
.../cnd/makeproject/ui/resources/samples/pi.html | 11 -
.../makeproject/ui/resources/samples/quote.html | 49 -
.../makeproject/ui/resources/samples/welcome.html | 49 -
.../cnd/makeproject/ui/utils/Bundle.properties | 92 -
.../ui/utils/DirectoryChooserInnerPanel.java | 171 -
.../ui/utils/DirectoryChooserPanel.java | 351 -
.../cnd/makeproject/ui/utils/PathPanel.java | 172 -
.../cnd/makeproject/ui/utils/TokenizerFactory.java | 253 -
.../ui/wizards/BuildActionsDescriptorPanel.java | 143 -
.../makeproject/ui/wizards/BuildActionsPanel.java | 524 -
.../cnd/makeproject/ui/wizards/Bundle.properties | 502 -
.../makeproject/ui/wizards/CmakeScriptSupport.java | 192 -
.../ui/wizards/FileListEditorPanel.java | 428 -
.../ui/wizards/MakeSampleProjectGenerator.java | 617 -
.../ui/wizards/MakeSampleProjectIterator.java | 192 -
.../makeproject/ui/wizards/MakeScriptSupport.java | 164 -
.../ui/wizards/NewMakeProjectWizardIterator.java | 613 -
.../ui/wizards/NewProjectWizardUtils.java | 158 -
.../ui/wizards/PanelConfigureProject.java | 195 -
.../ui/wizards/PanelProjectLocationVisual.java | 1476 -
.../ParserConfigurationDescriptorPanel.java | 143 -
.../ui/wizards/ParserConfigurationPanel.java | 558 -
.../ui/wizards/PreBuildActionDescriptorPanel.java | 146 -
.../ui/wizards/PreBuildActionPanel.java | 855 -
.../makeproject/ui/wizards/QmakeScriptSupport.java | 200 -
.../makeproject/ui/wizards/SelectBinaryPanel.java | 216 -
.../ui/wizards/SelectBinaryPanelVisual.form | 233 -
.../ui/wizards/SelectBinaryPanelVisual.java | 1321 -
.../ui/wizards/SelectModeDescriptorPanel.java | 501 -
.../makeproject/ui/wizards/SelectModePanel.form | 236 -
.../makeproject/ui/wizards/SelectModePanel.java | 727 -
.../makeproject/ui/wizards/SourceFilesPanel.java | 476 -
.../ui/wizards/SourceFoldersDescriptorPanel.java | 143 -
.../makeproject/ui/wizards/SourceFoldersPanel.java | 182 -
.../uiapi/CancellableProgressHandleFactory.java | 68 +
.../cnd/makeproject/uiapi/ConfirmSupport.java | 330 +
.../DefaultProjectOperationsImplementationUI.java | 87 +
.../makeproject/uiapi/EventsProcessorActions.java | 132 +
.../cnd/makeproject/uiapi/LongOperation.java | 139 +
.../cnd/makeproject/uiapi/NodePesentation.java | 48 +
.../cnd/makeproject/uiapi/RunActionSupport.java | 70 +
.../modules/cnd/makeproject/MakeActionTest.java | 4 +-
.../modules/cnd/makeproject/Project_65_Test.java | 109 -
.../modules/cnd/makeproject/RunCommandTest.java | 5 +
.../api/configurations/ConfigurationTest.java | 5 +
.../api/configurations/QmakeConfigurationTest.java | 7 +-
.../ConfigurationMakefileWriterTest.java | 39 +-
.../configurations/QmakeProjectWriterTest.java | 194 -
.../configurations/ui/StringListNodePropTest.java | 101 -
.../ui/wizards/MakeSampleProjectIteratorTest.java | 381 -
cnd.mixeddev/manifest.mf | 2 +-
cnd.mixeddev/nbproject/project.properties | 37 +
cnd.mixeddev/nbproject/project.xml | 73 +-
cnd.mixeddev/release/VERSION.txt | 2 +-
.../modules/cnd/mixeddev/Bundle.properties | 41 +
.../modules/cnd/mixeddev/MixedDevUtils.java | 229 +-
.../cnd/mixeddev/debugger/Bundle.properties | 1 -
.../cnd/mixeddev/debugger/CndSessionChanger.java | 118 +-
.../java/AbstractJavaToCppHyperlinkProvider.java | 20 +-
.../modules/cnd/mixeddev/java/JNASupport.java | 6 +-
.../modules/cnd/mixeddev/java/JNISupport.java | 52 +-
.../cnd/mixeddev/java/JavaContextSupport.java | 51 +-
.../mixeddev/java/JavaToCppHyperlinkProvider.java | 4 +-
.../actions/AbstractCopyJNIAccessCodeAction.java | 7 +-
.../java/jni/actions/AbstractJNIAction.java | 56 +-
.../AttachToJavaWithNativeDebuggerAction.java | 131 +
.../jni/actions/CopyJNICallMethodCodeAction.java | 18 +-
.../jni/actions/CopyJNIGetFieldCodeAction.java | 17 +-
.../jni/actions/CopyJNISetFieldCodeAction.java | 17 +-
.../java/jni/actions/CopyJNISignatureAction.java | 15 +-
.../actions/GenerateHeaderForJNIClassAction.java | 68 +-
.../cnd/mixeddev/java/jni/ui/Bundle.properties | 37 +
.../cnd/mixeddev/java/model/JavaClassInfo.java | 13 +
.../modules/cnd/mixeddev/resources/layer.xml | 68 +-
.../cnd/mixeddev/ui/AbstactDynamicMenuAction.java | 165 +
.../cnd/mixeddev/ui/MixedDevContextMetaAction.java | 93 +
.../cnd/mixeddev/ui/MixedDevToolsMetaAction.java | 90 +
.../modules/cnd/mixeddev/wizard/Bundle.properties | 47 +
.../cnd/mixeddev/wizard/GenerateProjectAction.java | 12 +-
.../modules/cnd/mixeddev/wizard/Generator.java | 93 +-
.../mixeddev/wizard/LocationJNIWizardPanel.java | 8 +-
.../wizard/PanelProjectLocationVisual.form | 133 +-
.../wizard/PanelProjectLocationVisual.java | 181 +-
cnd.model.jclank.bridge/build.xml | 39 +
cnd.model.jclank.bridge/manifest.mf | 2 +-
.../nbproject/project.properties | 37 +
cnd.model.jclank.bridge/nbproject/project.xml | 43 +-
.../jclank/bridge/impl/CsmJClankCompilationDB.java | 50 +-
.../jclank/bridge/impl/CsmJClankSerivicesImpl.java | 8 +-
.../jclank/bridge/resources/Bundle.properties | 37 +
.../trace/JClankTraceCompilationDBAction.java | 4 +-
cnd.model.services/build.xml | 39 +
cnd.model.services/nbproject/project.properties | 39 +-
cnd.model.services/nbproject/project.xml | 56 +-
.../api/model/services/CsmExpressionEvaluator.java | 11 -
.../api/model/services/CsmExpressionResolver.java | 24 +-
.../cnd/api/model/services/CsmFileInfoQuery.java | 32 +-
.../cnd/api/model/services/CsmFileReferences.java | 48 +-
.../cnd/api/model/services/CsmIncludeResolver.java | 11 -
.../model/services/CsmInstantiationProvider.java | 48 +-
.../cnd/api/model/services/CsmMacroExpansion.java | 13 +-
.../cnd/api/model/services/CsmResolveContext.java | 12 +
.../modules/cnd/api/model/services/CsmSelect.java | 27 +
.../cnd/api/model/services/CsmSymbolResolver.java | 19 +-
.../api/model/services/CsmVirtualInfoQuery.java | 32 +-
.../cnd/api/model/services/CsmVisibilityQuery.java | 11 -
.../cnd/api/model/syntaxerr/AuditPreferences.java | 41 +-
.../modules/cnd/api/model/syntaxerr/CodeAudit.java | 9 +-
.../cnd/api/model/syntaxerr/CodeAuditProvider.java | 9 +-
.../cnd/api/model/syntaxerr/CsmErrorProvider.java | 2 +-
.../model/xref/CsmIncludeHierarchyResolver.java | 2 +-
.../cnd/api/model/xref/CsmReferenceSupport.java | 11 -
.../xref/CsmTemplateBasedReferencedObject.java | 11 -
.../services/CsmExpressionEvaluatorProvider.java | 11 -
.../services/CsmMacroExpansionDocProvider.java | 11 -
.../services/CsmMacroExpansionViewProvider.java | 11 -
.../cnd/spi/model/services/CsmSelectProvider.java | 3 +
.../services/CsmSymbolResolverImplementation.java | 13 +-
.../model/services/CsmVisibilityQueryProvider.java | 11 -
.../modules/cnd/xref/impl/ObjectReferenceImpl.java | 11 -
.../cnd/xref/impl/ReferenceSupportImpl.java | 13 +-
cnd.modeldiscovery/build.xml | 2 +-
cnd.modeldiscovery/nbproject/project.properties | 39 +-
cnd.modeldiscovery/nbproject/project.xml | 59 +-
.../modules/cnd/modeldiscovery/Bundle.properties | 2 +-
.../cnd/modeldiscovery/provider/AnalyzeModel.java | 6 +
.../cnd/modeldiscovery/provider/Bundle.properties | 2 +-
.../cnd/modeldiscovery/provider/ModelSource.java | 5 +-
.../cnd/modeldiscovery/provider/PkgConfigImpl.java | 2 +-
cnd.modelimpl/copy_failed_as_etalons.sh | 37 +-
cnd.modelimpl/copy_failed_tests_data.sh | 37 +-
cnd.modelimpl/drd/config/config.xml | 39 +
cnd.modelimpl/drd/config/hb-config.xml | 39 +
cnd.modelimpl/drd/drd.properties | 37 +
.../external/binaries-list | 0
cnd.modelimpl/nbproject/pmd.settings | 39 +
cnd.modelimpl/nbproject/project.properties | 39 +-
cnd.modelimpl/nbproject/project.xml | 59 +-
cnd.modelimpl/run.sh | 2 +-
.../content/file/FileComponentDeclarations.java | 10 +-
.../cnd/modelimpl/content/file/FileContent.java | 4 +-
.../content/file/FileContentSignature.java | 16 +-
.../content/project/DeclarationContainer.java | 43 +
.../modelimpl/content/project/GraphContainer.java | 6 +-
.../modules/cnd/modelimpl/csm/CastUtils.java | 1 +
.../modules/cnd/modelimpl/csm/ClassImpl.java | 44 +-
.../csm/ClassImplFunctionSpecialization.java | 2 +-
.../cnd/modelimpl/csm/ClassImplSpecialization.java | 6 +-
.../modules/cnd/modelimpl/csm/DeclTypeImpl.java | 16 +-
...ExpressionBasedSpecializationParameterImpl.java | 11 -
.../modules/cnd/modelimpl/csm/FunctionDDImpl.java | 7 +-
.../cnd/modelimpl/csm/FunctionDefinitionImpl.java | 4 +-
.../modules/cnd/modelimpl/csm/FunctionImpl.java | 23 +-
.../modules/cnd/modelimpl/csm/FunctionImplEx.java | 57 +-
.../modules/cnd/modelimpl/csm/Instantiation.java | 160 +-
.../modules/cnd/modelimpl/csm/MethodImpl.java | 6 +-
.../modules/cnd/modelimpl/csm/NameHolder.java | 1 +
.../cnd/modelimpl/csm/NamespaceDefinitionImpl.java | 22 +-
.../modules/cnd/modelimpl/csm/NamespaceImpl.java | 15 +-
.../modules/cnd/modelimpl/csm/NestedType.java | 12 +-
.../netbeans/modules/cnd/modelimpl/csm/NoType.java | 12 +-
.../modelimpl/csm/SpecializationDescriptor.java | 11 -
.../modules/cnd/modelimpl/csm/SystemMacroImpl.java | 4 +
.../modelimpl/csm/TemplateParameterTypeImpl.java | 16 +-
.../modules/cnd/modelimpl/csm/TemplateUtils.java | 8 +-
.../csm/TypeBasedSpecializationParameterImpl.java | 23 +-
.../modules/cnd/modelimpl/csm/TypeFactory.java | 166 +-
.../modules/cnd/modelimpl/csm/TypeFunPtrImpl.java | 21 +-
.../modules/cnd/modelimpl/csm/TypeImpl.java | 160 +-
.../modules/cnd/modelimpl/csm/TypedefImpl.java | 2 +
.../cnd/modelimpl/csm/core/AstRenderer.java | 60 +-
.../modules/cnd/modelimpl/csm/core/AstUtil.java | 72 +-
.../cnd/modelimpl/csm/core/Bundle.properties | 2 +-
.../csm/core/CsmStandaloneFileProviderImpl.java | 80 +-
.../cnd/modelimpl/csm/core/DeepReparsingUtils.java | 45 +-
.../cnd/modelimpl/csm/core/ErrorDirectiveImpl.java | 4 +-
.../modules/cnd/modelimpl/csm/core/FileImpl.java | 46 +-
.../csm/core/FilePreprocessorConditionState.java | 2 +-
.../cnd/modelimpl/csm/core/LibProjectImpl.java | 2 +-
.../cnd/modelimpl/csm/core/LibraryManager.java | 10 +-
.../modules/cnd/modelimpl/csm/core/ModelImpl.java | 2 +-
.../csm/core/NativeProjectListenerImpl.java | 3 +-
.../cnd/modelimpl/csm/core/OffsetableBase.java | 83 +-
.../modelimpl/csm/core/ParseFinishNotificator.java | 11 -
.../cnd/modelimpl/csm/core/PositionManager.java | 21 +-
.../cnd/modelimpl/csm/core/ProjectBase.java | 89 +-
.../modelimpl/csm/core/ProjectBaseWithEditing.java | 406 +
.../cnd/modelimpl/csm/core/ProjectImpl.java | 343 +-
.../modules/cnd/modelimpl/csm/core/Utils.java | 4 +-
.../csm/deep/DeclarationStatementImpl.java | 36 +-
.../cnd/modelimpl/csm/deep/ForStatementImpl.java | 1 +
.../csm/deep/LazyCompoundStatementImpl.java | 6 +-
.../cnd/modelimpl/csm/deep/LazyStatementImpl.java | 72 +-
.../csm/deep/LazyTryCatchStatementImpl.java | 6 +-
.../cnd/modelimpl/csm/deep/StatementBase.java | 14 +-
.../cnd/modelimpl/csm/resolver/Resolver3.java | 112 +-
.../impl/services/ClassifierResolverImpl.java | 47 +-
.../impl/services/CsmSymbolResolverImpl.java | 26 +-
.../impl/services/ExpressionEvaluator.java | 11 -
.../impl/services/FileElementsCollector.java | 69 +-
.../modelimpl/impl/services/FileInfoQueryImpl.java | 163 +-
.../impl/services/FileSearchProviderImpl.java | 21 +-
.../services/FunctionDefinitionResolverImpl.java | 84 +
.../impl/services/IncludeResolverImpl.java | 22 +-
.../impl/services/InstantiationProviderImpl.java | 262 +-
.../modelimpl/impl/services/LabelResolverImpl.java | 11 -
.../services/MacroExpansionDocProviderImpl.java | 21 +-
.../cnd/modelimpl/impl/services/SelectImpl.java | 15 +
.../modelimpl/impl/services/TypesProviderImpl.java | 5 +-
.../impl/services/evaluator/VariableProvider.java | 7 +-
.../impl/services/evaluator/parser/Evaluator.g | 40 +
.../modules/cnd/modelimpl/parser/CPPParserEx.java | 56 +-
.../modules/cnd/modelimpl/parser/CPPSymbol.java | 42 +-
.../cnd/modelimpl/parser/CppParserActionImpl.java | 6 +
.../cnd/modelimpl/parser/ParserProviderImpl.java | 7 +-
.../parser/apt/APTTokenStreamProducer.java | 1 +
.../parser/clank/ClankTokenStreamProducer.java | 48 +-
.../cnd/modelimpl/parser/clank/MacroReference.java | 43 +-
.../modules/cnd/modelimpl/parser/cppparser.g | 187 +-
.../modelimpl/parser/spi/TokenStreamProducer.java | 9 +-
.../cnd/modelimpl/platform/Bundle.properties | 2 +-
.../cnd/modelimpl/platform/CndParserFactory.java | 5 +-
.../cnd/modelimpl/platform/CndParserResult.java | 32 +-
.../modules/cnd/modelimpl/platform/CsmEvent.java | 2 +-
.../cnd/modelimpl/platform/CsmEventDispatcher.java | 87 +-
.../cnd/modelimpl/platform/CsmEventListener.java | 1 +
.../cnd/modelimpl/platform/ModelSupport.java | 38 +-
.../modelimpl/platform/ProgressListenerImpl.java | 2 +-
.../repository/OffsetableDeclarationKey.java | 22 +-
.../cnd/modelimpl/repository/PersistentUtils.java | 6 +-
.../cnd/modelimpl/repository/RepositoryUtils.java | 2 +-
.../cnd/modelimpl/resources/Bundle.properties | 2 +-
.../modelimpl/syntaxerr/ParserErrorProvider.java | 2 +-
.../cnd/modelimpl/trace/CodeModelDiagnostic.java | 44 +-
.../cnd/modelimpl/trace/NativeProjectProvider.java | 66 +-
.../modules/cnd/modelimpl/trace/TraceModel.java | 26 +-
.../cnd/modelimpl/trace/TraceModelBase.java | 51 +-
.../modules/cnd/modelimpl/trace/TraceXRef.java | 35 +-
cnd.modelimpl/test/popular-commands.sh | 37 +-
.../core/SmartParseHeaderTest/mixed_1.clank.err | 4 +-
.../trace/FileModel2Test/bug205292.cpp.dat | 2 +-
.../modelimpl/trace/FileModel2Test/bug229069.c.dat | 2334 +-
.../trace/FileModel2Test/bug246693.cpp.dat | 54 +
.../trace/FileModel2Test/bug248661_2.cpp.dat | 32 +
.../modelimpl/trace/FileModel2Test/bug255724.c.dat | 64 +
.../trace/FileModel2Test/bug256281.cpp.dat | 22 +
.../modelimpl/trace/FileModel2Test/bug256516.c.dat | 33 +
.../trace/FileModel2Test/bug256516.cpp.dat | 41 +
.../trace/FileModel2Test/bug257152.cpp.dat | 169 +
.../trace/FileModel2Test/bug257152c.c.dat | 64 +
.../modelimpl/trace/FileModel2Test/bug258327.c.dat | 78 +
.../trace/FileModel2Test/bug260774.cpp.dat | 88 +
.../trace/FileModel2Test/bug267668Enums.cpp.dat | 31 +
.../trace/FileModel2Test/bug267668Enums.cpp.err | 1 +
.../trace/FileModel2Test/c_namespaces.c.dat | 24 +-
.../modelimpl/trace/FileModel2Test/iz175324.cc.dat | 4 +-
.../trace/FileModel2Test/iz197997.cc.clank.err | 12 +
.../trace/FileModel3Test/align_local_assert.c.dat | 71 +
.../trace/FileModel3Test/align_local_assert.c.err | 0
.../modelimpl/trace/FileModel3Test/atomic.c.dat | 36 +
.../modelimpl/trace/FileModel3Test/atomic.c.err | 0
.../preproc_incomplete_if_directives.cpp.clank.err | 8 +-
.../trace/FileModelCpp11Test/bug254133.cpp.dat | 38 +
.../trace/FileModelTest/parser_recover.cc.err | 2 +-
.../trace/FileModelTest/resolver_ns_general.cc.dat | 8 +-
.../resolver_ns_using_declaration.cc.dat | 8 +-
.../trace/FileModelTest/templateParams.h.dat | 4 +-
.../modelimpl/trace/FileModel2Test/bug246693.cpp | 10 +
.../modelimpl/trace/FileModel2Test/bug248661_2.cpp | 11 +
.../cnd/modelimpl/trace/FileModel2Test/bug255724.c | 15 +
.../modelimpl/trace/FileModel2Test/bug256281.cpp | 3 +
.../cnd/modelimpl/trace/FileModel2Test/bug256516.c | 5 +
.../modelimpl/trace/FileModel2Test/bug256516.cpp | 4 +
.../modelimpl/trace/FileModel2Test/bug257152.cpp | 43 +
.../modelimpl/trace/FileModel2Test/bug257152c.c | 8 +
.../cnd/modelimpl/trace/FileModel2Test/bug258327.c | 19 +
.../modelimpl/trace/FileModel2Test/bug260774.cpp | 12 +
.../trace/FileModel2Test/bug267668Enums.cpp | 7 +
.../trace/FileModel2Test/bug267668Enums.inc | 2 +
.../cnd/modelimpl/trace/FileModel2Test/iz175324.cc | 2 +-
.../trace/FileModel3Test/align_local_assert.c | 13 +
.../cnd/modelimpl/trace/FileModel3Test/atomic.c | 4 +
.../cnd/modelimpl/trace/FileModel3Test/atomic_2.c | 4 +
.../cnd/modelimpl/trace/FileModel3Test/delay.c | 6 +-
.../trace/FileModelCpp11Test/bug254133.cpp | 12 +
.../csm/core/ModifyDocumentTestCaseBase.java | 4 +
.../impl/services/IncludeResolverImplTestCase.java | 11 -
.../MacroExpansionDocProviderImplBaseTestCase.java | 11 -
.../services/MacroExpansionExpandTestCase.java | 11 -
.../MacroExpansionNextPrevMacroTestCase.java | 11 -
.../services/MacroExpansionOffsetsTestCase.java | 11 -
.../impl/services/MacroExpansionSpanTestCase.java | 11 -
.../services/MacroExpansionTablesTestCase.java | 11 -
.../services/MacroExpansionUsagesTestCase.java | 11 -
.../impl/services/MacroUsagesTestCase.java | 2 +-
.../modelimpl/impl/services/SelectTestBase.java | 6 +-
.../recovery/base/RecoveryTestCaseBase.java | 36 +-
.../cnd/modelimpl/test/ProjectBasedTestCase.java | 75 +-
.../cnd/modelimpl/trace/FileModel2Test.java | 58 +
.../cnd/modelimpl/trace/FileModel3Test.java | 13 +
.../cnd/modelimpl/trace/FileModelCpp11Test.java | 5 +
.../cnd/modelimpl/trace/TraceModelTestBase.java | 10 +-
.../code-completion-test-result-analyzer/build.xml | 69 -
.../manifest.mf | 3 -
.../nbproject/build-impl.xml | 629 -
.../nbproject/genfiles.properties | 8 -
.../nbproject/project.properties | 61 -
.../nbproject/project.xml | 16 -
.../MyHandler.java | 276 -
cnd.modelimpl/test/whitebox/dm-utils/build.xml | 108 -
cnd.modelimpl/test/whitebox/dm-utils/build_cli.xml | 89 -
cnd.modelimpl/test/whitebox/dm-utils/manifest.mf | 5 -
.../whitebox/dm-utils/nbproject/build-impl.xml | 629 -
.../dm-utils/nbproject/genfiles.properties | 8 -
.../whitebox/dm-utils/nbproject/project.properties | 58 -
.../test/whitebox/dm-utils/nbproject/project.xml | 16 -
.../whitebox/dm-utils/src/modelutils/Config.java | 160 -
.../dm-utils/src/modelutils/FileCodeModel.java | 73 -
.../src/modelutils/FileCodeModelDeclaration.java | 101 -
.../test/whitebox/dwarf-classview/build.xml | 108 -
.../test/whitebox/dwarf-classview/build_cli.xml | 114 -
.../test/whitebox/dwarf-classview/manifest.mf | 3 -
.../test/whitebox/dwarf-classview/manifest_cli.mf | 3 -
.../dwarf-classview/nbproject/build-impl.xml | 635 -
.../dwarf-classview/nbproject/genfiles.properties | 8 -
.../dwarf-classview/nbproject/project.properties | 66 -
.../whitebox/dwarf-classview/nbproject/project.xml | 34 -
.../src/test/dwarfclassview/ClassViewDocument.java | 55 -
.../src/test/dwarfclassview/ClassViewDumper.java | 485 -
.../src/test/dwarfclassview/ClassViewElement.java | 89 -
.../src/test/dwarfclassview/ConfigFile.java | 113 -
.../src/test/dwarfclassview/consts/KIND.java | 87 -
.../src/test/dwarfclassview/consts/NodeATTR.java | 79 -
.../kindresolver/GlobalScopeKindResolver.java | 63 -
.../kindresolver/InClassKindResolver.java | 84 -
.../dwarfclassview/kindresolver/KindResolver.java | 130 -
.../test/whitebox/dwarf-classview/xml/allTree.xsl | 227 -
.../test/whitebox/dwarf-classview/xml/style.css | 72 -
.../test/whitebox/dwarf-classview/xml/tree.js | 249 -
cnd.modelimpl/test/whitebox/dwarf-dump/build.xml | 108 -
.../test/whitebox/dwarf-dump/build_cli.xml | 120 -
cnd.modelimpl/test/whitebox/dwarf-dump/manifest.mf | 5 -
.../whitebox/dwarf-dump/nbproject/build-impl.xml | 635 -
.../dwarf-dump/nbproject/genfiles.properties | 8 -
.../dwarf-dump/nbproject/project.properties | 66 -
.../test/whitebox/dwarf-dump/nbproject/project.xml | 34 -
.../dwarf-dump/src/test/dwarfdump/DwarfDump.java | 231 -
.../test/whitebox/dwarf-vs-model/build.xml | 110 -
.../test/whitebox/dwarf-vs-model/build_cli.xml | 202 -
.../test/whitebox/dwarf-vs-model/configure_all.sh | 91 -
.../test/whitebox/dwarf-vs-model/manifest.mf | 3 -
.../dwarf-vs-model/nbproject/build-impl.xml | 647 -
.../dwarf-vs-model/nbproject/genfiles.properties | 11 -
.../nbproject/profiler-build-impl.xml | 131 -
.../dwarf-vs-model/nbproject/project.properties | 84 -
.../whitebox/dwarf-vs-model/nbproject/project.xml | 82 -
.../test/whitebox/dwarf-vs-model/popular-commands | 112 -
.../test/whitebox/dwarf-vs-model/prepare_all.sh | 108 -
.../test/whitebox/dwarf-vs-model/run_all.sh | 130 -
.../src/dwarfvsmodel/ComparationResult.java | 104 -
.../src/dwarfvsmodel/ComparisonUtils.java | 303 -
.../dwarf-vs-model/src/dwarfvsmodel/Config.java | 408 -
.../src/dwarfvsmodel/ConfigFile.java | 123 -
.../dwarf-vs-model/src/dwarfvsmodel/DMFlags.java | 96 -
.../dwarf-vs-model/src/dwarfvsmodel/DMUtils.java | 75 -
.../dwarf-vs-model/src/dwarfvsmodel/DwarfList.java | 345 -
.../dwarf-vs-model/src/dwarfvsmodel/DwarfTree.java | 161 -
.../src/dwarfvsmodel/DwarfVsModelMain.java | 334 -
.../dwarf-vs-model/src/dwarfvsmodel/FileInfo.java | 184 -
.../src/dwarfvsmodel/ModelComparator.java | 835 -
.../dwarf-vs-model/src/dwarfvsmodel/ModelList.java | 220 -
.../dwarf-vs-model/src/dwarfvsmodel/ModelTree.java | 223 -
.../dwarf-vs-model/src/dwarfvsmodel/Node.java | 178 -
.../dwarf-vs-model/src/dwarfvsmodel/Tracer.java | 191 -
.../test/whitebox/dwarf-vs-model/summary.sh | 151 -
.../test/whitebox/dwarf-vs-model/test/bodies.cc | 294 -
.../test/whitebox/dwarf-vs-model/test/classes.cc | 67 -
.../test/whitebox/dwarf-vs-model/test/classes2.cc | 62 -
.../test/whitebox/dwarf-vs-model/test/classes2.h | 70 -
.../test/whitebox/dwarf-vs-model/test/classes3.cc | 66 -
.../test/whitebox/dwarf-vs-model/test/classes3.h | 72 -
.../whitebox/dwarf-vs-model/test/inc/options.h | 52 -
.../whitebox/dwarf-vs-model/test/namespaces.cc | 67 -
.../test/whitebox/dwarf-vs-model/test/namespaces.h | 53 -
.../test/whitebox/dwarf-vs-model/test/operators.cc | 69 -
.../test/whitebox/dwarf-vs-model/test/operators.h | 59 -
.../test/whitebox/dwarf-vs-model/test/options.cc | 53 -
.../test/whitebox/dwarf-vs-model/test/overloads.cc | 68 -
.../test/whitebox/dwarf-vs-model/test/overloads.h | 55 -
.../test/whitebox/dwarf-vs-model/test/test.cfg | 53 -
.../test/whitebox/dwarf-vs-model/test/test.sh | 181 -
.../test/whitebox/elsa-result-analyser/build.xml | 69 -
.../test/whitebox/elsa-result-analyser/manifest.mf | 3 -
.../elsa-result-analyser/nbproject/build-impl.xml | 629 -
.../nbproject/genfiles.properties | 8 -
.../nbproject/project.properties | 61 -
.../elsa-result-analyser/nbproject/project.xml | 16 -
.../src/ElsaResultAnalyser/AstNode.java | 1778 -
.../src/ElsaResultAnalyser/Declaration.java | 83 -
.../src/ElsaResultAnalyser/Lexer.java | 482 -
.../src/ElsaResultAnalyser/Main.java | 159 -
.../src/ElsaResultAnalyser/Offset.java | 97 -
.../src/ElsaResultAnalyser/Parser.java | 185 -
.../src/ElsaResultAnalyser/Token.java | 73 -
.../src/ElsaResultAnalyser/TokenTable.java | 888 -
cnd.modelimpl/test/whitebox/model-dump/build.xml | 108 -
.../test/whitebox/model-dump/build_cli.xml | 185 -
cnd.modelimpl/test/whitebox/model-dump/manifest.mf | 3 -
.../whitebox/model-dump/nbproject/build-impl.xml | 647 -
.../model-dump/nbproject/genfiles.properties | 8 -
.../model-dump/nbproject/project.properties | 85 -
.../test/whitebox/model-dump/nbproject/project.xml | 82 -
.../src/modeldump/FileCodeModelReader.java | 137 -
.../model-dump/src/modeldump/ModelDump.java | 316 -
.../scripts/analyze-test-results-for-project.sh | 46 -
cnd.modelimpl/test/whitebox/scripts/c++ | 47 -
cnd.modelimpl/test/whitebox/scripts/cc | 47 -
cnd.modelimpl/test/whitebox/scripts/countfiles.sh | 138 -
cnd.modelimpl/test/whitebox/scripts/g++ | 48 -
cnd.modelimpl/test/whitebox/scripts/gcc | 47 -
.../scripts/generate-golden-data-for-files.sh | 94 -
.../scripts/generate-golden-data-for-pp-files.sh | 83 -
.../scripts/generate-golden-data-for-pp-project.sh | 19 -
.../scripts/generate-golden-data-for-project.sh | 19 -
.../whitebox/scripts/preprocessor-for-project/c++ | 82 -
.../whitebox/scripts/preprocessor-for-project/cc | 82 -
.../whitebox/scripts/preprocessor-for-project/g++ | 83 -
.../whitebox/scripts/preprocessor-for-project/gcc | 82 -
.../preprocessor-for-project/preprocess-project.sh | 34 -
.../preprocess-project2.sh | 34 -
cnd.modelimpl/test/whitebox/scripts/substitute.sh | 72 -
cnd.modelimpl/test/whitebox/scripts/test-report.sh | 134 -
cnd.modelimpl/test/whitebox/scripts/test-run.sh | 67 -
cnd.modelimpl/test/whitebox/scripts/test.sh | 462 -
cnd.modelui/build.xml | 2 +-
cnd.modelui/nbproject/project.properties | 39 +-
cnd.modelui/nbproject/project.xml | 64 +
.../netbeans/modules/cnd/modelui/Bundle.properties | 2 +-
.../modules/cnd/modelui/actions/Bundle.properties | 3 +-
.../actions/CleanupCachePseudoOptionProcessor.java | 121 +
.../modelui/actions/ForceReparseProjectAction.java | 71 +
.../src/org/netbeans/modules/cnd/modelui/layer.xml | 11 +-
.../modules/cnd/modelui/parsing/Bundle.properties | 4 +-
.../modelui/parsing/ParsingProblemResolver.java | 3 +
.../modules/cnd/modelui/switcher/Bundle.properties | 4 +-
.../cnd/modelui/switcher/SwitchProjectAction.java | 5 +-
.../modules/cnd/modelui/trace/Bundle.properties | 6 +-
cnd.modelutil/nbproject/project.properties | 39 +-
cnd.modelutil/nbproject/project.xml | 81 +-
.../modules/cnd/modelutil/CsmUtilities.java | 114 +-
.../cnd/modelutil/resources/Bundle.properties | 2 +-
.../modules/cnd/modelutil/resources/layer.xml | 2 +-
cnd.navigation/build.xml | 39 +
cnd.navigation/nbproject/project.properties | 39 +-
cnd.navigation/nbproject/project.xml | 51 +-
.../cnd/navigation/callgraph/Bundle.properties | 37 +
.../callgraph/CallGraphModelFactoryImpl.java | 5 +-
.../modules/cnd/navigation/callgraph/CallImpl.java | 44 +-
.../cnd/navigation/callgraph/CallModelImpl.java | 39 +-
.../cnd/navigation/callgraph/FunctionImpl.java | 16 +-
.../cnd/navigation/callgraph/VariableImpl.java | 30 +-
.../cnd/navigation/docview/DocViewPanel.java | 3 +
.../navigation/macroview/MacroExpansionPanel.java | 11 -
.../macroview/MacroExpansionViewUtils.java | 11 -
.../services/MacroExpansionViewProviderImpl.java | 13 +-
.../navigation/overrides/ComputeAnnotations.java | 48 +-
.../navigation/overrides/OverrideTaskFactory.java | 2 +-
.../resources/HierarchyTopComponentSettings.xml | 39 +
.../resources/HierarchyTopComponentWstcref.xml | 39 +
.../MacroExpansionTopComponentSettings.xml | 39 +
.../MacroExpansionTopComponentWstcref.xml | 39 +
.../cnd/navigation/resources/cnd_navigation.wsgrp | 39 +
.../modules/cnd/navigation/resources/layer.xml | 39 +
cnd.qnavigator/nbproject/project.properties | 39 +-
cnd.qnavigator/nbproject/project.xml | 39 +
.../qnavigator/navigator/CppDeclarationNode.java | 68 +-
.../qnavigator/navigator/GoToDefinitionAction.java | 89 +
cnd.refactoring/build.xml | 39 +
cnd.refactoring/nbproject/project.properties | 39 +-
cnd.refactoring/nbproject/project.xml | 51 +-
.../actions/CsmRefactoringActionsProvider.java | 2 +-
.../actions/InstantRenamePerformer.java | 7 +-
.../actions/RefactoringActionsProvider.java | 11 +-
.../refactoring/codegen/ConstructorGenerator.java | 2 +-
.../codegen/CopyConstructorGenerator.java | 2 +-
.../codegen/DelegateMethodGenerator.java | 2 +-
.../refactoring/codegen/GetterSetterGenerator.java | 2 +-
.../codegen/ImplementOverrideMethodGenerator.java | 2 +-
.../cnd/refactoring/codegen/OperatorGenerator.java | 167 +-
.../completion/delegate/Bundle.properties | 37 +
.../completion/implmethod/Bundle.properties | 37 +
.../CsmImplementsMethodCompletionItem.java | 11 +-
.../completion/overridemethod/Bundle.properties | 38 +
.../CsmOverrideMethodCompletionItem.java | 21 +-
.../refactoring/hints/AssignmentVariableFix.java | 40 +-
.../cnd/refactoring/hints/Bundle.properties | 37 +
.../hints/IntroduceVariableBaseFix.java | 40 +-
.../refactoring/hints/IntroduceVariableFix.java | 40 +-
.../cnd/refactoring/hints/StatementFinder.java | 2 +-
.../hints/infrastructure/Bundle.properties | 37 +
.../introduce/ExtendedIntroduceVariableFix.java | 40 +-
.../refactoring/introduce/IntroduceFieldFix.java | 40 +-
.../introduce/IntroduceMethodPanel.java | 10 +-
.../org/netbeans/modules/cnd/refactoring/layer.xml | 39 +
.../cnd/refactoring/plugins/Bundle.properties | 1 +
.../plugins/CsmModificationRefactoringPlugin.java | 2 +-
.../refactoring/plugins/CsmRefactoringPlugin.java | 3 +-
.../plugins/CsmRenameRefactoringPlugin.java | 17 +-
.../refactoring/support/CsmRefactoringUtils.java | 40 +-
.../refactoring/support/ModificationResult.java | 24 +-
.../modules/cnd/refactoring/ui/InsertPoint.java | 40 +-
.../cnd/refactoring/ui/RenameRefactoringUI.java | 9 +
.../modules/cnd/refactoring/ui/WhereUsedPanel.java | 16 +-
.../actions/InstantRenamePerformerTestCase.java | 11 -
.../CsmWhereUsedQueryPluginTestCaseBase.java | 11 -
.../plugins/WhereUsedInQuoteTestCase.java | 11 -
.../refactoring/test/RefactoringBaseTestCase.java | 11 -
cnd.remote.projectui/build.xml | 39 +
cnd.remote.projectui/nbproject/project.properties | 39 +-
cnd.remote.projectui/nbproject/project.xml | 77 +-
.../modules/cnd/remote/projectui/Bundle.properties | 37 +
.../cnd/remote/projectui/actions/Bundle.properties | 37 +
.../actions/NewRemoteProjectPerformer.java | 2 +-
.../cnd/remote/projectui/resources/layer.xml | 133 +-
.../cnd/remote/projectui/toolbar/Bundle.properties | 37 +
.../toolbar/RemoteHostActionPerformer.java | 2 +-
.../remote/projectui/wizard/cnd/Bundle.properties | 4 +-
.../wizard/cnd/NewMakeProjectWizardIterator.java | 17 +-
.../projectui/wizard/ide/TemplatesPanelGUI.java | 4 +
cnd.remote.ui/build.xml | 44 +
cnd.remote.ui/manifest.mf | 6 +
cnd.remote.ui/nbproject/project.properties | 39 +
cnd.remote.ui/nbproject/project.xml | 494 +
.../modules/cnd/remote/actions/Bundle.properties | 0
.../cnd/remote/actions/OpenRemoteFileAction.java | 0
.../remote/actions/OpenRemoteFilePerformer.java | 0
.../remote/actions/OpenRemoteProjectAction.java | 0
.../remote/actions/OpenRemoteProjectPerformer.java | 0
.../cnd/remote/actions/RemoteHelpAction.java | 0
.../cnd/remote/actions/RemoteOpenHelper.java | 406 +
.../cnd/remote/actions/SetDefaultAction.java | 0
.../cnd/remote/actions/base/Bundle.properties | 38 +
.../remote/actions/base/RemoteActionPerformer.java | 142 +
.../remote/actions/base/RemoteOpenActionBase.java | 154 +
.../cnd/remote/sync/download/Bundle.properties | 0
.../cnd/remote/sync/download/FileDownloadInfo.java | 0
.../cnd/remote/sync/download/HostUpdates.java | 334 +
.../sync/download/HostUpdatesPersistence.java | 0
.../sync/download/HostUpdatesRegistryImpl.java | 64 +
.../sync/download/HostUpdatesRequestPanel.java | 352 +
.../modules/cnd/remote/sync/download/check.png | Bin
.../modules/cnd/remote/sync/download/error.png | Bin
.../cnd/remote/sync/download/remote-updates.png | Bin
.../modules/cnd/remote/ui/Bundle.properties | 135 +
.../modules/cnd/remote/ui/EditPathMapDialog.form | 222 +
.../modules/cnd/remote/ui/EditPathMapDialog.java | 0
.../cnd/remote/ui/EditServerListDialog.form | 0
.../cnd/remote/ui/EditServerListDialog.java | 581 +
.../cnd/remote/ui/FixRemotePathMapperUIImpl.java | 61 +
.../cnd/remote/ui/HostPropertiesDialog.form | 0
.../cnd/remote/ui/HostPropertiesDialog.java | 316 +
.../cnd/remote/ui/impl/RemoteSyncNotifierImpl.java | 164 +
.../remote/ui/networkneighbour/Bundle.properties | 0
.../ui/networkneighbour/HostSelectionPanel.form | 0
.../ui/networkneighbour/HostSelectionPanel.java | 0
.../remote/ui/networkneighbour/NeighbourHost.java | 0
.../ui/networkneighbour/NeighbourHostNode.java | 0
.../ui/networkneighbour/NeighbourhoodRootNode.java | 0
.../networkneighbour/NetworkNeighbourhoodList.java | 0
.../ui/networkneighbour/NetworkRegistry.java | 0
.../remote/ui/networkneighbour/PortTextField.java | 0
.../cnd/remote/ui/proxysettings/Bundle.properties | 0
.../ui/proxysettings/ProxySettingsPanel.form | 0
.../ui/proxysettings/ProxySettingsPanel.java | 196 +
.../cnd/remote/ui/resources/Bundle.properties | 39 +
.../modules/cnd/remote/ui/server/Bundle.properties | 69 +
.../cnd/remote/ui/server/RemoteServerListUI.java | 196 +
.../modules/cnd/remote/ui/setup/Bundle.properties | 41 +
.../remote/ui/setup/CreateHostVisualPanel0.form | 0
.../remote/ui/setup/CreateHostVisualPanel0.java | 0
.../remote/ui/setup/CreateHostWizardIterator.java | 275 +
.../remote/ui/setup/CreateHostWizardPanel0.java | 137 +
.../cnd/remote/ui/setup/TextComponentWriter.java | 99 +
.../modules/cnd/remote/ui/wizard/Bundle.properties | 93 +
.../cnd/remote/ui/wizard/CreateHostData.java | 122 +
.../remote/ui/wizard/CreateHostVisualPanel1.form | 0
.../remote/ui/wizard/CreateHostVisualPanel1.java | 250 +
.../remote/ui/wizard/CreateHostVisualPanel2.form | 0
.../remote/ui/wizard/CreateHostVisualPanel2.java | 408 +
.../remote/ui/wizard/CreateHostVisualPanel3.form | 249 +
.../remote/ui/wizard/CreateHostVisualPanel3.java | 308 +
.../ui/wizard/CreateHostVisualPanelBase.java | 61 +
.../remote/ui/wizard/CreateHostWizardPanel1.java | 0
.../remote/ui/wizard/CreateHostWizardPanel2.java | 198 +
.../remote/ui/wizard/CreateHostWizardPanel3.java | 99 +
.../remote/ui/wizard/RemoteHostSetupProvider.java | 92 +
.../remote/ui/wizard/RemoteHostSetupWorker.java | 83 +
.../remote/ui/wizard/SelectHostVisualPanel.form | 0
.../remote/ui/wizard/SelectHostVisualPanel.java | 0
.../remote/ui/wizard/SelectHostWizardPanel.java | 212 +
.../SelectHostWizardProviderFactoryImpl.java | 102 +
.../cnd/spi/remote/ui/HostSetupWorkerUI.java | 55 +
.../modules/remote/ui/AddToFavoritesAction.java | 453 +
.../modules/remote/ui/AddToolchainAction.java | 68 +
.../netbeans/modules/remote/ui/Bundle.properties | 94 +
.../netbeans/modules/remote/ui/ConnectAction.java | 117 +
.../modules/remote/ui/DisconnectAction.java | 0
.../netbeans/modules/remote/ui/FileSystemNode.java | 0
.../modules/remote/ui/FileSystemNodeProvider.java | 0
.../modules/remote/ui/FileSystemRootNode.java | 0
.../netbeans/modules/remote/ui/FsTestActions.java | 0
.../org/netbeans/modules/remote/ui/FsTests.java | 0
.../modules/remote/ui/HostListRootNode.java | 229 +
.../org/netbeans/modules/remote/ui/HostNode.java | 243 +
.../modules/remote/ui/HostNodesProvider.java | 0
.../modules/remote/ui/HostPropertiesAction.java | 0
.../modules/remote/ui/NewRemoteProjectAction.java | 90 +
.../modules/remote/ui/NotConnectedNode.java | 0
.../modules/remote/ui/OpenRemoteProjectAction.java | 272 +
.../modules/remote/ui/OpenTerminalAction.java | 0
.../modules/remote/ui/PathMapperAction.java | 0
.../netbeans/modules/remote/ui/RefreshAction.java | 0
.../modules/remote/ui/RemoveHostAction.java | 101 +
.../modules/remote/ui/RemoveToolchainAction.java | 0
.../modules/remote/ui/RestoreToolchainsAction.java | 0
.../modules/remote/ui/SetDefaultHostAction.java | 0
.../remote/ui/SetDefaultToolchainAction.java | 0
.../modules/remote/ui/ShowToolchainsAction.java | 0
.../modules/remote/ui/SingleHostAction.java | 0
.../modules/remote/ui/StatisticsActions.java | 0
.../modules/remote/ui/ToolchainListRootNode.java | 239 +
.../modules/remote/ui/ToolchainNodeProvider.java | 0
.../org/netbeans/modules/remote/ui/connected.png | Bin
.../netbeans/modules/remote/ui/connected_host.png | Bin
.../netbeans/modules/remote/ui/disconnected.png | Bin
.../modules/remote/ui/disconnected_host.png | Bin
.../src/org/netbeans/modules/remote/ui/fs.gif | Bin
.../src/org/netbeans/modules/remote/ui/fs_open.gif | Bin
.../netbeans/modules/remote/ui/not_set_up_host.png | Bin
.../src/org/netbeans/modules/remote/ui/servers.png | Bin
.../netbeans/modules/remote/ui/single_server.png | Bin
.../src/org/netbeans/modules/remote/ui/tool.png | Bin
.../modules/remote/ui/tools_collection.gif | Bin
.../RemoteBuildUpdatesDownloadTestCase.java | 233 +
.../cnd/remote/ui/test/RemoteDevelopmentTest.java | 71 +
.../cnd/remote/ui/wizard/HostSetupTestCase.java | 0
.../api/ui/RemoteFileSystemViewTestCase.java | 0
cnd.remote/build.xml | 65 +
cnd.remote/external/binaries-list | 7 +
cnd.remote/nbproject/project.properties | 39 +-
cnd.remote/nbproject/project.xml | 201 +-
cnd.remote/release/bin/rfs_test_env.sh | 37 +-
.../netbeans/modules/cnd/remote/Bundle.properties | 37 +
.../RemoteSyncFactoryDefaultProviderImpl.java | 73 +
.../cnd/remote/actions/RemoteOpenHelper.java | 406 -
.../cnd/remote/actions/base/Bundle.properties | 1 -
.../remote/actions/base/RemoteActionPerformer.java | 141 -
.../remote/actions/base/RemoteOpenActionBase.java | 154 -
.../remote/compilers/CompilerSetScriptManager.java | 12 +-
.../compilers/RemoteCompilerSetProvider.java | 23 +-
.../cnd/remote/mapper/FixRemotePathMapper.java | 84 +
.../remote/mapper/HostMappingProviderLinux.java | 2 +-
.../remote/mapper/HostMappingProviderSamba.java | 4 +-
.../remote/mapper/HostMappingProviderSolaris.java | 4 +-
.../mapper/HostMappingProviderUnixAbstract.java | 24 +-
.../remote/mapper/HostMappingProviderWindows.java | 2 +-
.../mapper/HostMappingProviderWindowsUnixNFS.java | 2 +-
.../mapper/RemoteHostInfoProviderFactory.java | 2 +-
.../modules/cnd/remote/mapper/RemotePathMap.java | 33 +-
.../modules/cnd/remote/mapper/WindowsSupport.java | 7 +-
.../cnd/remote/server/RemoteServerList.java | 5 +-
.../cnd/remote/server/RemoteServerListUI.java | 194 -
.../cnd/remote/server/RemoteServerRecord.java | 16 +-
.../cnd/remote/server/RemoteServerSetup.java | 2 +-
.../modules/cnd/remote/server/StopWatch.java | 117 +
.../cnd/remote/server/X11ForwardingChecker.java | 2 +-
.../remote/support/RemoteConnectionSupport.java | 1 +
.../cnd/remote/support/RemoteProjectSupport.java | 1 +
.../support/RemoteServerListProviderImpl.java | 5 +
.../modules/cnd/remote/support/RemoteUtil.java | 157 -
.../modules/cnd/remote/sync/Bundle.properties | 22 -
.../modules/cnd/remote/sync/FileCollector.java | 32 +-
.../netbeans/modules/cnd/remote/sync/FileData.java | 2 +-
.../modules/cnd/remote/sync/FsSkewNotifier.java | 157 -
.../modules/cnd/remote/sync/FtpSyncFactory.java | 2 +-
.../modules/cnd/remote/sync/FtpSyncWorker.java | 18 +-
.../cnd/remote/sync/FullRemoteSyncWorker.java | 5 +-
.../cnd/remote/sync/RemoteBinaryServiceImpl.java | 11 +-
.../sync/RemoteBuildProjectActionHandler.java | 23 +-
.../RemoteBuildProjectActionHandlerFactory.java | 35 +-
.../cnd/remote/sync/RfsLocalController.java | 39 +-
.../modules/cnd/remote/sync/RfsSetupProvider.java | 3 +-
.../modules/cnd/remote/sync/RfsSyncFactory.java | 2 +-
.../modules/cnd/remote/sync/RfsSyncWorker.java | 57 +-
.../modules/cnd/remote/sync/SharabilityFilter.java | 2 +-
.../modules/cnd/remote/sync/SharedSyncFactory.java | 2 +-
.../modules/cnd/remote/sync/SharedSyncWorker.java | 3 +-
.../modules/cnd/remote/sync/SyncUtils.java | 50 +-
.../cnd/remote/sync/download/HostUpdates.java | 335 -
.../sync/download/HostUpdatesRequestPanel.java | 352 -
.../modules/cnd/remote/ui/Bundle.properties | 135 -
.../modules/cnd/remote/ui/EditPathMapDialog.form | 222 -
.../cnd/remote/ui/EditServerListDialog.java | 581 -
.../cnd/remote/ui/HostPropertiesDialog.java | 316 -
.../ui/proxysettings/ProxySettingsPanel.java | 190 -
.../modules/cnd/remote/ui/setup/Bundle.properties | 4 -
.../remote/ui/setup/CreateHostWizardIterator.java | 272 -
.../remote/ui/setup/CreateHostWizardPanel0.java | 137 -
.../modules/cnd/remote/ui/setup/StopWatch.java | 117 -
.../modules/cnd/remote/ui/wizard/Bundle.properties | 101 -
.../cnd/remote/ui/wizard/CreateHostData.java | 122 -
.../remote/ui/wizard/CreateHostVisualPanel1.java | 248 -
.../remote/ui/wizard/CreateHostVisualPanel2.java | 407 -
.../remote/ui/wizard/CreateHostVisualPanel3.form | 248 -
.../remote/ui/wizard/CreateHostVisualPanel3.java | 301 -
.../remote/ui/wizard/CreateHostWizardPanel2.java | 198 -
.../remote/ui/wizard/CreateHostWizardPanel3.java | 99 -
.../cnd/remote/ui/wizard/HostValidatorImpl.java | 217 -
.../remote/ui/wizard/RemoteHostSetupProvider.java | 92 -
.../remote/ui/wizard/RemoteHostSetupWorker.java | 83 -
.../RemoteSyncFactoryDefaultProviderImpl.java | 73 -
.../remote/ui/wizard/SelectHostWizardPanel.java | 212 -
.../SelectHostWizardProviderFactoryImpl.java | 102 -
.../modules/cnd/remote/utils/RemoteUtil.java | 158 +
.../modules/cnd/spi/remote/setup/Bundle.properties | 51 +
.../cnd/spi/remote/setup/HostSetupProvider.java | 2 +-
.../cnd/spi/remote/setup/HostSetupWorker.java | 15 -
.../cnd/spi/remote/setup/HostValidatorFactory.java | 58 +
.../cnd/spi/remote/setup/HostValidatorImpl.java | 215 +
.../cnd/spi/remote/setup/support/Bundle.properties | 62 +
.../remote/setup/support/HostUpdatesRegistry.java | 70 +
.../remote/setup/support/RemoteSyncNotifier.java | 140 +
.../remote/setup/support/TextComponentWriter.java | 99 -
.../modules/remote/ui/AddToFavoritesAction.java | 453 -
.../modules/remote/ui/AddToolchainAction.java | 68 -
.../netbeans/modules/remote/ui/Bundle.properties | 56 -
.../netbeans/modules/remote/ui/ConnectAction.java | 117 -
.../modules/remote/ui/HostListRootNode.java | 225 -
.../org/netbeans/modules/remote/ui/HostNode.java | 237 -
.../modules/remote/ui/NewRemoteProjectAction.java | 84 -
.../modules/remote/ui/OpenRemoteProjectAction.java | 272 -
.../modules/remote/ui/RemoveHostAction.java | 101 -
.../modules/remote/ui/ToolchainListRootNode.java | 239 -
.../modules/cnd/remote/fs/CndFileUtilTestCase.java | 32 +-
.../cnd/remote/fs/FullRemoteCodeModelTestCase.java | 17 +-
.../cnd/remote/fs/RemoteCodeModelTestCase.java | 2 +-
.../cnd/remote/full/FullRemoteBuildTestCase.java | 2 +-
.../remote/pbuild/LinuxTouchRfsBuildTestCase.java | 2 +-
.../remote/pbuild/RemoteBuildLinksTestCase.java | 4 +-
.../remote/pbuild/RemoteBuildMakefileTestCase.java | 2 +-
.../RemoteBuildRequiredProjectsTestCase.java | 2 +-
.../remote/pbuild/RemoteBuildSamplesTestCase.java | 2 +-
.../remote/pbuild/RemoteBuildSharedTestCase.java | 2 +-
.../RfsGnuParameterizedRemoteBuildTestCase.java | 4 +-
.../remote/pbuild/RfsGnuRemoteBuildTestCase.java | 2 +-
.../pbuild/RfsSunStudioRemoteBuildTestCase.java | 4 +-
.../cnd/remote/support/TransportTestCase.java | 2 +-
.../modules/cnd/remote/support/UploadTestCase.java | 2 +-
.../remote/sync/AbstractSyncWorkerTestCase.java | 13 +
.../cnd/remote/sync/FtpSyncWorkerTestCase.java | 8 +
.../remote/sync/RemoteBinaryServiceTestCase.java | 8 +-
.../sync/RfsRemoteControllerDeathTestCase.java | 8 +-
.../RemoteBuildUpdatesDownloadTestCase.java | 233 -
.../cnd/remote/test/RemoteBuildTestBase.java | 7 +-
.../cnd/remote/test/RemoteDevelopment3Test.java | 6 +-
.../modules/cnd/remote/test/RemoteTestBase.java | 38 +-
cnd.remote/tools/Makefile | 53 +-
cnd.remote/tools/Makefile-tools.mk | 109 -
cnd.remote/tools/build.sh | 37 +-
cnd.remote/tools/nbproject/Package-Debug32.bash | 75 -
cnd.remote/tools/nbproject/Package-Debug64.bash | 75 -
cnd.remote/tools/nbproject/configurations.xml | 561 +-
cnd.remote/tools/nbproject/project.properties | 37 +
cnd.remote/tools/nbproject/project.xml | 73 +-
cnd.remote/tools/rfs_controller.c | 27 +-
cnd.remote/tools/rfs_filedata.c | 6 +-
cnd.remote/tools/rfs_preload.c | 42 +-
cnd.remote/tools/rfs_util.c | 10 +
cnd.remote/tools/rfs_util.h | 1 +
cnd.remote/tools/test/test1.sh | 37 +-
cnd.remote/tools/test/test_pkg_client.c | 40 +-
cnd.remote/tools/test/test_rfs_filedata.c | 40 +-
cnd.remote/tools/upload_rfs_binaries.bash | 111 +
cnd.repository.api/build.xml | 39 +
cnd.repository.api/nbproject/project.properties | 39 +-
cnd.repository.api/nbproject/project.xml | 40 +
.../modules/cnd/repository/api/Repository.java | 39 +
cnd.repository/build.xml | 6 +-
cnd.repository/nbproject/project.properties | 39 +-
cnd.repository/nbproject/project.xml | 51 +-
.../cnd/repository/AsyncRepositoryWriterImpl.java | 12 +-
.../modules/cnd/repository/disk/Bundle.properties | 37 +
.../cnd/repository/disk/DoubleFileStorage.java | 5 +-
.../cnd/repository/resources/Bundle.properties | 2 +-
.../modules/cnd/repository/storage/Storage.java | 3 +-
cnd.repository/test/mws-sample/results.xml | 4 +-
cnd.repository/test/results.xsl | 82 +-
.../access/RepositoryAccessTestBase.java | 2 +-
.../layering/RepositoryRelocationTest.java | 34 +-
.../cnd/repository/util/RepositoryTestSupport.java | 2 +-
cnd.script/build.xml | 39 +
cnd.script/nbproject/project.properties | 39 +-
cnd.script/nbproject/project.xml | 94 +-
.../modules/cnd/makefile/loaders/Bundle.properties | 2 -
.../cnd/makefile/loaders/MakefileDataObject.java | 15 +-
.../cnd/makefile/parser/MakefileParser.java | 8 +-
.../makefile/parser/MakefileStructureScanner.java | 16 +-
.../modules/cnd/makefile/wizard/Bundle.properties | 12 +-
.../modules/cnd/script/lexer/CMakeLexer.java | 428 +-
.../netbeans/modules/cnd/script/lexer/ShLexer.java | 28 +-
.../cnd/script/loaders/ShellDataObject.java | 12 +-
.../modules/cnd/script/resources/Bundle.properties | 37 +
.../modules/cnd/script/resources/bashScript.html | 75 +-
.../cnd/script/resources/cmakeFontsColors.xml | 39 +
.../cnd/script/resources/cmakeIncFontsColors.xml | 39 +
.../cnd/script/resources/complexMakefile.html | 77 +-
.../modules/cnd/script/resources/cshScript.html | 75 +-
.../modules/cnd/script/resources/kshScript.html | 75 +-
.../modules/cnd/script/resources/layer.xml | 49 +-
.../modules/cnd/script/resources/makefiles.html | 75 +-
.../cnd/script/resources/mime-resolver-make.xml | 26 -
.../modules/cnd/script/resources/mime-resolver.xml | 44 -
.../cnd/script/resources/scriptTemplates.html | 75 +-
.../modules/cnd/script/resources/shScript.html | 75 +-
.../cnd/script/resources/shellFontsColors.xml | 39 +
.../modules/cnd/script/resources/zshScript.html | 75 +-
cnd.search/build.xml | 39 +
cnd.search/manifest.mf | 2 +-
cnd.search/nbproject/project.properties | 37 +
cnd.search/nbproject/project.xml | 65 +-
.../modules/cnd/search/resources/Bundle.properties | 37 +
.../modules/cnd/search/ui/Bundle.properties | 37 +
cnd.simpleunit/build.xml | 39 +
cnd.simpleunit/nbproject/project.properties | 39 +-
cnd.simpleunit/nbproject/project.xml | 71 +-
.../modules/cnd/simpleunit/Bundle.properties | 37 +
.../editor/filecreation/TestSimpleIterator.java | 2 +-
.../org/netbeans/modules/cnd/simpleunit/layer.xml | 45 +-
.../cnd/simpleunit/resources/simple-test-c.html | 75 +-
.../cnd/simpleunit/resources/simple-test-cc.html | 75 +-
.../cnd/simpleunit/resources/test-simple-c.html | 11 +-
.../cnd/simpleunit/resources/test-simple-cpp.html | 11 +-
.../cnd/simpleunit/resources/testFiles.html | 11 +-
.../spi/wizard/AbstractUnitTestIterator.java | 3 +-
.../cnd/simpleunit/wizard/Bundle.properties | 37 +
cnd.source/build.xml | 39 +
cnd.source/nbproject/project.properties | 39 +-
cnd.source/nbproject/project.xml | 51 +-
.../netbeans/modules/cnd/source/Bundle.properties | 11 -
.../netbeans/modules/cnd/source/CCDataObject.java | 4 -
.../netbeans/modules/cnd/source/CDataObject.java | 3 -
.../modules/cnd/source/CppEditorSupport.java | 44 +-
.../cnd/source/CppEditorSupportProvider.java | 10 +-
.../modules/cnd/source/FortranDataObject.java | 3 -
.../netbeans/modules/cnd/source/HDataObject.java | 3 -
.../modules/cnd/source/SourceDataObject.java | 13 +-
.../modules/cnd/source/resources/Bundle.properties | 37 +
.../modules/cnd/source/resources/layer.xml | 39 +
.../modules/cnd/source/spi/CndCookieProvider.java | 86 -
.../source/spi/CndDocumentCodeStyleProvider.java | 54 -
.../nbproject/project.properties | 2 +-
cnd.spellchecker.bindings/nbproject/project.xml | 39 +
.../cnd/spellchecker/bindings/CndTokenList.java | 2 +-
cnd.testrunner/build.xml | 39 +
cnd.testrunner/nbproject/project.properties | 2 +-
cnd.testrunner/nbproject/project.xml | 39 +
.../modules/cnd/testrunner/Bundle.properties | 37 +
cnd.toolchain.ui/build.xml | 44 +
cnd.toolchain.ui/manifest.mf | 6 +
cnd.toolchain.ui/nbproject/project.properties | 39 +
cnd.toolchain.ui/nbproject/project.xml | 385 +
.../cnd/api/toolchain/ui/BuildToolsAction.java | 0
.../modules/cnd/api/toolchain/ui/Bundle.properties | 71 +
.../cnd/api/toolchain/ui/LocalToolsPanelModel.java | 0
.../cnd/api/toolchain/ui/PathEnvVariables.form | 255 +
.../cnd/api/toolchain/ui/PathEnvVariables.java | 435 +
.../modules/cnd/api/toolchain/ui/Save.java | 53 +
.../cnd/api/toolchain/ui/ServerListUIEx.java | 114 +
.../toolchain/ui/ToolsPanelGlobalCustomizer.java | 0
.../cnd/api/toolchain/ui/ToolsPanelModel.java | 0
.../cnd/api/toolchain/ui/ToolsPanelSupport.java | 343 +
.../cnd/toolchain/ui/compiler/Bundle.properties | 0
.../ui/compiler/CodeAssistancePanelController.java | 0
.../toolchain/ui/compiler/ParserSettingsPanel.form | 117 +
.../toolchain/ui/compiler/ParserSettingsPanel.java | 435 +
.../cnd/toolchain/ui/compiler/PredefinedPanel.form | 0
.../cnd/toolchain/ui/compiler/PredefinedPanel.java | 552 +
.../modules/cnd/toolchain/ui/compiler/key.png | Bin
.../cnd/toolchain/ui/compilerset/Bundle.properties | 50 +
.../ui/compilerset/FixCodeAssistancePanel.form | 51 +
.../ui/compilerset/FixCodeAssistancePanel.java | 136 +
.../toolchain/ui/compilerset/NoCompilersPanel.form | 54 +
.../toolchain/ui/compilerset/NoCompilersPanel.java | 102 +
.../cnd/toolchain/ui/impl/Bundle.properties | 46 +
.../ui/impl/CSMIntializationTaskRunnerImpl.java | 100 +
.../cnd/toolchain/ui/impl/CSMNotifierUIImpl.java | 87 +
.../cnd/toolchain/ui/impl/OutputListenerImpl.java | 265 +
.../ui/impl/OutputListenerProviderImpl.java | 68 +
.../cnd/toolchain/ui/impl/ShowInOutputFix.java | 98 +
.../toolchain/ui/options/AddCompilerSetPanel.form | 0
.../toolchain/ui/options/AddCompilerSetPanel.java | 710 +
.../cnd/toolchain/ui/options/Bundle.properties | 405 +
.../cnd/toolchain/ui/options/DownloadUtils.java | 0
.../ui/options/DuplicateCompilerSetPanel.form | 0
.../ui/options/DuplicateCompilerSetPanel.java | 296 +
.../ui/options/GlobalToolsPanelModel.java | 0
.../toolchain/ui/options/HostToolsPanelModel.java | 0
.../toolchain/ui/options/IsChangedListener.java | 57 +
.../toolchain/ui/options/ToolCollectionPanel.form | 711 +
.../toolchain/ui/options/ToolCollectionPanel.java | 1509 +
.../cnd/toolchain/ui/options/ToolsPanel.form | 0
.../cnd/toolchain/ui/options/ToolsPanel.java | 1322 +
.../toolchain/ui/options/ToolsPanelController.java | 0
.../cnd/toolchain/ui/options/ToolsUtils.java | 0
.../cnd/toolchain/ui/options/VersionCommand.java | 0
.../modules/cnd/toolchain/ui/options/cnd_32.png | Bin
.../cnd/toolchain/ui/options/package-info.java | 0
.../cnd/toolchain/ui/resources/Bundle.properties | 39 +
cnd.toolchain/build.xml | 39 +
cnd.toolchain/nbproject/project.properties | 41 +-
cnd.toolchain/nbproject/project.xml | 208 +-
.../cnd/api/toolchain/AbstractCompiler.java | 25 +-
.../modules/cnd/api/toolchain/Bundle.properties | 3 +-
.../modules/cnd/api/toolchain/CompilerFlavor.java | 7 +-
.../modules/cnd/api/toolchain/CompilerSet.java | 26 +-
.../cnd/api/toolchain/CompilerSetManager.java | 10 +
.../netbeans/modules/cnd/api/toolchain/Tool.java | 4 +-
.../cnd/api/toolchain/ToolsCacheManager.java | 106 +
.../cnd/api/toolchain/resources/Bundle.properties | 38 +
.../modules/cnd/api/toolchain/ui/Bundle.properties | 55 -
.../cnd/api/toolchain/ui/IsChangedListener.java | 57 -
.../modules/cnd/api/toolchain/ui/Save.java | 51 -
.../cnd/api/toolchain/ui/ServerListUIEx.java | 113 -
.../cnd/api/toolchain/ui/ToolsCacheManager.java | 93 -
.../cnd/api/toolchain/ui/ToolsPanelSupport.java | 383 -
.../modules/cnd/spi/toolchain/Bundle.properties | 2 +-
.../spi/toolchain/CSMInitializationTaskRunner.java | 86 +
.../modules/cnd/spi/toolchain/CSMNotifier.java | 98 +
.../cnd/spi/toolchain/CompilerLineConvertor.java | 4 +-
.../cnd/spi/toolchain/CompilerSetFactory.java | 43 +-
.../spi/toolchain/CompilerSetManagerEvents.java | 48 +-
.../cnd/spi/toolchain/ErrorParserProvider.java | 4 +-
.../cnd/spi/toolchain/OutputListenerExt.java | 60 +
.../cnd/spi/toolchain/OutputListenerProvider.java | 128 +
.../modules/cnd/toolchain/Bundle.properties | 51 +-
.../cnd/toolchain/ToolsCacheManagerImpl.java | 390 +
.../cnd/toolchain/compilers/CCCCompiler.java | 473 +-
.../compilers/CompilerDefinitionAccessor.java | 84 +
.../toolchain/compilers/FingerprintScanner.java | 10 +-
.../cnd/toolchain/compilers/GNUCCCCompiler.java | 35 +-
.../cnd/toolchain/compilers/GNUCCCompiler.java | 1 +
.../cnd/toolchain/compilers/GNUCCompiler.java | 1 +
.../cnd/toolchain/compilers/MsvcCompiler.java | 9 +-
.../cnd/toolchain/compilers/OracleCCompiler.java | 1 +
.../toolchain/compilers/OracleCCppCompiler.java | 69 +-
.../cnd/toolchain/compilers/OracleCppCompiler.java | 1 +
.../cnd/toolchain/compilers/PersistentList.java | 2 +-
.../toolchain/compilers/SPICompilerAccesor.java | 22 +-
.../cnd/toolchain/compilers/SunCCCCompiler.java | 31 +-
.../cnd/toolchain/compilers/SunCCCompiler.java | 3 +-
.../cnd/toolchain/compilers/SunCCompiler.java | 3 +-
.../cnd/toolchain/compilerset/Bundle.properties | 7 +-
.../cnd/toolchain/compilerset/CompilerSetImpl.java | 106 +-
.../CompilerSetManagerAccessorImpl.java | 29 +-
.../compilerset/CompilerSetManagerImpl.java | 41 +-
.../compilerset/CompilerSetPreferences.java | 40 +-
.../compilerset/FixCodeAssistancePanel.form | 51 -
.../compilerset/FixCodeAssistancePanel.java | 135 -
.../toolchain/compilerset/NoCompilersPanel.form | 54 -
.../toolchain/compilerset/NoCompilersPanel.java | 102 -
.../cnd/toolchain/compilerset/ToolUtils.java | 56 +-
.../toolchain/compilerset/ToolchainValidator.java | 44 +-
.../toolchain/execution/CompileErrorScanner.java | 5 +-
.../cnd/toolchain/execution/ErrorParser.java | 9 +-
.../cnd/toolchain/execution/GCCErrorParser.java | 26 +-
.../toolchain/execution/OutputListenerImpl.java | 261 -
.../cnd/toolchain/execution/ShowInOutputFix.java | 100 -
.../org/netbeans/modules/cnd/toolchain/layer.xml | 233 +-
.../resources/toolchaindefinition/CLang_mac_c.xml | 52 +
.../toolchaindefinition/CLang_mac_cpp.xml | 52 +
.../resources/toolchaindefinition/Cygwin_c.xml | 2 +-
.../resources/toolchaindefinition/Cygwin_cpp.xml | 2 +-
.../resources/toolchaindefinition/GNU_c.xml | 2 +-
.../resources/toolchaindefinition/GNU_cpp.xml | 2 +-
.../resources/toolchaindefinition/GNU_mac_c.xml | 51 +
.../resources/toolchaindefinition/GNU_mac_cpp.xml | 51 +
.../resources/toolchaindefinition/GNU_scanner.xml | 1 +
.../OSS_5.13_solaris-sparc_flavor.xml | 2 +-
.../OSS_5.13_solaris-x86_linux_flavor.xml | 2 +-
.../toolchaindefinition/OSS_5.14_linuxGNU_cpp.xml | 118 +
.../OSS_5.14_linuxGNU_flavor.xml | 52 +
.../OSS_5.14_linuxGNU_linker.xml | 52 +
.../OSS_5.14_solaris-sparc_c.xml | 109 +
.../OSS_5.14_solaris-sparc_cpp.xml | 115 +
.../OSS_5.14_solaris-sparc_flavor.xml | 53 +
.../OSS_5.14_solaris-sparc_fortran.xml | 80 +
.../OSS_5.14_solaris-x86_linux_c.xml | 109 +
.../OSS_5.14_solaris-x86_linux_cpp.xml | 115 +
.../OSS_5.14_solaris-x86_linux_flavor.xml | 54 +
.../OSS_5.14_solaris-x86_linux_fortran.xml | 80 +
.../toolchaindefinition/OSS_linuxGNU_flavor.xml | 4 +-
.../toolchaindefinition/OSS_solaris-sparc_cpp.xml | 2 +-
.../OSS_solaris-sparc_flavor.xml | 4 +-
.../OSS_solaris-x86_linux_cpp.xml | 2 +-
.../OSS_solaris-x86_linux_flavor.xml | 6 +-
.../OracleDeveloperStudio_flavor.xml | 51 +
.../OracleSolarisStudio_flavor.xml | 51 -
.../toolchaindefinition/SunStudio_10_flavor.xml | 7 +-
.../toolchaindefinition/SunStudio_11_flavor.xml | 6 +-
.../SunStudio_12.1_solaris-sparc_flavor.xml | 5 +-
.../SunStudio_12.1_solaris-x86_linux_flavor.xml | 6 +-
.../SunStudio_12.2_linuxGNU_flavor.xml | 3 -
.../SunStudio_12.2_solaris-sparc_flavor.xml | 5 +-
.../SunStudio_12.2_solaris-x86_linux_flavor.xml | 6 +-
.../SunStudio_12.3_linuxGNU_flavor.xml | 3 -
.../SunStudio_12.3_solaris-sparc_flavor.xml | 5 +-
.../SunStudio_12.3_solaris-x86_linux_flavor.xml | 6 +-
.../toolchaindefinition/SunStudio_12_flavor.xml | 7 +-
.../toolchaindefinition/SunStudio_8_flavor.xml | 6 +-
.../toolchaindefinition/SunStudio_9_flavor.xml | 6 +-
.../cnd/toolchain/support/CompilerDefinition.java | 114 +
.../toolchain/support/ToolchainChangeSupport.java | 64 +
.../cnd/toolchain/support/ToolchainUtilities.java | 309 +
.../toolchain/ui/compiler/ParserSettingsPanel.form | 109 -
.../toolchain/ui/compiler/ParserSettingsPanel.java | 432 -
.../cnd/toolchain/ui/compiler/PredefinedPanel.java | 553 -
.../toolchain/ui/options/AddCompilerSetPanel.java | 717 -
.../cnd/toolchain/ui/options/Bundle.properties | 389 -
.../ui/options/DuplicateCompilerSetPanel.java | 297 -
.../toolchain/ui/options/ToolCollectionPanel.form | 696 -
.../toolchain/ui/options/ToolCollectionPanel.java | 1478 -
.../ui/options/ToolsCacheManagerImpl.java | 354 -
.../cnd/toolchain/ui/options/ToolsPanel.java | 1310 -
.../cnd/toolchain/api/ReadRegistryTestCase.java | 10 +-
.../modules/cnd/toolchain/api/ScannerTestCase.java | 53 +-
.../cnd/toolchain/api/ScriptGeneratorTestCase.java | 49 +-
.../toolchain/compilers/GNUCCCCompilerTest.java | 24 +-
.../toolchain/compilers/SunCCCCompilerTest.java | 15 +-
cnd.ui/build.xml | 44 +
cnd.ui/manifest.mf | 7 +
cnd.ui/nbproject/project.properties | 39 +
cnd.ui/nbproject/project.xml | 448 +
.../cnd/actions/AbstractExecutorRunAction.java | 0
.../netbeans/modules/cnd/actions/Bundle.properties | 0
.../netbeans/modules/cnd/actions/CMakeAction.java | 238 +
.../modules/cnd/actions/CompileAction.java | 369 +
.../modules/cnd/actions/CompileRunAction.java | 125 +
.../modules/cnd/actions/CompileRunActionBase.java | 261 +
.../netbeans/modules/cnd/actions/MakeAction.java | 0
.../modules/cnd/actions/MakeBaseAction.java | 295 +
.../modules/cnd/actions/MakeCleanAction.java | 0
.../modules/cnd/actions/MakeTargetAction.java | 0
.../netbeans/modules/cnd/actions/QMakeAction.java | 231 +
.../modules/cnd/actions/ShellRunAction.java | 343 +
.../cnd/actions/StandAloneFileActionProvider.java | 0
.../netbeans/modules/cnd/builds/Bundle.properties | 0
.../modules/cnd/builds/CMakeExecSupport.java | 0
.../modules/cnd/builds/MakeExecSupport.java | 0
.../modules/cnd/builds/MakefileTargetProvider.java | 0
.../modules/cnd/builds/QMakeExecSupport.java | 0
.../netbeans/modules/cnd/builds/TargetEditor.form | 0
.../netbeans/modules/cnd/builds/TargetEditor.java | 0
.../netbeans/modules/cnd/builds/package-info.java | 44 +
.../cnd/editor/filecreation/BrowseFolders.form | 63 +
.../cnd/editor/filecreation/BrowseFolders.java | 0
.../cnd/editor/filecreation/Bundle.properties | 139 +
.../editor/filecreation/CCFSrcFileIterator.java | 0
.../filecreation/CndClassWizardIterator.java | 0
.../filecreation/CndFilePlusWizardIterator.java | 111 +
.../editor/filecreation/CndFileWizardIterator.java | 111 +
.../modules/cnd/editor/filecreation/CndPanel.java | 0
.../cnd/editor/filecreation/CndPanelGUI.java | 219 +
.../cnd/editor/filecreation/NewCndClassPanel.java | 137 +
.../editor/filecreation/NewCndClassPanelGUI.form | 430 +
.../editor/filecreation/NewCndClassPanelGUI.java | 598 +
.../filecreation/NewCndFileChooserPanel.java | 0
.../filecreation/NewCndFileChooserPanelGUI.form | 0
.../filecreation/NewCndFileChooserPanelGUI.java | 0
.../cnd/editor/filecreation/NewCndFilePanel.java | 133 +
.../cnd/editor/filecreation/NewQtFormPanel.java | 0
.../cnd/editor/filecreation/NewQtFormPanelGUI.form | 0
.../cnd/editor/filecreation/NewQtFormPanelGUI.java | 0
.../cnd/editor/filecreation/PhysicalView.java | 0
.../editor/filecreation/QtFormFileIterator.java | 0
.../editor/filecreation/SrcFileWizardListener.java | 0
.../modules/cnd/execution/BinaryExecSupport.java | 0
.../modules/cnd/execution/BinaryExecutorIcon.gif | Bin
.../modules/cnd/execution/Bundle.properties | 0
.../modules/cnd/execution/CompileExecSupport.java | 0
.../modules/cnd/execution/ExecutionSupport.java | 317 +
.../modules/cnd/execution/ShellExecSupport.java | 0
.../netbeans/modules/cnd/loaders/Bundle.properties | 80 +
.../modules/cnd/loaders/CMakeDataObject.java | 114 +
.../cnd/loaders/CMakeIncludeDataObject.java | 75 +
.../modules/cnd/loaders/CMakefileDataIcon.png | Bin
.../cnd/loaders/CndBinaryExecSupportProvider.java | 93 +
.../cnd/loaders/CndCompileSupportProvider.java | 93 +
.../netbeans/modules/cnd/loaders/CndDataNode.java | 0
.../cnd/loaders/CndPropertiesProviderImpl.java | 0
.../netbeans/modules/cnd/loaders/CoreElfIcon.gif | Bin
.../netbeans/modules/cnd/loaders/CoreElfNode.java | 0
.../modules/cnd/loaders/CoreElfObject.java | 0
.../org/netbeans/modules/cnd/loaders/DllIcon.gif | Bin
.../org/netbeans/modules/cnd/loaders/DllNode.java | 0
.../netbeans/modules/cnd/loaders/DllObject.java | 0
.../netbeans/modules/cnd/loaders/ExeElfObject.java | 0
.../org/netbeans/modules/cnd/loaders/ExeIcon.gif | Bin
.../netbeans/modules/cnd/loaders/ExeLoader.java | 0
.../modules/cnd/loaders/ExeLoaderBeanInfo.java | 0
.../org/netbeans/modules/cnd/loaders/ExeNode.java | 0
.../netbeans/modules/cnd/loaders/ExeObject.java | 121 +
.../cnd/loaders/ExternalProgramOpenCookie.java | 152 +
.../netbeans/modules/cnd/loaders/LibraryIcon.gif | Bin
.../modules/cnd/loaders/OrphanedElfNode.java | 0
.../modules/cnd/loaders/OrphanedElfObject.gif | Bin
.../modules/cnd/loaders/OrphanedElfObject.java | 0
.../modules/cnd/loaders/QtProjectDataObject.java | 114 +
.../netbeans/modules/cnd/loaders/QtProjectIcon.png | Bin
.../QtResourceCreateFromTemplateHandler.java | 0
.../modules/cnd/loaders/QtResourceDataObject.java | 0
.../modules/cnd/loaders/QtResourceIcon.png | Bin
.../cnd/loaders/QtTranslationDataObject.java | 0
.../modules/cnd/loaders/QtTranslationIcon.png | Bin
.../modules/cnd/loaders/QtUiDataLoader.java | 0
.../netbeans/modules/cnd/loaders/QtUiDataNode.java | 0
.../modules/cnd/loaders/QtUiDataObject.java | 0
.../org/netbeans/modules/cnd/loaders/QtUiIcon.png | Bin
.../modules/cnd/loaders/StaticLibraryNode.java | 0
.../modules/cnd/loaders/StaticLibraryObject.java | 0
.../src/org/netbeans/modules/cnd/loaders/cmake.png | Bin
.../netbeans/modules/cnd/loaders/error-badge.gif | Bin
.../modules/cnd/loaders/static_library.gif | Bin
.../org/netbeans/modules/cnd/loaders/unknown.gif | Bin
.../modules/cnd/resources/AddMakeTargetAction.gif | Bin
.../modules/cnd/resources/BinaryExecutor.settings | 49 +
.../cnd/resources/DefaultKeyBindings-Mac.xml | 54 +
.../modules/cnd/resources/DefaultKeyBindings.xml | 56 +
.../netbeans/modules/cnd/resources/MakeAction.gif | Bin
.../modules/cnd/resources/MakeCleanAction.gif | Bin
.../modules/cnd/resources/MakeExecution.gif | Bin
.../modules/cnd/resources/MakefileSettings.gif | Bin
.../cnd/resources/NativeBinaryExecution.gif | Bin
.../org/netbeans/modules/cnd/resources/back.gif | Bin
.../org/netbeans/modules/cnd/resources/blank.gif | Bin
.../org/netbeans/modules/cnd/resources/cFiles.html | 48 +
.../org/netbeans/modules/cnd/resources/class.html | 48 +
.../netbeans/modules/cnd/resources/cmdline.html | 49 +
.../netbeans/modules/cnd/resources/cppFiles.html | 48 +
.../netbeans/modules/cnd/resources/empty-c.html | 48 +
.../netbeans/modules/cnd/resources/empty-cc.html | 48 +
.../netbeans/modules/cnd/resources/empty-f90.html | 48 +
.../modules/cnd/resources/executeMostRecent.gif | Bin
.../modules/cnd/resources/file_header.html | 48 +
.../modules/cnd/resources/file_plus_header.html | 48 +
.../modules/cnd/resources/fixed-fortran-f.html | 49 +
.../modules/cnd/resources/fortranFiles.html | 48 +
.../org/netbeans/modules/cnd/resources/forward.gif | Bin
.../modules/cnd/resources/free-fortran-f90.html | 48 +
.../org/netbeans/modules/cnd/resources/helpctx.xml | 0
.../modules/cnd/resources/helpset-decl.xml | 0
.../netbeans/modules/cnd/resources/htmlView.gif | Bin
.../netbeans/modules/cnd/resources/intervals.html | 48 +
.../org/netbeans/modules/cnd/resources/intgen.html | 48 +
.../org/netbeans/modules/cnd/resources/intmat.html | 48 +
.../org/netbeans/modules/cnd/resources/jni.html | 48 +
.../netbeans/modules/cnd/resources/jniFiles.html | 48 +
.../modules/cnd/resources/makeMostRecent.gif | Bin
.../netbeans/modules/cnd/resources/mf-layer.xml | 940 +
.../netbeans/modules/cnd/resources/module-f90.html | 48 +
.../org/netbeans/modules/cnd/resources/motif.html | 51 +
.../netbeans/modules/cnd/resources/qtfiles.html | 49 +
.../org/netbeans/modules/cnd/resources/qtform.html | 50 +
.../netbeans/modules/cnd/resources/qtresource.html | 50 +
.../modules/cnd/resources/qttranslation.html | 49 +
.../netbeans/modules/cnd/resources/simple-c-h.html | 48 +
.../netbeans/modules/cnd/resources/simple-c.html | 48 +
.../modules/cnd/resources/simple-cc-h.html | 48 +
.../modules/cnd/resources/simple-cc-qt.html | 49 +
.../cnd/resources/simple-cc-standard-header.html | 48 +
.../netbeans/modules/cnd/resources/simple-cc.html | 48 +
.../modules/cnd/resources/solarisPrograms.html | 49 +
.../netbeans/modules/cnd/resources/stdLibrary.gif | Bin
.../cnd/resources/templates/c/empty-c.template | 0
.../resources/templates/c/file_header-c.template | 13 +
.../resources/templates/c/file_header-h.template | 16 +
.../cnd/resources/templates/c/file_header.group | 2 +
.../cnd/resources/templates/c/simple-c.template | 0
.../cnd/resources/templates/c/simple-h.template | 0
.../cnd/resources/templates/cpp/class-cc.template | 0
.../cnd/resources/templates/cpp/class-h.template | 0
.../cnd/resources/templates/cpp/class.group | 0
.../cnd/resources/templates/cpp/empty-cc.template | 0
.../templates/cpp/file_header-cc.template | 13 +
.../resources/templates/cpp/file_header-h.template | 16 +
.../cnd/resources/templates/cpp/file_header.group | 2 +
.../cnd/resources/templates/cpp/header-h.template | 0
.../cnd/resources/templates/cpp/header.template | 0
.../cnd/resources/templates/cpp/simple-cc.template | 0
.../resources/templates/fortran/empty-f90.template | 0
.../templates/fortran/fixed-fortran-f.template | 0
.../templates/fortran/free-fortran-f90.template | 0
.../templates/fortran/module-f90.template | 0
.../templates/qt/dialog-buttonsbottom.template | 0
.../templates/qt/dialog-buttonsright.template | 0
.../templates/qt/dialog-nobuttons.template | 0
.../cnd/resources/templates/qt/form-cc.template | 0
.../cnd/resources/templates/qt/form-h.template | 0
.../cnd/resources/templates/qt/mainwindow.template | 0
.../cnd/resources/templates/qt/resource.template | 0
.../cnd/resources/templates/qt/simple-cc.template | 0
.../resources/templates/qt/translation.template | 0
.../cnd/resources/templates/qt/widget.template | 0
.../modules/cnd/settings/Bundle.properties | 0
.../netbeans/modules/cnd/settings/CppSettings.java | 0
.../modules/cnd/settings/MakeSettings.java | 0
.../modules/cnd/settings/ShellSettings.java | 0
.../modules/cnd/ui/options/Bundle.properties | 56 +
.../cnd/ui/options/CndOtherOptionsPanel.form | 0
.../cnd/ui/options/CndOtherOptionsPanel.java | 479 +
.../ui/options/CndOtherOptionsPanelController.java | 0
.../modules/cnd/ui/resources/Bundle.properties | 39 +
.../compilers/ScannerTestCase/testCygwinLogs.pass | 0
.../compilers/ScannerTestCase/testDJGPPLogs.pass | 0
.../ScannerTestCase/testGnuCluceneLogs.pass | 0
.../ScannerTestCase/testGnuFortranLogs.pass | 0
.../compilers/ScannerTestCase/testCygwinLogs.dat | 0
.../compilers/ScannerTestCase/testDJGPPLogs.dat | 0
.../ScannerTestCase/testGnuCluceneLogs.dat | 0
.../ScannerTestCase/testGnuFortranLogs.dat | 0
.../cnd/api/compilers/ScannerTestCase/testMSVC.dat | 0
.../cnd/api/execution/ExecutionSupportTest.java | 287 +
.../modules/cnd/api/execution/ExecutionTest.java | 0
.../modules/cnd/api/execution/LinkTestCase.java | 0
.../cnd/loaders/MakeDataObjectTestCase.java | 0
cnd.utils.ui/build.xml | 44 +
cnd.utils.ui/manifest.mf | 6 +
cnd.utils.ui/nbproject/project.properties | 39 +
cnd.utils.ui/nbproject/project.xml | 245 +
.../cnd/spi/editor/CsmCodeBlockProvider.java | 0
.../cnd/spi/editor/CsmDocGeneratorProvider.java | 0
.../modules/cnd/utils/ui/Bundle.properties | 90 +
.../modules/cnd/utils/ui/CndUIConstants.java | 0
.../modules/cnd/utils/ui/CndUIUtilities.java | 0
.../modules/cnd/utils/ui/DocumentAdapter.java | 0
.../modules/cnd/utils/ui/EditableComboBox.java | 202 +
.../netbeans/modules/cnd/utils/ui/FileChooser.java | 0
.../modules/cnd/utils/ui/ListEditorPanel.form | 0
.../modules/cnd/utils/ui/ListEditorPanel.java | 0
.../modules/cnd/utils/ui/ModalMessageDlg.java | 0
.../modules/cnd/utils/ui/ModalMessageDlgPane.form | 0
.../modules/cnd/utils/ui/ModalMessageDlgPane.java | 0
.../netbeans/modules/cnd/utils/ui/PopupUtil.java | 0
.../cnd/utils/ui/StringArrayCustomEditor.form | 0
.../cnd/utils/ui/StringArrayCustomEditor.java | 0
.../cnd/utils/ui/impl/CndUIErrorNotifier.java | 88 +
.../utils/ui/impl/LongTaskRunnerUIFactoryImpl.java | 60 +
.../cnd/utils/ui/impl/LongTaskRunnerUIImpl.java | 83 +
.../cnd/utils/ui/resources/Bundle.properties | 38 +
cnd.utils/build.xml | 39 +
cnd.utils/manifest.mf | 3 +-
cnd.utils/nbproject/project.properties | 39 +-
cnd.utils/nbproject/project.xml | 96 +-
.../modules/cnd/spi/CndCookieProvider.java | 88 +
.../cnd/spi/CndDocumentCodeStyleProvider.java | 54 +
.../cnd/spi/utils/CndFileSystemProvider.java | 7 +-
.../modules/cnd/spi/utils/CndNotifier.java | 138 +
.../modules/cnd/spi/utils/LongTaskRunner.java | 90 +
.../cnd/spi/utils/LongTaskRunnerFactory.java | 63 +
.../netbeans/modules/cnd/utils/Bundle.properties | 37 +
.../modules/cnd/utils/CndPathUtilities.java | 14 +-
.../org/netbeans/modules/cnd/utils/CndUtils.java | 4 +-
.../netbeans/modules/cnd/utils/MIMEExtensions.java | 62 +-
.../netbeans/modules/cnd/utils/NamedOption.java | 158 +
.../cnd/utils/SuspendableFileChangeListener.java | 63 +-
.../modules/cnd/utils/UIGesturesSupport.java | 75 +
.../modules/cnd/utils/cache/CndFileUtils.java | 65 +-
.../cnd/utils/filters/AllBinaryFileFilter.java | 2 +-
.../modules/cnd/utils/filters/AllFileFilter.java | 3 +-
.../cnd/utils/filters/AllSourceFileFilter.java | 3 +-
.../cnd/utils/filters/CCSourceFileFilter.java | 3 +-
.../modules/cnd/utils/filters/CMakeFileFilter.java | 3 +-
.../cnd/utils/filters/CSourceFileFilter.java | 3 +-
.../cnd/utils/filters/ConfigureFileFilter.java | 2 +-
.../modules/cnd/utils/filters/CoreFileFilter.java | 3 +-
.../cnd/utils/filters/ElfExecutableFileFilter.java | 2 +-
.../utils/filters/ElfStaticLibraryFileFilter.java | 1 +
.../cnd/utils/filters/FortranSourceFileFilter.java | 2 +-
.../cnd/utils/filters/HeaderSourceFileFilter.java | 2 +-
.../utils/filters/MacOSXExecutableFileFilter.java | 2 +-
.../cnd/utils/filters/MakefileFileFilter.java | 2 +-
.../modules/cnd/utils/filters/SconsFileFilter.java | 2 +-
.../modules/cnd/utils/filters/ShellFileFilter.java | 2 +-
.../modules/cnd/utils/resources/Bundle.properties | 49 +
.../netbeans/modules/cnd/utils/resources/layer.xml | 80 +
.../utils}/resources/mime-resolver-attr-based.xml | 0
.../resources/mime-resolver-content-based.xml | 0
.../utils}/resources/mime-resolver-ext-based-c.xml | 0
.../resources/mime-resolver-ext-based-cpp.xml | 0
.../resources/mime-resolver-ext-based-fortran.xml | 0
.../utils}/resources/mime-resolver-ext-based-h.xml | 0
.../resources/mime-resolver-ext-based-qt.xml | 0
.../utils}/resources/mime-resolver-ext-based.xml | 0
.../utils}/resources/mime-resolver-hex-based.xml | 0
.../cnd/utils/resources/mime-resolver-make.xml | 65 +
.../utils}/resources/mime-resolver-name-ext.xml | 0
.../modules/cnd/utils/resources/mime-resolver.xml | 83 +
.../modules/cnd/utils/ui/Bundle.properties | 53 -
.../modules/cnd/utils/ui/EditableComboBox.java | 202 -
.../netbeans/modules/cnd/utils/ui/NamedOption.java | 158 -
.../modules/cnd/utils/ui/UIGesturesSupport.java | 76 -
.../utils/SuspendableFileChangeListenerTest.java | 6 +-
.../cnd/help/GettingStarted/FilesWindow.html | 4 +-
.../modules/cnd/help/GettingStarted/Memory.html | 12 +-
.../CodeAssistanceWizardP2.html | 2 +-
.../RemoteDevelopmentConfigureHost.html | 2 +-
.../org/netbeans/modules/cnd/help/cndTOC.xml | 39 +
cnd/javahelp/org/netbeans/modules/cnd/help/map.xml | 39 +
cnd/manifest.mf | 1 -
cnd/nbproject/project.properties | 41 +-
cnd/nbproject/project.xml | 169 +-
.../netbeans/modules/cnd/actions/CMakeAction.java | 224 -
.../modules/cnd/actions/CompileAction.java | 356 -
.../modules/cnd/actions/CompileRunAction.java | 125 -
.../modules/cnd/actions/CompileRunActionBase.java | 261 -
.../modules/cnd/actions/MakeBaseAction.java | 280 -
.../netbeans/modules/cnd/actions/QMakeAction.java | 217 -
.../modules/cnd/actions/ShellRunAction.java | 329 -
.../cnd/api/utils/CndFileVisibilityQuery.java | 7 +-
.../modules/cnd/api/utils/ImportUtils.java | 303 +
.../modules/cnd/api/utils/PlatformInfo.java | 5 +-
.../netbeans/modules/cnd/api/xml/XMLDecoder.java | 37 +-
.../netbeans/modules/cnd/api/xml/XMLDocReader.java | 24 +-
.../org/netbeans/modules/cnd/api/xml/package.html | 16 +-
.../netbeans/modules/cnd/builds/ImportUtils.java | 303 -
.../netbeans/modules/cnd/builds/package-info.java | 5 -
.../cnd/editor/filecreation/BrowseFolders.form | 63 -
.../cnd/editor/filecreation/Bundle.properties | 136 -
.../cnd/editor/filecreation/CndPanelGUI.java | 219 -
.../cnd/editor/filecreation/NewCndClassPanel.java | 137 -
.../editor/filecreation/NewCndClassPanelGUI.form | 430 -
.../editor/filecreation/NewCndClassPanelGUI.java | 581 -
.../modules/cnd/execution/ExecutionSupport.java | 317 -
.../netbeans/modules/cnd/loaders/Bundle.properties | 86 -
.../modules/cnd/loaders/CMakeDataObject.java | 120 -
.../cnd/loaders/CMakeIncludeDataObject.java | 81 -
.../cnd/loaders/CndBinaryExecSupportProvider.java | 95 -
.../cnd/loaders/CndCompileSupportProvider.java | 95 -
.../netbeans/modules/cnd/loaders/ExeObject.java | 127 -
.../cnd/loaders/ExternalProgramOpenCookie.java | 161 -
.../modules/cnd/loaders/QtProjectDataObject.java | 122 -
.../modules/cnd/resources/BinaryExecutor.settings | 10 -
.../modules/cnd/resources/Bundle.properties | 10 +-
.../cnd/resources/DefaultKeyBindings-Mac.xml | 54 -
.../modules/cnd/resources/DefaultKeyBindings.xml | 56 -
.../org/netbeans/modules/cnd/resources/cFiles.html | 49 -
.../org/netbeans/modules/cnd/resources/class.html | 49 -
.../netbeans/modules/cnd/resources/cmdline.html | 50 -
.../netbeans/modules/cnd/resources/cppFiles.html | 49 -
.../netbeans/modules/cnd/resources/empty-c.html | 49 -
.../netbeans/modules/cnd/resources/empty-cc.html | 49 -
.../netbeans/modules/cnd/resources/empty-f90.html | 49 -
.../modules/cnd/resources/fixed-fortran-f.html | 50 -
.../modules/cnd/resources/fortranFiles.html | 49 -
.../modules/cnd/resources/free-fortran-f90.html | 49 -
.../netbeans/modules/cnd/resources/intervals.html | 49 -
.../org/netbeans/modules/cnd/resources/intgen.html | 49 -
.../org/netbeans/modules/cnd/resources/intmat.html | 49 -
.../org/netbeans/modules/cnd/resources/jni.html | 49 -
.../netbeans/modules/cnd/resources/jniFiles.html | 49 -
.../netbeans/modules/cnd/resources/mf-layer.xml | 939 -
.../netbeans/modules/cnd/resources/module-f90.html | 49 -
.../org/netbeans/modules/cnd/resources/motif.html | 52 -
.../netbeans/modules/cnd/resources/qtfiles.html | 48 -
.../org/netbeans/modules/cnd/resources/qtform.html | 49 -
.../netbeans/modules/cnd/resources/qtresource.html | 49 -
.../modules/cnd/resources/qttranslation.html | 48 -
.../netbeans/modules/cnd/resources/simple-c-h.html | 49 -
.../netbeans/modules/cnd/resources/simple-c.html | 49 -
.../modules/cnd/resources/simple-cc-h.html | 49 -
.../modules/cnd/resources/simple-cc-qt.html | 48 -
.../cnd/resources/simple-cc-standard-header.html | 49 -
.../netbeans/modules/cnd/resources/simple-cc.html | 49 -
.../modules/cnd/resources/solarisPrograms.html | 50 -
.../modules/cnd/ui/options/Bundle.properties | 56 -
.../cnd/ui/options/CndOtherOptionsPanel.java | 479 -
.../cnd/api/execution/ExecutionSupportTest.java | 287 -
.../netbeans/modules/cnd/test/CndBaseTestCase.java | 61 +-
code.analysis/arch.xml | 45 +-
code.analysis/build.xml | 39 +
code.analysis/manifest.mf | 2 +-
code.analysis/nbproject/project.properties | 37 +
code.analysis/nbproject/project.xml | 40 +
.../netbeans/modules/analysis/Bundle.properties | 37 +
.../modules/analysis/RunAnalysisAction.java | 2 +-
cordova.platforms.android/build.xml | 39 +
cordova.platforms.android/manifest.mf | 2 +-
.../nbproject/project.properties | 37 +
cordova.platforms.android/nbproject/project.xml | 39 +
cordova.platforms.ios/build.xml | 39 +
cordova.platforms.ios/external/binaries-list | 5 +
.../iDeviceNativeBinding/Makefile | 38 +
.../nbproject/configurations.xml | 39 +
.../iDeviceNativeBinding/nbproject/project.xml | 39 +
cordova.platforms.ios/manifest.mf | 2 +-
cordova.platforms.ios/nbproject/project.properties | 37 +
cordova.platforms.ios/nbproject/project.xml | 39 +
.../cordova/platforms/ios/Command.properties | 39 +-
.../modules/cordova/platforms/ios/IOSBrowser.java | 3 +-
.../cordova/platforms/ios/IOSDebugTransport.java | 296 +-
.../platforms/ios/SimulatorDebugTransport.java | 13 +-
.../platforms/ios/WebInspectorJNIBinding.java | 10 +-
cordova.platforms/build.xml | 39 +
cordova.platforms/manifest.mf | 2 +-
cordova.platforms/nbproject/project.properties | 37 +
cordova.platforms/nbproject/project.xml | 39 +
.../modules/cordova/platforms/Bundle.properties | 37 +
.../platforms/spi/MobileDebugTransport.java | 10 +-
.../CordovaMapsSample/nbproject/project.properties | 37 +
cordova/CordovaMapsSample/nbproject/project.xml | 39 +
.../www/css/images/ajax-loader.png | Bin 366 -> 0 bytes
.../www/css/images/icons-18-black.png | Bin 1948 -> 0 bytes
.../www/css/images/icons-18-white.png | Bin 1958 -> 0 bytes
.../www/css/images/icons-36-black.png | Bin 3748 -> 0 bytes
.../www/css/images/icons-36-white.png | Bin 3746 -> 0 bytes
.../www/css/jquery.mobile-1.0.1.min.css | 2 -
cordova/CordovaMapsSample/www/index.html | 47 +-
cordova/CordovaMapsSample/www/js/main.js | 39 +
cordova/cordovaprojectupdate/build.xml | 45 +-
.../nbproject/project.properties | 37 +
cordova/cordovaprojectupdate/nbproject/project.xml | 39 +
.../modules/cordova/updatetask/CordovaPlugin.java | 45 +-
cordova/manifest.mf | 2 +-
cordova/nbproject/project.properties | 39 +-
cordova/nbproject/project.xml | 75 +-
.../netbeans/modules/cordova/CordovaPerformer.java | 56 +-
.../netbeans/modules/cordova/CordovaPlatform.java | 62 +-
.../src/org/netbeans/modules/cordova/config.xml | 39 +
.../modules/cordova/options/Bundle.properties | 40 +
.../cordova/options/MobilePlatformsPanel.form | 80 +-
.../cordova/options/MobilePlatformsPanel.java | 125 +-
.../cordova/project/ImportantFilesImpl.java | 11 +-
.../cordova/project/MobileConfigurationImpl.java | 7 +-
.../netbeans/modules/cordova/resources/layer.xml | 39 +
.../modules/cordova/wizard/CordovaTemplate.java | 10 +
.../modules/cordova/CordovaPerformerTest.java | 75 +
core.browser.webview/build.xml | 39 +
core.browser.webview/nbproject/project.properties | 39 +-
core.browser.webview/nbproject/project.xml | 39 +
.../core/browser/webview/Bundle.properties | 37 +
.../org/netbeans/core/browser/webview/layer.xml | 39 +
.../core/browser/webview/webviewBrowser.xml | 39 +
core.browser/build.xml | 39 +
core.browser/nbproject/project.properties | 39 +-
core.browser/nbproject/project.xml | 39 +
.../netbeans/core/browser/api/Bundle.properties | 37 +
core.execution/manifest.mf | 2 +-
.../src/org/netbeans/core/execution/IOTable.java | 1 +
.../execution/beaninfo/editors/package-info.java | 39 +
.../core/execution/beaninfo/package-info.java | 39 +
core.ide/arch.xml | 45 +-
core.ide/manifest.mf | 2 +-
core.ide/nbproject/org-netbeans-core-ide.sig | 2 +-
core.ide/src/META-INF/netbeans/translate.names | 37 +
.../core/ide/resources/InitialLayout.wsgrp | 39 +
.../org/netbeans/core/ide/resources/Standard.xml | 2 +-
.../netbeans/core/ide/resources/services.wstcgrp | 39 +
core.io.ui/manifest.mf | 2 +-
core.io.ui/nbproject/project.xml | 39 +
.../src/org/netbeans/core/io/ui/Bundle.properties | 37 +
core.io.ui/src/org/netbeans/core/io/ui/layer.xml | 39 +
.../netbeans/core/io/ui/resources/output.settings | 39 +
.../netbeans/core/io/ui/resources/output.wstcgrp | 39 +
.../netbeans/core/io/ui/resources/output.wstcref | 39 +
core.kit/build.xml | 39 +
core.kit/manifest.mf | 2 +-
core.kit/nbproject/project.properties | 37 +
core.kit/nbproject/project.xml | 39 +
core.kit/release/VERSION.txt | 2 +-
.../netbeans/modules/core/kit/Bundle.properties | 37 +
core.multitabs.project/build.xml | 39 +
.../nbproject/project.properties | 39 +-
core.multitabs.project/nbproject/project.xml | 39 +
.../core/multitabs/project/Bundle.properties | 37 +
core.multitabs/arch.xml | 45 +-
core.multitabs/build.xml | 39 +
.../nbproject/org-netbeans-core-multitabs.sig | 4 +-
core.multitabs/nbproject/project.properties | 39 +-
core.multitabs/nbproject/project.xml | 39 +
.../org/netbeans/core/multitabs/Bundle.properties | 37 +
.../org/netbeans/core/multitabs/Controller.java | 2 +-
.../netbeans/core/multitabs/impl/Bundle.properties | 37 +
.../core/multitabs/impl/TabDataRenderer.java | 2 +
.../src/org/netbeans/core/multitabs/layer.xml | 39 +
.../core/multitabs/prefs/Bundle.properties | 37 +
.../core/multitabs/prefs/InnerTabsPanel.java | 39 +-
core.multiview/arch.xml | 2 +-
core.multiview/manifest.mf | 2 +-
.../nbproject/org-netbeans-core-multiview.sig | 4 +-
.../org/netbeans/core/api/multiview/package.html | 77 +-
.../org/netbeans/core/spi/multiview/package.html | 81 +-
.../netbeans/core/spi/multiview/text/package.html | 75 +-
core.nativeaccess/build.xml | 39 +
core.nativeaccess/manifest.mf | 2 +-
core.nativeaccess/nbproject/project.properties | 37 +
core.nativeaccess/nbproject/project.xml | 39 +
core.netigso/manifest.mf | 2 +-
.../nbproject/org-netbeans-core-netigso.sig | 2 +-
.../src/org/netbeans/core/netigso/Netigso.java | 2 +-
.../src/org/netbeans/core/netigso/spi/package.html | 39 +
.../src/org/netbeans/core/netigso/NetigsoUtil.java | 4 +-
core.network/build.xml | 39 +
core.network/manifest.mf | 2 +-
core.network/nbproject/project.xml | 39 +
.../netbeans/core/network/proxy/Bundle.properties | 37 +
.../proxy/mac/MacCoreFoundationLibrary.java | 55 +-
.../network/proxy/mac/MacNetworkProxyLibrary.java | 41 +-
core.osgi/build.xml | 39 +
core.osgi/manifest.mf | 2 +-
core.osgi/nbproject/project.properties | 37 +
core.osgi/nbproject/project.xml | 39 +
.../src/org/netbeans/core/osgi/Bundle.properties | 37 +
core.output2/manifest.mf | 2 +-
.../src/org/netbeans/core/output2/NbIO.java | 25 +-
.../src/org/netbeans/core/output2/layer.xml | 39 +
.../core/output2/options/Bundle.properties | 37 +
.../core/output2/ui/AbstractOutputPane.java | 35 +
.../org/netbeans/core/output2/NbIOFoldTest.java | 14 +
core.startup.base/arch.xml | 45 +-
core.startup.base/build.xml | 39 +
core.startup.base/nbproject/project.properties | 39 +-
core.startup.base/nbproject/project.xml | 39 +
.../netbeans/core/startup/base/Bundle.properties | 37 +
core.startup/arch.xml | 2 +-
core.startup/nbproject/project.properties | 2 +-
.../org/netbeans/core/startup/Bundle.properties | 4 +-
.../netbeans/core/startup/ConsistencyVerifier.java | 11 +-
.../src/org/netbeans/core/startup/NbInstaller.java | 4 -
.../src/org/netbeans/core/startup/frame32_dark.gif | Bin 0 -> 1944 bytes
.../src/org/netbeans/core/startup/frame48_dark.gif | Bin 0 -> 3417 bytes
.../src/org/netbeans/core/startup/frame_dark.gif | Bin 0 -> 733 bytes
.../netbeans/core/startup/module-status-1_0.dtd | 2 +
.../src/org/netbeans/core/startup/package.html | 16 +-
.../src/org/netbeans/core/startup/splash.gif | Bin 127901 -> 128065 bytes
.../src/org/netbeans/core/startup/splash_dark.gif | Bin 0 -> 91716 bytes
.../startup/ClassLoaderCacheContent.properties | 37 +
.../startup/MistakeOnRadimsComputer.properties | 37 +
.../startup/PlatformDependencySatisfiedTest.java | 8 +-
.../layers/CustomWritableSystemFileSystemTest.java | 15 +-
core.ui/manifest.mf | 2 +-
.../core/ui/notifications/NotificationImpl.java | 6 +-
.../org/netbeans/core/ui/resources/Standard.xml | 2 +-
.../netbeans/core/ui/resources/SwingBrowser.xml | 39 +
.../netbeans/core/ui/resources/properties.wstcgrp | 39 +
.../netbeans/core/ui/resources/properties.wstcref | 39 +
.../org/netbeans/core/ui/resources/properties.xml | 39 +
.../netbeans/core/ui/warmup/DiagnosticTask.java | 30 +-
core.windows/arch.xml | 45 +-
core.windows/manifest.mf | 2 +-
core.windows/src/META-INF/netbeans/translate.names | 37 +
.../src/org/netbeans/core/windows/Constants.java | 6 +
.../core/windows/documentgroup/Bundle.properties | 37 +
.../netbeans/core/windows/resources/toolbar.dtd | 39 +
.../netbeans/core/windows/resources/toolbar1_1.dtd | 39 +
.../core/windows/services/NbPresenter.java | 33 +-
.../netbeans/core/windows/view/DefaultView.java | 12 +-
.../netbeans/core/windows/view/ViewHierarchy.java | 3 +
.../core/windows/view/dnd/WindowDnDManager.java | 9 +-
.../core/windows/view/ui/Bundle.properties | 6 +-
.../windows/view/ui/CloseButtonTabbedPane.java | 16 +-
.../core/windows/view/ui/TabbedHandler.java | 1 +
.../core/windows/resources/component00.settings | 39 +
.../core/windows/resources/component00.wstcref | 39 +
.../core/windows/view/ui/CustomMenuBarTest.java | 15 +-
csl.api/anttask/nbproject/project.xml | 39 +
csl.api/apichanges.xml | 21 +
csl.api/arch.xml | 49 +-
csl.api/build.xml | 39 +
csl.api/doc/classpath.html | 39 +
csl.api/doc/embedding.html | 43 +-
csl.api/doc/getting-started.html | 41 +-
csl.api/doc/gsf-tools.html | 41 +-
csl.api/doc/incremental-parsing.html | 39 +
csl.api/doc/indexer.html | 39 +
csl.api/doc/lexing.html | 41 +-
csl.api/doc/mime-resolver.html | 39 +
csl.api/doc/overview.html | 45 +-
csl.api/doc/parsing.html | 41 +-
csl.api/doc/registration.html | 39 +
csl.api/doc/unit-testing.html | 41 +-
csl.api/module-auto-deps.xml | 61 +
csl.api/nbproject/project.properties | 4 +-
csl.api/nbproject/project.xml | 50 +-
csl.api/src/META-INF/netbeans/translate.names | 37 +
.../org/netbeans/modules/csl/api/Bundle.properties | 44 +
.../src/org/netbeans/modules/csl/api/EditList.java | 101 +-
.../modules/csl/api/GoToMarkOccurrencesAction.java | 16 +-
.../modules/csl/api/InstantRenameAction.java | 5 +-
.../src/org/netbeans/modules/csl/api/package.html | 16 +-
.../netbeans/modules/csl/core/Bundle.properties | 42 +
.../modules/csl/core/DefaultKeyBindings-Mac.xml | 22 +-
.../modules/csl/core/DefaultKeyBindings.xml | 22 +-
.../src/org/netbeans/modules/csl/core/layer.xml | 49 +-
.../csl/editor/codetemplates/Bundle.properties | 42 +
.../editor/completion/GsfCompletionProvider.java | 2 +-
.../modules/csl/editor/hyperlink/GoToSupport.java | 2 +
.../csl/hints/infrastructure/Bundle.properties | 42 +
.../csl/hints/infrastructure/SuggestionsTask.java | 1 +
.../modules/csl/hints/infrastructure/ide.css | 63 +-
.../src/org/netbeans/modules/csl/spi/package.html | 16 +-
.../netbeans/modules/csl/api/test/CslTestBase.java | 2 +-
csl.types/apichanges.xml | 167 +
csl.types/arch.xml | 1122 +
csl.types/build.xml | 44 +
csl.types/manifest.mf | 6 +
csl.types/nbproject/project.properties | 44 +
csl.types/nbproject/project.xml | 102 +
.../netbeans/modules/csl/api/Documentation.java | 0
.../netbeans/modules/csl/api/ElementHandle.java | 0
.../org/netbeans/modules/csl/api/ElementKind.java | 0
.../src/org/netbeans/modules/csl/api/Error.java | 0
.../src/org/netbeans/modules/csl/api/Modifier.java | 0
.../org/netbeans/modules/csl/api/OffsetRange.java | 0
.../src/org/netbeans/modules/csl/api/Severity.java | 0
.../org/netbeans/modules/csl/spi/ParserResult.java | 0
.../netbeans/modules/csl/types/Bundle.properties | 38 +
.../netbeans/modules/csl/api/OffsetRangeTest.java | 0
css.editor/build.xml | 39 +
.../external/binaries-list | 0
css.editor/manifest.mf | 2 +-
css.editor/nbproject/project.properties | 4 +-
css.editor/nbproject/project.xml | 56 +
.../modules/css/editor/csl/CssCompletion.java | 6 +-
.../css/editor/module/main/NamespacesModule.java | 2 +-
.../css/editor/module/main/PagedMediaModule.java | 1 +
.../editor/module/main/browsers/webkit.properties | 4 +-
.../css/editor/module/spi/CssCompletionItem.java | 15 +-
.../CssActionsImplementationProvider.java | 2 +-
.../modules/css/resources/CSS_template.html | 16 +-
.../css/resources/css_property_help.properties | 37 +
.../org/netbeans/modules/css/resources/layer.xml | 41 +-
.../css/editor/csl/CssBracketCompleterTest.java | 4 +-
.../modules/css/editor/typinghooks/Typing.java | 19 +-
css.lib/build.xml | 39 +
css.lib/manifest.mf | 2 +-
css.lib/nbproject/project.xml | 48 +
css.lib/src/org/netbeans/modules/css/lib/Css3.g | 41 +-
.../org/netbeans/modules/css/lib/Css3Lexer.java | 10577 +++---
.../org/netbeans/modules/css/lib/Css3Parser.java | 20465 ++++++-----
.../modules/css/lib/NbParseTreeBuilder.java | 2 +-
css.lib/src/org/netbeans/modules/css/lib/layer.xml | 45 +-
.../modules/css/lib/Css3ParserLessTest.java | 18 +
.../modules/css/lib/Css3ParserScssTest.java | 108 +
.../netbeans/modules/css/lib/Css3ParserTest.java | 30 +-
css.model/build.xml | 39 +
css.model/manifest.mf | 2 +-
css.model/nbproject/project.properties | 37 +
css.model/nbproject/project.xml | 48 +
.../netbeans/modules/css/model/Bundle.properties | 37 +
css.prep/build.xml | 39 +
css.prep/manifest.mf | 2 +-
css.prep/nbproject/project.properties | 37 +
css.prep/nbproject/project.xml | 58 +-
.../netbeans/modules/css/prep/Bundle.properties | 37 +
.../modules/css/prep/editor/CPCompletionItem.java | 6 +-
.../netbeans/modules/css/prep/editor/CPUtils.java | 3 +
.../CPActionsImplementationProvider.java | 2 +-
.../src/org/netbeans/modules/css/prep/layer.xml | 39 +
.../modules/css/prep/less/LessCssPreprocessor.java | 28 +-
.../modules/css/prep/less/LessExecutable.java | 8 +-
.../css/prep/preferences/BasePreferences.java | 14 +
.../css/prep/preferences/LessPreferences.java | 2 +-
.../css/prep/preferences/SassPreferences.java | 2 +-
.../prep/problems/CustomizerProblemResolver.java | 4 +-
.../netbeans/modules/css/prep/sass/SassCli.java | 8 +-
.../modules/css/prep/sass/SassCssPreprocessor.java | 26 +-
.../css/prep/ui/customizer/CustomizerImpl.java | 4 +-
.../css/prep/ui/customizer/OptionsPanel.java | 3 +-
.../css/prep/ui/less/LessCssPreprocessorUI.java | 83 +
.../modules/css/prep/ui/options/LessOptions.java | 5 +-
.../css/prep/ui/options/LessOptionsPanel.java | 4 +-
.../modules/css/prep/ui/options/SassOptions.java | 5 +-
.../css/prep/ui/options/SassOptionsPanel.java | 4 +-
.../css/prep/ui/sass/SassCssPreprocessorUI.java | 83 +
.../css/prep/util/CssPreprocessorUtils.java | 4 +-
.../netbeans/modules/css/prep/util/UiUtils.java | 4 +-
css.visual/manifest.mf | 2 +-
css.visual/nbproject/project.xml | 17 +
.../modules/css/visual/CreateRulePanel.java | 3 +-
.../css/visual/CssCaretAwareSourceTask.java | 4 +
.../modules/css/visual/PropertyValuesEditor.java | 13 +-
.../modules/css/visual/resources/CssStyles.wsgrp | 39 +
.../modules/css/visual/resources/layer.xml | 39 +
db.core/manifest.mf | 2 +-
db.core/nbproject/project.properties | 2 +-
db.core/nbproject/project.xml | 2 +-
db.core/src/META-INF/netbeans/translate.names | 37 +
.../modules/db/api/sql/execute/Bundle.properties | 6 +-
.../modules/db/api/sql/execute/LogFileLogger.java | 25 +-
.../modules/db/api/sql/execute/SQLExecutor.java | 6 +-
.../db/api/sql/execute/StatementExecutionInfo.java | 24 +-
.../modules/db/core/resources/SQLTemplate.html | 11 +-
.../modules/db/sql/execute/SQLExecuteHelper.java | 621 +-
.../modules/db/sql/execute/SQLExecutionResult.java | 49 +
.../modules/db/sql/execute/StatementInfo.java | 64 +-
.../modules/db/sql/history/SQLHistory.java | 47 +-
.../modules/db/sql/history/SQLHistoryManager.java | 33 +-
.../modules/db/sql/loader/Bundle.properties | 25 +-
.../modules/db/sql/loader/SQLCloneableEditor.java | 41 +-
.../modules/db/sql/loader/SQLEditorSupport.java | 23 +
.../db/sql/loader/SQLExecutionLoggerImpl.java | 165 +-
.../db/sql/execute/SQLExecuteHelperTest.java | 73 +-
.../modules/db/sql/history/SQLHistoryTest.java | 113 +
db.dataview/build.xml | 39 +
db.dataview/manifest.mf | 2 +-
db.dataview/nbproject/project.properties | 37 +
db.dataview/nbproject/project.xml | 39 +
.../netbeans/modules/db/dataview/Bundle.properties | 37 +
.../netbeans/modules/db/dataview/api/DataView.java | 50 +
.../db/dataview/api/DataViewPageContext.java | 6 +-
.../db/dataview/meta/DBConnectionFactory.java | 8 +-
.../db/dataview/meta/DBMetaDataFactory.java | 12 +-
.../modules/db/dataview/output/Bundle.properties | 4 +-
.../modules/db/dataview/output/DataView.java | 99 +-
.../db/dataview/output/DataViewActionHandler.java | 9 -
.../db/dataview/output/DataViewPageContext.java | 77 +-
.../db/dataview/output/DataViewTableUI.java | 28 +-
.../modules/db/dataview/output/DataViewUI.java | 123 +-
.../db/dataview/output/ErrorPositionExtractor.java | 277 +
.../db/dataview/output/InsertRecordDialog.java | 74 +-
.../db/dataview/output/InsertRecordTableUI.java | 11 +-
.../modules/db/dataview/output/SQLConstant.java | 50 +
.../db/dataview/output/SQLExecutionHelper.java | 387 +-
.../db/dataview/output/SQLStatementExecutor.java | 8 +-
.../db/dataview/output/SQLStatementGenerator.java | 35 +-
.../db/dataview/table/CellFocusCustomRenderer.java | 7 +-
.../db/dataview/table/JXTableDecorator.java | 9 +-
.../db/dataview/table/JXTableRowHeader.java | 4 +-
.../db/dataview/table/ResultSetCellRenderer.java | 22 +-
.../db/dataview/table/ResultSetJXTable.java | 10 +
.../db/dataview/table/ResultSetTableModel.java | 2 +-
.../db/dataview/util/BasicDateTimePickerUI.java | 49 +-
.../modules/db/dataview/util/ColorHelper.java | 377 +
.../modules/db/dataview/util/DataViewUtils.java | 24 +-
.../modules/db/dataview/util/JXDateTimePicker.java | 102 +-
.../db/dataview/util/RandomAccessOutputStream.java | 5 +
.../modules/db/dataview/util/RelativeColor.java | 383 +
.../modules/db/dataview/output/DataViewTest.java | 1 -
.../db/dataview/output/SQLExecutionHelperTest.java | 16 -
db.drivers/external/binaries-list | 3 +
.../external/postgresql-9.2-1002-license.txt | 35 -
.../external/postgresql-9.4.1209-license.txt | 35 +
db.drivers/manifest.mf | 2 +-
db.drivers/nbproject/project.properties | 6 +-
.../netbeans/modules/db/drivers/Bundle.properties | 2 +-
.../netbeans/modules/db/drivers/MySQLDriver.xml | 45 +-
.../modules/db/drivers/PostgreSQLDriver.xml | 49 +-
.../org/netbeans/modules/db/drivers/postgresql.xml | 2 +-
db.kit/build.xml | 39 +
db.kit/manifest.mf | 2 +-
db.kit/nbproject/project.properties | 37 +
db.kit/nbproject/project.xml | 39 +
.../org/netbeans/modules/db/kit/Bundle.properties | 37 +
db.metadata.model/manifest.mf | 2 +-
db.metadata.model/nbproject/project.properties | 39 +-
.../modules/db/metadata/model/jdbc/JDBCSchema.java | 74 +-
.../modules/db/metadata/model/jdbc/JDBCTable.java | 142 +-
.../modules/db/metadata/model/jdbc/JDBCView.java | 16 +-
.../metadata/model/jdbc/oracle/OracleSchema.java | 26 +-
.../db/metadata/model/resources/Bundle.properties | 37 +
.../metadata/model/jdbc/JDBCMetadataMySQLTest.java | 10 +-
db.mysql/build.xml | 39 +
db.mysql/nbproject/project.properties | 39 +-
db.mysql/nbproject/project.xml | 39 +
.../netbeans/modules/db/mysql/Bundle.properties | 37 +
.../modules/db/mysql/actions/ConnectAction.java | 5 +-
db.sql.editor/nbproject/project.properties | 2 +-
db.sql.editor/nbproject/project.xml | 9 +
.../resources/CityLights-SQL-fontsColors.xml | 2 +-
.../editor/resources/NetBeans-SQL-fontsColors.xml | 2 +-
db.sql.visualeditor/build.xml | 43 +-
.../external/binaries-list | 0
db.sql.visualeditor/nbproject/project.properties | 2 +-
db.sql.visualeditor/nbproject/project.xml | 39 +
.../db/sql/visualeditor/parser/SQLParser.jj | 39 +
db/arch.xml | 28 +-
.../db => db}/external/binaries-list | 0
db/nbproject/org-netbeans-modules-db.sig | 6 +-
db/nbproject/project.properties | 2 +-
.../modules/db/explorer/DatabaseConnection.java | 16 +-
.../modules/db/explorer/action/QueryAction.java | 73 +-
.../modules/db/explorer/node/ConnectionNode.java | 14 +-
.../modules/db/explorer/node/IndexNode.java | 2 +-
.../modules/db/resources/connection-1_1.dtd | 45 +-
.../modules/db/resources/connection-1_2.dtd | 45 +-
db/src/org/netbeans/modules/db/util/Base64.java | 52 +-
dbapi/nbproject/project.properties | 2 +-
dbschema/nbproject/project.properties | 2 +-
.../dbschema/jdbcimpl/resources/DBSchema.html | 16 +-
.../dbschema/jdbcimpl/resources/Databases.html | 16 +-
deadlock.detector/manifest.mf | 2 +-
debian/changelog | 21 +-
debian/control | 10 +-
debian/patches/netbeans-ide-launcher.patch | 2 +-
debian/patches/netbeans-java.completion.patch | 1924 +
debian/patches/netbeans-java.debug.patch | 175 +
debian/patches/netbeans-java.editor.patch | 1788 +
debian/patches/netbeans-java.hints.patch | 14634 ++++++++
debian/patches/netbeans-java.source.base.patch | 13484 +++++++
debian/patches/netbeans-java.source.patch | 816 +
debian/patches/netbeans-java.sourceui.patch | 970 +
debian/patches/netbeans-javadoc.patch | 741 +
debian/patches/netbeans-refactoring-java.patch | 4854 +++
debian/patches/netbeans-spi.java.hints-1.patch | 43 +
debian/patches/series | 10 +
debian/rules | 2 +-
.../modules/debugger/jpda/ant/JPDAStart.java | 49 +-
.../netbeans/modules/debugger/jpda/ant/antlib.xml | 39 +
debugger.jpda.ant/manifest.mf | 2 +-
debugger.jpda.ant/nbproject/project.xml | 34 +-
debugger.jpda.heapwalk/manifest.mf | 2 +-
.../jpda/heapwalk/resources/classesCounts.settings | 39 +
.../jpda/heapwalk/resources/classesCounts.wstcgrp | 39 +
.../jpda/heapwalk/resources/classesCounts.wstcref | 39 +
.../jpda/heapwalk/resources/dbgInstances.settings | 39 +
.../jpda/heapwalk/resources/dbgInstances.wstcgrp | 39 +
.../jpda/heapwalk/resources/dbgInstances.wstcref | 39 +
debugger.jpda.js/manifest.mf | 3 +-
debugger.jpda.js/nbproject/project.xml | 155 +-
.../netbeans/modules/debugger/jpda/js/JSUtils.java | 15 -
.../debugger/jpda/js/StepThroughFiltersCheck.java | 123 +
.../jpda/js/breakpoints/JSBreakpointsInfoImpl.java | 14 +-
.../js/breakpoints/JSJavaBreakpointsManager.java | 134 +-
.../jpda/js/breakpoints/io/JSBreakpointReader.java | 30 +-
.../frames/models/DebuggingJSActionsProvider.java | 335 -
.../models/DebuggingJSFramesInJavaModelFilter.java | 189 -
.../js/frames/models/DebuggingJSNodeModel.java | 255 -
.../js/frames/models/DebuggingJSTreeModel.java | 151 -
.../netbeans/modules/debugger/jpda/js/layer.xml | 99 -
.../debugger/jpda/js/vars/models/JSWatchVar.java | 102 -
.../jpda/js/vars/models/VariablesJSNodeModel.java | 249 -
.../jpda/js/vars/models/VariablesJSTableModel.java | 172 -
.../jpda/js/vars/models/VariablesJSTreeModel.java | 224 -
.../vars/tooltip/JPDADebuggerTooltipSupport.java | 94 -
.../jpda/js/vars/tooltip/ToolTipAnnotation.java | 105 -
.../jpda/js/vars/tooltip/ToolTipModel.java | 90 -
debugger.jpda.jsui/build.xml | 48 +
debugger.jpda.jsui/manifest.mf | 9 +
debugger.jpda.jsui/nbproject/project.properties | 47 +
debugger.jpda.jsui/nbproject/project.xml | 282 +
.../modules/debugger/jpda/jsui/Bundle.properties | 50 +
.../modules/debugger/jpda/jsui/JSUIUtils.java | 66 +
.../frames/models/DebuggingJSActionsProvider.java | 335 +
.../models/DebuggingJSFramesInJavaModelFilter.java | 189 +
.../jsui/frames/models/DebuggingJSNodeModel.java | 255 +
.../DebuggingJSTreeExpansionModelFilter.java | 184 +
.../jsui/frames/models/DebuggingJSTreeModel.java | 151 +
.../netbeans/modules/debugger/jpda/jsui/layer.xml | 99 +
.../debugger/jpda/jsui/vars/models/JSWatchVar.java | 102 +
.../jsui/vars/models/VariablesJSNodeModel.java | 249 +
.../jsui/vars/models/VariablesJSTableModel.java | 172 +
.../jsui/vars/models/VariablesJSTreeModel.java | 224 +
.../jpda/jsui/vars/tooltip/ToolTipAnnotation.java | 128 +
debugger.jpda.kit/manifest.mf | 2 +-
debugger.jpda.kit/nbproject/project.xml | 2 +-
debugger.jpda.projects/manifest.mf | 2 +-
.../nbproject/project.properties | 4 +-
debugger.jpda.projects/nbproject/project.xml | 2 +-
.../debugger/jpda/projects/ClassToInvoke.java | 73 +
.../debugger/jpda/projects/CodeCompiler.java | 73 +
.../jpda/projects/CodeSnippetCompiler.java | 121 +
.../jpda/projects/EditorContextSupport.java | 15 +
.../debugger/jpda/projects/IntroduceClass.java | 290 +
.../debugger/jpda/projects/PreferredCCParser.java | 198 +-
.../debugger/jpda/projects/ScanLocalVars.java | 232 +
debugger.jpda.projectsui/manifest.mf | 2 +-
.../nbproject/project.properties | 2 +-
debugger.jpda.projectsui/nbproject/project.xml | 13 +-
.../projectsui/DebuggerStateChangeListener.java | 86 +
.../jpda/projectsui/EditorContextImpl.java | 59 +-
.../debugger/jpda/projectsui/LineTranslations.java | 7 +-
.../jpda/projectsui/PinWatchExpandAction.java | 123 +
.../jpda/projectsui/ToolTipAnnotation.java | 90 +-
.../jpda/projectsui/ToolTipExpansionFilter.java | 81 -
.../jpda/projectsui/ToolTipNodeModelFilter.java | 137 -
.../jpda/projectsui/ToolTipTreeModelFilter.java | 98 -
.../debugger/jpda/projectsui/ToolTipView.java | 359 -
.../DebuggerBreakpointAnnotationTest.java | 9 +-
debugger.jpda.ui/manifest.mf | 2 +-
.../jpda/ui/CurrentThreadAnnotationListener.java | 4 +-
.../debugger/jpda/ui/EditorContextBridge.java | 4 +-
.../debugger/jpda/ui/JPDACodeEvaluator.java | 10 +
.../debugger/jpda/ui/SmartSteppingImpl.java | 2 +-
.../modules/debugger/jpda/ui/SourcePath.java | 4 +-
.../ui/actions/ActionMessageCallbackUIImpl.java | 30 +-
.../jpda/ui/models/DebuggingNodeModel.java | 7 +
.../jpda/ui/models/DebuggingTableModel.java | 8 +-
.../jpda/ui/models/JPDAWatchRefreshModel.java | 58 +
.../jpda/ui/models/NumericDisplayFilter.java | 12 +-
.../jpda/ui/models/PinWatchValueProvider.java | 446 +
.../jpda/ui/models/ValuePropertyEditor.java | 22 +
.../jpda/ui/models/VariablesTableModel.java | 122 +-
.../jpda/ui/models/WatchesActionsProvider.java | 21 +
.../debugger/jpda/ui/models/WatchesModel.java | 128 +-
.../jpda/ui/options/OptionsInitializer.java | 1 +
.../debugTestProjectAnt/nbproject/build-impl.xml | 2 +-
.../jpda/ui/operators/AttachJDialogOperator.java | 1 -
.../modules/debugger/jpda/ui/ActionsTest.java | 1 -
.../debugger/jpda/ui/ClassBreakpointsTest.java | 4 +-
.../debugger/jpda/ui/ExceptionBreakpointsTest.java | 1 -
.../debugger/jpda/ui/FieldBreakpointsTest.java | 1 -
.../debugger/jpda/ui/LineBreakpointsTest.java | 1 -
.../debugger/jpda/ui/LocalVariablesTest.java | 1 -
.../debugger/jpda/ui/MethodBreakpointsTest.java | 1 -
.../debugger/jpda/ui/StartDebuggerTest.java | 1 -
.../debugger/jpda/ui/ThreadBreakpointsTest.java | 1 -
.../modules/debugger/jpda/ui/Utilities.java | 1 -
.../modules/debugger/jpda/ui/ViewsTest.java | 1 -
.../modules/debugger/jpda/ui/WatchesTest.java | 1 -
debugger.jpda.visual/manifest.mf | 2 +-
debugger.jpda.visual/nbproject/project.properties | 2 +-
.../debugger/jpda/visual/RemoteAWTScreenshot.java | 2 +-
.../debugger/jpda/visual/RemoteFXScreenshot.java | 31 +-
.../debugger/jpda/visual/RemoteServices.java | 69 +-
.../jpda/visual/VisualDebuggerListener.java | 24 +-
.../actions/TakeScreenshotActionProvider.java | 16 +-
.../debugger/jpda/visual/resources/events.settings | 39 +
.../debugger/jpda/visual/resources/events.wstcgrp | 39 +
.../debugger/jpda/visual/resources/events.wstcref | 39 +
debugger.jpda/arch.xml | 6 +-
.../modules/debugger/jpda/jdi/Generate.java | 4 +-
debugger.jpda/nbproject/project.properties | 4 +-
debugger.jpda/nbproject/project.xml | 15 +-
.../debugger/jpda/DeadlockDetectorImpl.java | 31 +
.../modules/debugger/jpda/DebuggerConsoleIO.java | 2 +
.../modules/debugger/jpda/EditorContextBridge.java | 40 +-
.../modules/debugger/jpda/JPDADebuggerImpl.java | 103 +-
.../modules/debugger/jpda/JPDAStepImpl.java | 168 +-
.../debugger/jpda/JSR45DebuggerEngineProvider.java | 9 +-
.../actions/CompoundSmartSteppingListener.java | 94 +-
.../debugger/jpda/actions/StepActionProvider.java | 144 +-
.../debugger/jpda/actions/StepIntoNextMethod.java | 88 +-
.../debugger/jpda/breakpoints/BreakpointImpl.java | 21 +-
.../breakpoints/BreakpointsEngineListener.java | 4 +
.../jpda/breakpoints/MethodBreakpointImpl.java | 29 +-
.../debugger/jpda/expr/CanInterpretVisitor.java | 115 +
.../debugger/jpda/expr/EvaluationContext.java | 28 +-
.../debugger/jpda/expr/EvaluationException.java | 4 +-
.../debugger/jpda/expr/EvaluatorVisitor.java | 134 +-
.../jpda/expr/InvocationExceptionTranslated.java | 24 +-
.../modules/debugger/jpda/expr/JavaExpression.java | 4 +-
.../modules/debugger/jpda/expr/TreeEvaluator.java | 86 +-
.../debugger/jpda/jdi/InterfaceTypeWrapper.java | 61 +
.../modules/debugger/jpda/jdi/MethodWrapper.java | 98 +
.../debugger/jpda/models/JPDAThreadImpl.java | 383 +-
.../netbeans/modules/debugger/jpda/package.html | 75 +-
.../modules/debugger/jpda/remote/RemoteClass.java | 58 +
.../debugger/jpda/remote/RemoteServices.java | 269 +
.../modules/debugger/jpda/util/JPDAUtils.java | 20 +-
.../modules/debugger/jpda/util/Operator.java | 38 +-
.../modules/debugger/jpda/util/package.html | 75 +-
debugger.jpda/sub.locale.xml | 41 +-
.../netbeans/api/debugger/jpda/JPDASupport.java | 25 +-
defaults/manifest.mf | 2 +-
.../modules/defaults/BlueTheme-annotations.xml | 91 +-
.../netbeans/modules/defaults/BlueTheme-editor.xml | 6 +
.../modules/defaults/Eclipse-keybindings-mac.xml | 1 +
.../modules/defaults/Eclipse-keybindings.xml | 10 +-
.../netbeans/modules/defaults/Idea-keybindings.xml | 7 +
.../defaults/NetBeans55-SQL-fontsColors.xml | 2 +-
.../defaults/mf-layer-eclipse-keybinding.xml | 41 +-
.../src/org/netbeans/modules/defaults/mf-layer.xml | 16 +
.../derby => derby}/external/binaries-list | 0
derby/manifest.mf | 2 +-
derby/nbproject/project.properties | 6 +-
.../org/netbeans/modules/derby/DerbyActivator.java | 4 +-
.../modules/derby/spi/support/Bundle.properties | 3 -
.../modules/derby/spi/support/DerbySupport.java | 64 +-
.../netbeans/modules/derby/DerbyOptionsTest.java | 12 +-
.../netbeans/modules/derby/DerbyOptionsTest2.java | 5 +-
.../netbeans/modules/derby/RegisterDerbyTest.java | 2 +
.../modules/derby/api/DerbyDatabasesTest.java | 34 +-
.../derby/spi/support/DerbySupportTest.java | 44 +-
.../org/netbeans/modules/derby/test/TestBase.java | 29 +-
diff/apichanges.xml | 2 +-
diff/arch.xml | 43 +-
diff/nbproject/org-netbeans-modules-diff.sig | 2 +-
diff/nbproject/project.properties | 2 +-
.../modules/diff/BuiltInDiffProvider.settings | 39 +
.../org/netbeans/modules/diff/Bundle.properties | 2 +-
.../modules/diff/CmdlineDiffProvider.settings | 39 +
.../org/netbeans/modules/diff/DefaultDiff.settings | 39 +
.../netbeans/modules/diff/DiffModuleConfig.java | 71 +-
.../modules/diff/EditableDiffVisualizer.settings | 39 +
.../modules/diff/GraphicalDiffVisualizer.settings | 39 +
.../modules/diff/GraphicalMergeVisualizer.settings | 39 +
.../modules/diff/TextDiffVisualizer.settings | 39 +
.../visualizer/editable/DiffContentPanel.java | 18 +-
.../visualizer/editable/DiffSplitPaneDivider.java | 2 +-
.../visualizer/editable/EditableDiffView.java | 2 +-
diff/src/org/netbeans/modules/diff/mf-layer.xml | 3 -
.../diff/options/DiffOptionsController.java | 7 -
.../modules/diff/options/DiffOptionsPanel.form | 95 +-
.../modules/diff/options/DiffOptionsPanel.java | 203 +-
.../builtin/DefaultDiffControllerProviderTest.java | 61 +-
.../diff/builtin/visualizer/UnifiedDiffTest.java | 3 +
dlight.kit/build.xml | 39 +
dlight.kit/findbugs.sh | 37 +
dlight.kit/nbproject/project.properties | 39 +-
dlight.kit/nbproject/project.xml | 46 +
dlight.kit/release/VERSION.txt | 2 +-
.../netbeans/modules/dlight/kit/Bundle.properties | 37 +
dlight.libs.common/build.xml | 39 +
dlight.libs.common/nbproject/project.properties | 39 +-
dlight.libs.common/nbproject/project.xml | 52 +-
.../dlight/libs/common/resources/Bundle.properties | 37 +
dlight.nativeexecution.nb/build.xml | 44 +
dlight.nativeexecution.nb/manifest.mf | 7 +
.../nbproject/project.properties | 41 +
dlight.nativeexecution.nb/nbproject/project.xml | 256 +
.../api/ui/util/NativeExecutionUIUtils.java | 58 +
.../api/ui/util/ValidatablePanelListener.java | 51 +
.../api/ui/util/ValidateablePanel.java | 88 +
.../JSchAuthenticationSelectionImplementation.java | 65 +
.../impl/NativeExecutionUserNotificationImpl.java | 198 +
.../modules/nativeexecution/impl}/error.png | Bin
.../modules/nativeexecution/impl}/exclamation.gif | Bin
.../nativeexecution/nb/resources/Bundle.properties | 39 +
.../spi/ui/HostPropertiesPanelProvider.java | 58 +
.../support/HostConfigurationPanel.java | 148 +
.../support/HostPropertiesPanelProviderImpl.java | 66 +
.../support/ui/api/AutocompletionProvider.java | 0
.../ui/api/FileNamesCompletionProvider.java | 179 +
.../support/ui/api/FileSelectorField.java | 263 +
.../nativeexecution/ui/AuthTypeSelectorDlg.form | 97 +
.../nativeexecution/ui/AuthTypeSelectorDlg.java | 192 +
.../ui/AuthenticationSettingsPanel.form | 434 +
.../ui/AuthenticationSettingsPanel.java | 847 +
.../modules/nativeexecution/ui/Bundle.properties | 150 +
.../nativeexecution/ui/CertPassphraseDlg.form | 134 +
.../nativeexecution/ui/CertPassphraseDlg.java | 216 +
.../ui/CertPassphraseDlgFactory.java | 63 +
.../modules/nativeexecution/ui/Completable.java | 57 +
.../nativeexecution/ui/CompletionPopup.java | 342 +
.../nativeexecution/ui/GrantPrivilegesDialog.form | 100 +
.../nativeexecution/ui/GrantPrivilegesDialog.java | 196 +
.../ui/GrantPrivilegesDialogFactory.java | 60 +
.../modules/nativeexecution/ui/PasswordDlg.form | 185 +
.../modules/nativeexecution/ui/PasswordDlg.java | 231 +
.../nativeexecution/ui/PasswordDlgFactory.java | 63 +
.../nativeexecution/ui/PromptPasswordDialog.java | 59 +
.../nativeexecution/ui/SSHKeyFileChooser.java | 91 +
.../ui/SSHKeyFileCompletionProvider.java | 102 +
.../nativeexecution/ui/SSHKeyFileFilter.java | 114 +
.../modules/nativeexecution/ui/SSHKeysPanel.form | 113 +
.../modules/nativeexecution/ui/SSHKeysPanel.java | 173 +
.../ui/ShellValidationStatusPanel.form | 120 +
.../ui/ShellValidationStatusPanel.java | 200 +
dlight.nativeexecution/arch.xml | 49 +-
dlight.nativeexecution/build.xml | 39 +
.../external/binaries-list | 0
dlight.nativeexecution/manifest.mf | 2 +-
.../nbproject/project.properties | 116 +-
dlight.nativeexecution/nbproject/project.xml | 112 +-
.../release/bin/nativeexecution/dorun.sh | 38 +
.../release/bin/nativeexecution/hostinfo.sh | 41 +
.../nativeexecution/ConnectionManagerAccessor.java | 2 +-
.../modules/nativeexecution/JschSupport.java | 8 +-
.../modules/nativeexecution/NativeProcessInfo.java | 2 +-
.../modules/nativeexecution/NbNativeProcess.java | 2 +-
.../TerminalLocalNativeProcess.java | 18 +-
.../modules/nativeexecution/api/HostInfo.java | 4 +
.../nativeexecution/api/NativeProcessBuilder.java | 23 +-
.../api/NativeProcessExecutionService.java | 30 +-
.../api/execution/Bundle.properties | 9 +-
.../api/execution/NativeExecutionService.java | 71 +-
.../api/execution/PostMessageDisplayer.java | 16 +-
.../nativeexecution/api/pty/PtySupport.java | 20 +-
.../nativeexecution/api/pty/package-info.java | 39 +
.../nativeexecution/api/util/Authentication.java | 470 +
.../api/util/AuthenticationUtils.java | 6 +-
.../nativeexecution/api/util/Bundle.properties | 7 +-
.../api/util/CommonTasksSupport.java | 30 +-
.../api/util/ConnectionManager.java | 41 +-
.../api/util/ExternalTerminalProvider.java | 8 +-
.../api/util/HelperLibraryUtility.java | 2 +
.../nativeexecution/api/util/HostInfoUtils.java | 39 +
.../api/util/HostPropertyValidator.java | 50 +
.../api/util/MacroExpanderFactory.java | 4 +
.../nativeexecution/api/util/Md5checker.java | 9 +-
.../nativeexecution/api/util/PathUtils.java | 51 +-
.../nativeexecution/api/util/ProcessUtils.java | 330 +-
.../nativeexecution/api/util/SftpSupport.java | 6 +-
.../modules/nativeexecution/api/util/Shell.java | 2 +-
.../api/util/ShellScriptRunner.java | 1 +
.../api/util/ShellValidationSupport.java | 190 +-
.../modules/nativeexecution/api/util/Stat.java | 111 -
.../nativeexecution/api/util/UnbufferSupport.java | 45 +-
.../api/util/ValidatablePanelListener.java | 51 -
.../api/util/ValidateablePanel.java | 87 -
.../api/util/WindowsRegistryIterator.java | 9 +-
.../nativeexecution/api/util/WindowsSupport.java | 48 +-
.../jsch/ConnectingProgressHandle.java | 4 +-
.../nativeexecution/jsch/JSchChannelsSupport.java | 33 +-
.../nativeexecution/jsch/JSchConnectionTask.java | 23 +-
.../modules/nativeexecution/pty/IOConnector.java | 15 +-
.../nativeexecution/pty/NbStartUtility.java | 1 +
.../modules/nativeexecution/pty/PtyAllocator.java | 2 +-
.../nativeexecution/resources/Bundle.properties | 37 +
.../modules/nativeexecution/resources/layer.xml | 39 +
.../signals/impl/NbKillAllSignalSupport.java | 4 +-
.../spi/ExecutionEnvironmentFactoryService.java | 2 +-
.../spi/HostPropertiesPanelProvider.java | 58 -
.../spi/JSchAuthenticationSelection.java | 74 +
.../spi/support/GrantPrivilegesProvider.java | 53 +
.../support/GrantPrivilegesProviderFactory.java | 52 +
.../support/NativeExecutionUserNotification.java | 136 +
.../spi/support/PasswordProvider.java | 64 +
.../spi/support/PasswordProviderFactory.java | 56 +
.../sps/impl/FetchPrivilegesTask.java | 22 +-
.../sps/impl/RequestPrivilegesTask.java | 34 +-
.../nativeexecution/sps/impl/SPSLocalImpl.java | 2 +
.../nativeexecution/sps/impl/SPSRemoteImpl.java | 14 +-
.../nativeexecution/support/Authentication.java | 236 -
.../nativeexecution/support/Bundle.properties | 3 +-
.../support/HostConfigurationPanel.java | 148 -
.../support/HostPropertiesPanelProviderImpl.java | 65 -
.../modules/nativeexecution/support/MiscUtils.java | 18 +-
.../nativeexecution/support/RemoteUserInfo.java | 151 +-
.../nativeexecution/support/ShellSession.java | 29 +-
.../filesearch/impl/RemoteFileSearcherImpl.java | 1 +
.../hostinfo/impl/UnixHostInfoProvider.java | 149 +-
.../hostinfo/impl/WindowsHostInfoProvider.java | 2 +-
.../support/ui/AuthTypeSelectorDlg.form | 97 -
.../support/ui/AuthTypeSelectorDlg.java | 192 -
.../support/ui/AuthenticationSettingsPanel.form | 206 -
.../support/ui/AuthenticationSettingsPanel.java | 398 -
.../nativeexecution/support/ui/Bundle.properties | 125 -
.../support/ui/CertPassphraseDlg.form | 134 -
.../support/ui/CertPassphraseDlg.java | 215 -
.../nativeexecution/support/ui/Completable.java | 57 -
.../support/ui/CompletionPopup.java | 342 -
.../support/ui/GrantPrivilegesDialog.form | 100 -
.../support/ui/GrantPrivilegesDialog.java | 195 -
.../nativeexecution/support/ui/PasswordDlg.form | 185 -
.../nativeexecution/support/ui/PasswordDlg.java | 230 -
.../support/ui/PromptPasswordDialog.java | 59 -
.../support/ui/SSHKeyFileChooser.java | 91 -
.../support/ui/SSHKeyFileCompletionProvider.java | 102 -
.../support/ui/SSHKeyFileFilter.java | 114 -
.../nativeexecution/support/ui/SSHKeysPanel.form | 113 -
.../nativeexecution/support/ui/SSHKeysPanel.java | 173 -
.../support/ui/ShellValidationStatusPanel.form | 120 -
.../support/ui/ShellValidationStatusPanel.java | 200 -
.../ui/api/FileNamesCompletionProvider.java | 181 -
.../support/ui/api/FileSelectorField.java | 248 -
.../support/windows/SimpleConverter.java | 20 +-
.../modules/nativeexecution/EnvironmentTest.java | 12 +-
.../modules/nativeexecution/HostInfoTestCase.java | 3 +
.../netbeans/modules/nativeexecution/IZ182478.java | 4 +-
.../modules/nativeexecution/RedirectErrorTest.java | 4 +-
.../nativeexecution/api/util/StreamsHangup.java | 351 +
.../api/util/StreamsHangupTestCase.java | 155 +
.../nativeexecution/support/ShellSessionTest.java | 6 +-
.../test/NativeExecutionBaseTestCase.java | 16 +-
.../test/NativeExecutionTestSupport.java | 9 +-
.../util/MacroExpanderFactoryTest.java | 39 +-
dlight.nativeexecution/tools/Makefile | 67 +-
dlight.nativeexecution/tools/build-pty-support.sh | 37 +
dlight.nativeexecution/tools/build.sh | 37 +
dlight.nativeexecution/tools/buildall.sh | 116 +
dlight.nativeexecution/tools/killall/Makefile | 52 +-
.../tools/killall/make/Makefile.gmake | 3 +-
dlight.nativeexecution/tools/killall/src/error.c | 40 +
dlight.nativeexecution/tools/killall/src/error.h | 40 +
dlight.nativeexecution/tools/killall/src/killall.c | 40 +
dlight.nativeexecution/tools/killall/src/killall.h | 40 +
.../tools/killall/src/linux/pfind.c | 40 +
.../tools/killall/src/macosx/pfind.c | 40 +
dlight.nativeexecution/tools/killall/src/options.c | 40 +
dlight.nativeexecution/tools/killall/src/options.h | 40 +
dlight.nativeexecution/tools/killall/src/pfind.h | 40 +
.../tools/killall/src/solaris/pfind.c | 40 +
.../tools/nbproject/configurations.xml | 45 +-
dlight.nativeexecution/tools/nbproject/project.xml | 41 +-
dlight.nativeexecution/tools/pty/Makefile | 52 +-
.../tools/pty/make/Makefile.gmake | 3 +-
dlight.nativeexecution/tools/pty/src/env.c | 40 +
dlight.nativeexecution/tools/pty/src/env.h | 40 +
dlight.nativeexecution/tools/pty/src/error.c | 40 +
dlight.nativeexecution/tools/pty/src/error.h | 40 +
dlight.nativeexecution/tools/pty/src/loop.c | 40 +
dlight.nativeexecution/tools/pty/src/loop.h | 40 +
dlight.nativeexecution/tools/pty/src/options.c | 40 +
dlight.nativeexecution/tools/pty/src/options.h | 40 +
dlight.nativeexecution/tools/pty/src/pty.c | 40 +
dlight.nativeexecution/tools/pty/src/pty.h | 40 +
dlight.nativeexecution/tools/pty/src/pty_fork.c | 40 +
dlight.nativeexecution/tools/pty/src/pty_fork.h | 40 +
dlight.nativeexecution/tools/pty/src/util.c | 40 +
dlight.nativeexecution/tools/pty/src/util.h | 40 +
dlight.nativeexecution/tools/unbuffer/Makefile | 51 +-
.../tools/unbuffer/make/Makefile.gmake | 3 +-
.../tools/unbuffer/src/unbuffer.c | 40 +
dlight.remote.impl/build.xml | 65 +
dlight.remote.impl/external/binaries-list | 5 +
dlight.remote.impl/nbproject/project.properties | 39 +-
dlight.remote.impl/nbproject/project.xml | 51 +-
.../modules/remote/actions/Bundle.properties | 37 +
.../impl/ExecutablesCompletionProviderFactory.java | 9 +-
...dBasedExecutablesCompletionProviderFactory.java | 9 +-
.../impl/PathsCompletionProviderFactory.java | 9 +-
.../fileoperations/spi/FileOperationsProvider.java | 30 +-
.../spi/FilesystemInterceptorProvider.java | 2 +-
.../fileoperations/spi/RemoteVcsSupportUtil.java | 32 +-
.../remote/impl/fs/CachedRemoteInputStream.java | 3 +-
.../netbeans/modules/remote/impl/fs/DirEntry.java | 8 +
.../modules/remote/impl/fs/DirEntryImpl.java | 5 +-
.../modules/remote/impl/fs/DirectoryStorage.java | 8 +-
.../impl/fs/FileSystemCacheProviderImpl.java | 6 +-
.../modules/remote/impl/fs/MagicCache.java | 16 +-
.../modules/remote/impl/fs/RecursiveListener.java | 2 +-
.../modules/remote/impl/fs/RefreshManager.java | 40 +-
.../modules/remote/impl/fs/RemoteDirectory.java | 166 +-
.../modules/remote/impl/fs/RemoteFileObject.java | 15 +-
.../remote/impl/fs/RemoteFileObjectBase.java | 175 +-
.../remote/impl/fs/RemoteFileObjectFactory.java | 230 +-
.../remote/impl/fs/RemoteFileObjectWithCache.java | 75 +
.../modules/remote/impl/fs/RemoteFileSystem.java | 140 +-
.../remote/impl/fs/RemoteFileSystemTransport.java | 151 +-
.../remote/impl/fs/RemoteFileSystemUtils.java | 17 +-
.../modules/remote/impl/fs/RemoteFileZipper.java | 10 +-
.../modules/remote/impl/fs/RemoteLink.java | 5 +-
.../modules/remote/impl/fs/RemoteLinkBase.java | 63 +-
.../modules/remote/impl/fs/RemoteLinkChild.java | 76 +-
.../modules/remote/impl/fs/RemoteLockSupport.java | 421 +
.../modules/remote/impl/fs/RemotePlainFile.java | 144 +-
.../modules/remote/impl/fs/SftpTransport.java | 51 +-
.../remote/impl/fs/SpecialRemoteFileObject.java | 7 +-
.../modules/remote/impl/fs/server/Buffer.java | 27 +-
.../remote/impl/fs/server/FSSDispatcher.java | 159 +-
.../modules/remote/impl/fs/server/FSSResponse.java | 35 +-
.../remote/impl/fs/server/FSSTransport.java | 253 +-
.../impl/fs/ui/ConnectionNotifierDelegate.java | 4 +-
.../remote/impl/fs/ui/ConnectionNotifierImpl.java | 2 +-
.../impl/fs/ui/RemoteExternalDropHandler.java | 9 +-
.../remote/impl/resources/Bundle.properties | 37 +
.../netbeans/modules/remote/util/ExecSupport.java | 130 -
.../remote/impl/fileoperations/spi/Agent.java | 4 +-
.../spi/MockupFilesystemInterceptorProvider.java | 2 +-
.../spi/RemoteVcsSupportUtilTestCase.java | 10 +-
.../modules/remote/impl/fs/AdeMockupTestCase.java | 4 +-
.../remote/impl/fs/FileSystemProviderTestCase.java | 4 +-
.../remote/impl/fs/ReadOnlyDirTestCase.java | 2 +-
.../remote/impl/fs/ReadWriteLocksTestCase.java | 242 +
.../impl/fs/RefreshDirSyncCountTestCase.java | 81 +-
.../remote/impl/fs/RemoteFileSystemTestCase.java | 2 +-
.../modules/remote/impl/fs/RemoteFileTestBase.java | 29 +-
.../impl/fs/RemoteLinksChangeLinkTestCase.java | 20 +-
.../impl/fs/RemoteLinksChangeLinkTestCase2.java | 18 +-
.../remote/impl/fs/RemoteLinksTestCase.java | 166 +-
.../modules/remote/impl/fs/RemoteURLTestCase.java | 6 +-
...empFileRelatedExceptionsIZ_258285_testCase.java | 153 +
.../impl/fs/WrongCreationEventsTestCase.java | 2 +-
.../impl/fs/server/FSSTransportTestAccessor.java | 3 +-
.../modules/remote/test/RemoteApiTest.java | 3 +-
dlight.remote.impl/tools/fs_server/Makefile | 96 +-
.../tools/fs_server/make/Makefile.gmake | 4 +-
.../tools/fs_server/nbproject/configurations.xml | 173 +-
.../tools/fs_server/nbproject/launcher.properties | 40 +-
.../tools/fs_server/nbproject/project.xml | 39 +
dlight.remote.impl/tools/fs_server/src/array.c | 6 +-
.../tools/fs_server/src/blocking_queue.c | 28 +-
dlight.remote.impl/tools/fs_server/src/dirtab.c | 56 +-
dlight.remote.impl/tools/fs_server/src/exitcodes.h | 2 +
dlight.remote.impl/tools/fs_server/src/fs_server.c | 349 +-
dlight.remote.impl/tools/fs_server/src/queue.c | 3 +-
dlight.remote.impl/tools/fs_server/src/settings.c | 137 +
dlight.remote.impl/tools/fs_server/src/settings.h | 79 +
dlight.remote.impl/tools/fs_server/src/util.c | 103 +-
dlight.remote.impl/tools/fs_server/src/util.h | 14 +-
dlight.remote.impl/tools/fs_server/test/Makefile | 38 +
.../tools/fs_server/test/dynamic_fs_server_test.sh | 177 +
.../fs_server/test/make_fs_server_requests.sh | 38 +
.../tools/fs_server/test/test_main.c | 39 +
dlight.remote.ui/build.xml | 44 +
dlight.remote.ui/manifest.mf | 6 +
dlight.remote.ui/nbproject/project.properties | 40 +
dlight.remote.ui/nbproject/project.xml | 199 +
.../remote/api/ui/AutocompletionProvider.java | 0
.../remote/api/ui/AutocompletionSupport.java | 162 +
.../modules/remote/api/ui/Bundle.properties | 0
.../modules/remote/api/ui/DirectoryCellEditor.java | 100 +
.../modules/remote/api/ui/FileChooserBuilder.java | 543 +
.../modules/remote/api/ui/FileChooserUIImpl.java | 3725 ++
.../modules/remote/api/ui/FileCompletionPopup.java | 293 +
.../netbeans/modules/remote/api/ui/FileNode.java | 234 +
.../modules/remote/api/ui/FileObjectBasedFile.java | 461 +
.../modules/remote/api/ui/InputBlocker.java | 126 +
.../remote/api/ui/RemoteFileSystemView.java | 256 +
.../modules/remote/api/ui/ServerListUI.java | 89 +
.../netbeans/modules/remote/api/ui/progress.gif | Bin
.../modules/remote/ui/resources/Bundle.properties | 38 +
.../ui/spi/AutocompletionProviderFactory.java | 57 +
.../remote/ui/spi/ServerRecordUIController.java | 87 +
.../remote/ui/spi/ServerRecordUIProvider.java | 59 +
.../modules/remote/ui/spi/ServerSetupProvider.java | 71 +
.../modules/remote/ui/spi/ServerSetupWorker.java | 72 +
.../modules/remote/ui/support/RemoteLogger.java | 121 +
dlight.remote/build.xml | 39 +
dlight.remote/nbproject/project.properties | 39 +-
dlight.remote/nbproject/project.xml | 80 +-
.../modules/remote/api/ConnectionNotifier.java | 138 +
.../netbeans/modules/remote/api/RemoteFile.java | 50 +
.../netbeans/modules/remote/api/ServerListUI.java | 89 -
.../remote/api/ui/AutocompletionSupport.java | 162 -
.../modules/remote/api/ui/ConnectionNotifier.java | 138 -
.../modules/remote/api/ui/DirectoryCellEditor.java | 98 -
.../modules/remote/api/ui/FileChooserBuilder.java | 539 -
.../modules/remote/api/ui/FileChooserUIImpl.java | 3697 --
.../modules/remote/api/ui/FileCompletionPopup.java | 291 -
.../netbeans/modules/remote/api/ui/FileNode.java | 232 -
.../modules/remote/api/ui/FileObjectBasedFile.java | 460 -
.../modules/remote/api/ui/InputBlocker.java | 124 -
.../remote/api/ui/RemoteFileSystemView.java | 256 -
.../modules/remote/resources/Bundle.properties | 37 +
.../remote/spi/AutocompletionProviderFactory.java | 57 -
.../spi/ConnectionNotifierImplementation.java | 2 +-
.../remote/spi/RemoteServerListProvider.java | 5 +
.../remote/spi/ServerRecordUIController.java | 87 -
.../modules/remote/spi/ServerRecordUIProvider.java | 59 -
.../modules/remote/spi/ServerSetupProvider.java | 71 -
.../modules/remote/spi/ServerSetupWorker.java | 72 -
.../remote/support/LocalFileSystemProvider.java | 6 +-
dlight.sendto/build.xml | 39 +
dlight.sendto/nbproject/project.properties | 41 +-
dlight.sendto/nbproject/project.xml | 41 +-
.../modules/dlight/sendto/action/Bundle.properties | 36 +-
.../modules/dlight/sendto/api/Bundle.properties | 37 +-
.../modules/dlight/sendto/api/ScriptsRegistry.java | 13 +-
.../modules/dlight/sendto/config/Bundle.properties | 37 +-
.../dlight/sendto/conifg/impl/Bundle.properties | 37 +-
.../dlight/sendto/conifg/ui/Bundle.properties | 36 +-
.../dlight/sendto/resources/Bundle.properties | 41 +-
.../modules/dlight/sendto/resources/layer.xml | 39 +
.../modules/dlight/sendto/util/Bundle.properties | 36 +-
dlight.terminal/build.xml | 39 +
dlight.terminal/nbproject/project.properties | 39 +-
dlight.terminal/nbproject/project.xml | 49 +
.../modules/dlight/terminal/Bundle.properties | 37 +
.../dlight/terminal/action/Bundle.properties | 39 +-
.../action/OpenInEditorActionProvider.java | 128 +
.../terminal/action/TerminalSettingsAction.java | 12 +-
.../terminal/action/TerminalSupportImpl.java | 60 +-
.../org/netbeans/modules/dlight/terminal/layer.xml | 39 +
.../modules/dlight/terminal/ui/Bundle.properties | 37 +
.../terminal/ui/TerminalContainerTopComponent.java | 33 +-
docker.api/build.xml | 50 +
docker.api/manifest.mf | 6 +
docker.api/nbproject/project.properties | 47 +
docker.api/nbproject/project.xml | 151 +
.../modules/docker/ChunkedInputStream.java | 145 +
.../modules/docker/ChunkedOutputStream.java | 75 +
.../modules/docker/ConnectionListener.java | 54 +
.../src/org/netbeans/modules/docker/Demuxer.java | 110 +
.../modules/docker/DirectStreamResult.java | 104 +
.../modules/docker/DockerActionAccessor.java | 83 +
.../org/netbeans/modules/docker/DockerConfig.java | 438 +
.../netbeans/modules/docker/DockerEventBus.java | 274 +
.../modules/docker/DockerRemoteException.java | 63 +
.../org/netbeans/modules/docker/DockerUtils.java | 102 +
.../src/org/netbeans/modules/docker/Endpoint.java | 79 +
.../netbeans/modules/docker/FolderUploader.java | 139 +
.../src/org/netbeans/modules/docker/HttpUtils.java | 298 +
.../netbeans/modules/docker/IgnoreFileFilter.java | 125 +
.../org/netbeans/modules/docker/IgnorePattern.java | 529 +
.../netbeans/modules/docker/MuxedStreamResult.java | 178 +
.../org/netbeans/modules/docker/StreamItem.java | 76 +
.../org/netbeans/modules/docker/StreamResult.java | 65 +
.../modules/docker/api/ActionChunkedResult.java | 104 +
.../modules/docker/api/ActionStreamResult.java | 87 +
.../netbeans/modules/docker/api/BuildEvent.java | 130 +
.../netbeans/modules/docker/api/Credentials.java | 81 +
.../modules/docker/api/CredentialsManager.java | 83 +
.../netbeans/modules/docker/api/DockerAction.java | 1440 +
.../docker/api/DockerAuthenticationException.java | 58 +
.../docker/api/DockerConflictException.java | 58 +
.../modules/docker/api/DockerContainer.java | 138 +
.../modules/docker/api/DockerContainerDetail.java | 80 +
.../netbeans/modules/docker/api/DockerEntity.java | 54 +
.../netbeans/modules/docker/api/DockerEvent.java | 227 +
.../modules/docker/api/DockerException.java | 58 +
.../netbeans/modules/docker/api/DockerImage.java | 142 +
.../modules/docker/api/DockerImageDetail.java | 62 +
.../modules/docker/api/DockerInstance.java | 346 +
.../netbeans/modules/docker/api/DockerName.java | 121 +
.../modules/docker/api/DockerRegistryImage.java | 119 +
.../netbeans/modules/docker/api/DockerSupport.java | 189 +
.../org/netbeans/modules/docker/api/DockerTag.java | 112 +
.../netbeans/modules/docker/api/ExposedPort.java | 108 +
.../netbeans/modules/docker/api/StatusEvent.java | 138 +
.../modules/docker/resources/Bundle.properties | 48 +
.../netbeans/modules/docker/tls/Asn1Object.java | 90 +
.../modules/docker/tls/ContextProvider.java | 227 +
.../org/netbeans/modules/docker/tls/DerParser.java | 101 +
.../modules/docker/tls/PrivateKeyParser.java | 125 +
.../modules/docker/ChunkedInputStreamTest.java | 179 +
.../netbeans/modules/docker/IgnorePatternTest.java | 268 +
docker.editor/build.xml | 44 +
docker.editor/manifest.mf | 7 +
docker.editor/nbproject/project.properties | 39 +
docker.editor/nbproject/project.xml | 189 +
.../modules/docker/editor/Bundle.properties | 46 +
.../modules/docker/editor/DockerfileLanguage.java | 88 +
.../modules/docker/editor/DockerfileResolver.java | 76 +
.../editor/completion/DockerfileCompletion.java | 371 +
.../indent/DockerfileTypedBreakInterceptor.java | 201 +
.../org/netbeans/modules/docker/editor/layer.xml | 129 +
.../docker/editor/lexer/DockerfileLexer.java | 394 +
.../docker/editor/lexer/DockerfileTokenId.java | 213 +
.../modules/docker/editor/parser/Command.java | 283 +
.../docker/editor/parser/DockerfileParser.java | 83 +
.../docker/editor/parser/DockerfileResult.java | 69 +
.../docker/editor/resources/Bundle.properties | 41 +
.../modules/docker/editor/resources/Dockerfile | 9 +
.../docker/editor/resources/Dockerfile.html | 49 +
.../modules/docker/editor/resources/docker.png | Bin 0 -> 328 bytes
.../docker/editor/resources/docker_file.png | Bin 0 -> 545 bytes
.../modules/docker/editor/util/Bundle.properties | 41 +
.../modules/docker/editor/util/DocDownloader.java | 177 +
docker.ui/build.xml | 50 +
docker.ui/manifest.mf | 6 +
docker.ui/nbproject/project.properties | 45 +
docker.ui/nbproject/project.xml | 246 +
.../org/netbeans/modules/docker/ui/UiUtils.java | 223 +
.../netbeans/modules/docker/ui/Validations.java | 177 +
.../docker/ui/build2/BuildActionListener.java | 79 +
.../docker/ui/build2/BuildContextPanel.java | 170 +
.../docker/ui/build2/BuildContextVisual.form | 117 +
.../docker/ui/build2/BuildContextVisual.java | 233 +
.../modules/docker/ui/build2/BuildImageAction.java | 99 +
.../modules/docker/ui/build2/BuildImageWizard.java | 438 +
.../docker/ui/build2/BuildInstancePanel.java | 144 +
.../docker/ui/build2/BuildInstanceVisual.form | 65 +
.../docker/ui/build2/BuildInstanceVisual.java | 255 +
.../docker/ui/build2/BuildOptionsPanel.java | 170 +
.../docker/ui/build2/BuildOptionsVisual.form | 84 +
.../docker/ui/build2/BuildOptionsVisual.java | 203 +
.../modules/docker/ui/build2/BuildTask.java | 214 +
.../modules/docker/ui/build2/Bundle.properties | 54 +
.../modules/docker/ui/build2/InputOutputCache.java | 259 +
.../modules/docker/ui/commit/Bundle.properties | 49 +
.../docker/ui/commit/CommitContainerAction.java | 157 +
.../modules/docker/ui/commit/CommitPanel.form | 152 +
.../modules/docker/ui/commit/CommitPanel.java | 260 +
.../docker/ui/credentials/Bundle.properties | 53 +
.../docker/ui/credentials/CredentialsAction.java | 90 +
.../ui/credentials/CredentialsListPanel.form | 100 +
.../ui/credentials/CredentialsListPanel.java | 223 +
.../docker/ui/credentials/CredentialsPanel.form | 137 +
.../docker/ui/credentials/CredentialsPanel.java | 271 +
.../docker/ui/credentials/CredentialsUtils.java | 131 +
.../docker/ui/node/AbstractContainerAction.java | 139 +
.../docker/ui/node/AttachContainerAction.java | 82 +
.../modules/docker/ui/node/Bundle.properties | 46 +
.../modules/docker/ui/node/CopyIdAction.java | 111 +
.../modules/docker/ui/node/DockerChildFactory.java | 116 +
.../docker/ui/node/DockerContainerNode.java | 149 +
.../ui/node/DockerContainersChildFactory.java | 171 +
.../docker/ui/node/DockerContainersNode.java | 71 +
.../docker/ui/node/DockerImagesChildFactory.java | 130 +
.../modules/docker/ui/node/DockerImagesNode.java | 73 +
.../docker/ui/node/DockerInstanceChildFactory.java | 122 +
.../modules/docker/ui/node/DockerInstanceNode.java | 109 +
.../modules/docker/ui/node/DockerNode.java | 101 +
.../modules/docker/ui/node/DockerTagNode.java | 85 +
.../modules/docker/ui/node/NodeClosingFactory.java | 72 +
.../docker/ui/node/PauseContainerAction.java | 80 +
.../modules/docker/ui/node/PushTagAction.java | 187 +
.../modules/docker/ui/node/RefreshAction.java | 91 +
.../modules/docker/ui/node/Refreshable.java | 52 +
.../docker/ui/node/RemoveContainerAction.java | 81 +
.../docker/ui/node/RemoveInstanceAction.java | 91 +
.../modules/docker/ui/node/RemoveTagAction.java | 128 +
.../modules/docker/ui/node/ShowLogAction.java | 74 +
.../docker/ui/node/StartContainerAction.java | 80 +
.../docker/ui/node/StatefulDockerContainer.java | 202 +
.../docker/ui/node/StatefulDockerInstance.java | 147 +
.../docker/ui/node/StopContainerAction.java | 80 +
.../docker/ui/node/UnpauseContainerAction.java | 80 +
.../docker/ui/output/ChunkedResultOutputTask.java | 99 +
.../modules/docker/ui/output/ExceptionHandler.java | 52 +
.../modules/docker/ui/output/OutputUtils.java | 240 +
.../docker/ui/output/StatusOutputListener.java | 76 +
.../docker/ui/output/TerminalInputStream.java | 118 +
.../docker/ui/output/TerminalOptionsAction.java | 69 +
.../docker/ui/output/TerminalResizeListener.java | 126 +
.../modules/docker/ui/pull/Bundle.properties | 49 +
.../modules/docker/ui/pull/DockerHubImageItem.java | 88 +
.../docker/ui/pull/DockerHubSearchPanel.form | 130 +
.../docker/ui/pull/DockerHubSearchPanel.java | 303 +
.../modules/docker/ui/pull/PullImageAction.java | 208 +
.../modules/docker/ui/rename/Bundle.properties | 45 +
.../docker/ui/rename/RenameContainerAction.java | 155 +
.../modules/docker/ui/rename/RenamePanel.form | 55 +
.../modules/docker/ui/rename/RenamePanel.java | 165 +
.../modules/docker/ui/resources/Bundle.properties | 48 +
.../modules/docker/ui/resources/action_rerun.png | Bin
.../modules/docker/ui/resources/action_stop.png | Bin
.../modules/docker/ui/resources/badge_paused.png | Bin 0 -> 233 bytes
.../modules/docker/ui/resources/badge_running.png | Bin 0 -> 231 bytes
.../modules/docker/ui/resources/docker_image.png | Bin 0 -> 193 bytes
.../docker/ui/resources/docker_instance.png | Bin 0 -> 446 bytes
.../modules/docker/ui/resources/docker_root.png | Bin 0 -> 328 bytes
.../docker/ui/resources/terminal_options.png | Bin 0 -> 724 bytes
.../modules/docker/ui/run/Bundle.properties | 58 +
.../modules/docker/ui/run/PortMapping.java | 83 +
.../docker/ui/run/RunContainerPropertiesPanel.java | 155 +
.../ui/run/RunContainerPropertiesVisual.form | 113 +
.../ui/run/RunContainerPropertiesVisual.java | 218 +
.../docker/ui/run/RunPortBindingsPanel.java | 194 +
.../docker/ui/run/RunPortBindingsVisual.form | 113 +
.../docker/ui/run/RunPortBindingsVisual.java | 467 +
.../modules/docker/ui/run/RunTagAction.java | 99 +
.../modules/docker/ui/run/RunTagWizard.java | 245 +
.../modules/docker/ui/tag/Bundle.properties | 47 +
.../netbeans/modules/docker/ui/tag/TagPanel.form | 98 +
.../netbeans/modules/docker/ui/tag/TagPanel.java | 216 +
.../modules/docker/ui/tag/TagTagAction.java | 156 +
.../docker/ui/wizard/AddDockerInstanceAction.java | 67 +
.../docker/ui/wizard/AddDockerInstanceWizard.java | 138 +
.../modules/docker/ui/wizard/Bundle.properties | 59 +
.../modules/docker/ui/wizard/Configuration.java | 79 +
.../docker/ui/wizard/ConfigurationLinuxPanel.form | 180 +
.../docker/ui/wizard/ConfigurationLinuxPanel.java | 364 +
.../docker/ui/wizard/ConfigurationPanel.form | 99 +
.../docker/ui/wizard/ConfigurationPanel.java | 248 +
.../docker/ui/wizard/DockerConnectionPanel.java | 468 +
.../docker/ui/wizard/DockerConnectionVisual.form | 82 +
.../docker/ui/wizard/DockerConnectionVisual.java | 190 +
.../modules/docker/ui/ValidationsTest.java | 102 +
editor.actions/manifest.mf | 1 +
editor.actions/nbproject/project.properties | 2 +-
.../modules/editor/actions/AddCaretAction.java | 131 +
.../modules/editor/actions/Bundle.properties | 8 +-
.../modules/editor/actions/CamelCaseActions.java | 189 +-
.../modules/editor/actions/PasteLinesAction.java | 76 +
.../editor/actions/RemoveLastCaretAction.java | 73 +
.../editor/actions/ToggleTypingModeAction.java | 76 +
.../editor/actions/TransposeLettersAction.java | 21 +-
.../org/netbeans/modules/editor/actions/layer.xml | 11 +
editor.bookmarks/manifest.mf | 2 +-
.../editor/bookmarks/resources/bookmark.xml | 47 +-
.../editor/bookmarks/resources/bookmarks.settings | 39 +
.../editor/bookmarks/resources/bookmarks.wstcgrp | 39 +
.../editor/bookmarks/resources/bookmarks.wstcref | 39 +
editor.bracesmatching/build.xml | 39 +
.../org-netbeans-modules-editor-bracesmatching.sig | 2 +-
editor.bracesmatching/nbproject/project.properties | 39 +-
editor.bracesmatching/nbproject/project.xml | 39 +
.../BraceMatchingSidebarComponent.java | 6 +-
.../spi/editor/bracesmatching/package.html | 16 +-
.../spi/editor/bracesmatching/support/package.html | 16 +-
editor.breadcrumbs/build.xml | 39 +
editor.breadcrumbs/manifest.mf | 2 +-
editor.breadcrumbs/nbproject/project.properties | 37 +
editor.breadcrumbs/nbproject/project.xml | 39 +
.../modules/editor/breadcrumbs/Bundle.properties | 37 +
editor.codetemplates/apichanges.xml | 20 +
editor.codetemplates/arch.xml | 43 +-
.../org-netbeans-modules-editor-codetemplates.sig | 2 +-
editor.codetemplates/nbproject/project.properties | 2 +-
.../codetemplates/CodeTemplateInsertHandler.java | 38 +-
.../codetemplates/spi/CodeTemplateParameter.java | 19 +-
.../CodeTemplateInsertHandlerTest.java | 67 +
.../org-netbeans-modules-editor-completion.sig | 2 +-
editor.completion/nbproject/project.properties | 2 +-
editor.completion/nbproject/project.xml | 9 +
.../modules/editor/completion/CompletionImpl.java | 184 +-
.../modules/editor/completion/CompletionJList.java | 2 +-
.../editor/completion/CompletionLayout.java | 11 +-
.../editor/completion/resources/suggestion.png | Bin 0 -> 569 bytes
editor.deprecated.pre65formatting/build.xml | 39 +
.../nbproject/project.properties | 39 +-
.../nbproject/project.xml | 39 +
.../org/netbeans/modules/editor/Bundle.properties | 9 +-
.../deprecated/pre65formatting/Bundle.properties | 37 +
.../pre65formatting/LegacyFormattersProvider.java | 11 +-
editor.document/apichanges.xml | 52 +-
editor.document/arch.xml | 45 +-
editor.document/build.xml | 39 +
editor.document/manifest.mf | 2 +-
editor.document/nbproject/project.properties | 39 +-
editor.document/nbproject/project.xml | 39 +
.../api/editor/document/ComplexPositions.java | 140 +
.../api/editor/document/CustomUndoDocument.java | 76 +
.../netbeans/api/editor/document/LineDocument.java | 49 +-
.../modules/editor/document/Bundle.properties | 37 +
.../editor/document/implspi/CharClassifier.java | 42 +-
.../modules/editor/lib2/document/ComplexPos.java | 83 +
.../modules/editor/lib2/document/Mark.java | 24 +-
.../api/editor/document/ComplexPositionsTest.java | 100 +
...org-netbeans-modules-editor-errorstripe-api.sig | 2 +-
.../nbproject/project.properties | 2 +-
.../netbeans/spi/editor/errorstripe/package.html | 16 +-
editor.errorstripe/nbproject/project.properties | 2 +-
editor.errorstripe/nbproject/project.xml | 9 +
.../modules/editor/errorstripe/AnnotationView.java | 9 +-
.../errorstripe/caret/CaretMarkProvider.java | 41 +-
.../modules/editor/errorstripe/resources/layer.xml | 4 +-
.../modules/editor/errorstripe/UnitUtilities.java | 8 +-
.../modules/editor/errorstripe/test-layer.xml | 2 +-
editor.fold.nbui/arch.xml | 45 +-
editor.fold.nbui/build.xml | 39 +
editor.fold.nbui/nbproject/project.properties | 2 +-
editor.fold.nbui/nbproject/project.xml | 41 +-
.../editor/fold/ui/CaretFoldExpanderImpl.java | 147 +
.../netbeans/modules/editor/fold/ui/FoldView.java | 5 +
.../editor/fold/ui/FoldingEditorSupport.java | 126 +-
.../org/netbeans/modules/editor/fold/ui/layer.xml | 39 +
.../modules/editor/fold/ui/BaseCaretTest.java | 12 +-
editor.fold/apichanges.xml | 2 +-
editor.fold/arch.xml | 49 +-
editor.fold/manifest.mf | 2 +-
.../nbproject/org-netbeans-modules-editor-fold.sig | 2 +-
.../src/org/netbeans/api/editor/fold/Fold.java | 8 +-
.../netbeans/api/editor/fold/FoldUtilities.java | 23 +-
.../netbeans/modules/editor/fold/FoldChildren.java | 52 +-
.../editor/fold/FoldHierarchyExecution.java | 64 +-
.../editor/fold/FoldHierarchyTransactionImpl.java | 101 +-
.../modules/editor/fold/FoldOperationImpl.java | 129 +-
.../modules/editor/fold/FoldUtilitiesImpl.java | 33 +
.../editor/fold/HierarchyErrorException.java | 81 +
.../netbeans/spi/editor/fold/FoldOperation.java | 1 +
editor.global.format/build.xml | 39 +
editor.global.format/nbproject/project.properties | 39 +-
editor.global.format/nbproject/project.xml | 39 +
.../modules/editor/global/format/Bundle.properties | 37 +
.../modules/editor/global/format/layer.xml | 39 +
editor.guards/apichanges.xml | 12 +
editor.guards/manifest.mf | 2 +-
.../org-netbeans-modules-editor-guards.sig | 11 +-
.../api/editor/guards/GuardedSectionManager.java | 26 +-
.../modules/editor/guards/GuardedSectionImpl.java | 3 +
.../modules/editor/guards/GuardedSectionsImpl.java | 22 +-
editor.indent.project/arch.xml | 45 +-
editor.indent.project/build.xml | 39 +
editor.indent.project/manifest.mf | 2 +-
editor.indent.project/nbproject/project.xml | 39 +
.../editor/indent/project/Bundle.properties | 37 +
editor.indent.support/build.xml | 39 +
editor.indent.support/manifest.mf | 2 +-
.../org-netbeans-modules-editor-indent-support.sig | 25 +
editor.indent.support/nbproject/project.properties | 37 +
editor.indent.support/nbproject/project.xml | 39 +
.../indent/spi/support/AutomatedIndenting.java | 9 +-
.../editor/indent/support/Bundle.properties | 37 +
editor.indent/manifest.mf | 2 +-
.../org-netbeans-modules-editor-indent.sig | 10 +-
.../modules/editor/indent/TaskHandler.java | 18 +
editor.kit/build.xml | 39 +
editor.kit/manifest.mf | 2 +-
editor.kit/nbproject/project.properties | 37 +
editor.kit/nbproject/project.xml | 50 +-
.../netbeans/modules/editor/kit/Bundle.properties | 37 +
editor.lib/manifest.mf | 2 +-
editor.lib/nbproject/project.properties | 2 +-
editor.lib/nbproject/project.xml | 19 +-
.../src/org/netbeans/editor/ActionFactory.java | 461 +-
editor.lib/src/org/netbeans/editor/BaseAction.java | 14 +-
editor.lib/src/org/netbeans/editor/BaseCaret.java | 10 +-
.../src/org/netbeans/editor/BaseDocument.java | 126 +-
.../src/org/netbeans/editor/BaseDocumentEvent.java | 6 +-
editor.lib/src/org/netbeans/editor/BaseKit.java | 1661 +-
editor.lib/src/org/netbeans/editor/EditorUI.java | 26 +-
.../src/org/netbeans/editor/GlyphGutter.java | 2 +-
.../src/org/netbeans/editor/PopupManager.java | 56 +-
editor.lib/src/org/netbeans/editor/Utilities.java | 3 +-
editor.lib/src/org/netbeans/editor/ext/ExtKit.java | 126 +-
.../org/netbeans/editor/ext/ToolTipSupport.java | 15 +-
.../src/org/netbeans/editor/ext/package.html | 41 +-
.../src/org/netbeans/editor/resources}/pin.png | Bin
.../lib/editor/hyperlink/HyperlinkOperation.java | 5 +-
.../editor/lib/EditorExtPackageAccessor.java | 1 +
editor.lib2/apichanges.xml | 165 +
editor.lib2/arch.xml | 15 +-
editor.lib2/manifest.mf | 2 +-
.../nbproject/org-netbeans-modules-editor-lib2.sig | 161 +-
editor.lib2/nbproject/project.properties | 2 +-
editor.lib2/nbproject/project.xml | 15 +-
.../org/netbeans/api/editor/EditorActionNames.java | 42 +-
.../api/editor/EditorActionRegistration.java | 36 +-
.../api/editor/EditorActionRegistrations.java | 2 +-
.../org/netbeans/api/editor/EditorRegistry.java | 63 +-
.../org/netbeans/api/editor/EditorUtilities.java | 49 +
.../netbeans/api/editor/StickyWindowSupport.java | 139 +
.../org/netbeans/api/editor/caret/CaretInfo.java | 217 +
.../org/netbeans/api/editor/caret/CaretItem.java | 394 +
.../api/editor/caret/CaretMoveContext.java | 192 +
.../api/editor/caret/CaretTransaction.java | 798 +
.../org/netbeans/api/editor/caret/EditorCaret.java | 3184 ++
.../api/editor/caret/EditorCaretEvent.java | 97 +
.../api/editor/caret/EditorCaretListener.java | 61 +
.../api/editor/caret/FilterBypassImpl.java | 241 +
.../api/editor/caret/MoveCaretsOrigin.java | 190 +
.../src/org/netbeans/api/editor/caret/package.html | 250 +
.../netbeans/modules/editor/lib2/Bundle.properties | 3 +-
.../netbeans/modules/editor/lib2/CaretUndo.java | 90 +
.../modules/editor/lib2/CaretUndoEdit.java | 373 +
.../lib2/EditorActionRegistrationProcessor.java | 12 +-
.../editor/lib2/EditorApiPackageAccessor.java | 3 +
.../editor/lib2/EditorCaretTransferHandler.java | 587 +
.../editor/lib2/EditorPreferencesDefaults.java | 18 +-
.../lib2/RectangularSelectionCaretAccessor.java | 77 +
.../lib2/RectangularSelectionTransferHandler.java | 4 +-
.../editor/lib2/WeakReferenceStableList.java | 2 +-
.../editor/lib2/actions/EditorActionUtilities.java | 2 +-
.../editor/lib2/actions/PresenterEditorAction.java | 2 +-
.../editor/lib2/actions/PresenterUpdater.java | 2 +-
.../editor/lib2/caret/CaretFoldExpander.java | 85 +
.../document/DocumentPostModificationUtils.java | 79 +
.../document/UndoRedoDocumentEventResolver.java | 130 +
.../lib2/highlighting/AbstractOffsetGapList.java | 4 +-
.../highlighting/CaretBasedBlockHighlighting.java | 259 +-
.../CaretOverwriteModeHighlighting.java | 353 +
.../lib2/highlighting/CompoundAttributes.java | 4 +-
.../highlighting/CoveringHighlightsSequence.java | 65 +
.../lib2/highlighting/DirectMergeContainer.java | 401 +-
.../modules/editor/lib2/highlighting/Factory.java | 7 +
.../editor/lib2/highlighting/HighlightItem.java | 6 +-
.../lib2/highlighting/HighlightingManager.java | 10 +-
.../editor/lib2/highlighting/HighlightsList.java | 23 +-
.../editor/lib2/highlighting/HighlightsReader.java | 38 +-
.../highlighting/ReadOnlyFilesHighlighting.java | 42 +-
.../highlighting/SplitOffsetHighlightItem.java | 72 +
.../lib2/highlighting/SyntaxHighlighting.java | 2 +-
.../editor/lib2/highlighting/VisualMark.java | 4 +-
.../lib2/highlighting/WhitespaceHighlighting.java | 2 +-
.../modules/editor/lib2/search/TextStorageSet.java | 2 +-
.../typinghooks/TypedTextInterceptorsManager.java | 9 +-
.../lib2/typinghooks/TypingHooksSpiAccessor.java | 9 +-
.../editor/lib2/view/AttributedCharSequence.java | 4 +-
.../modules/editor/lib2/view/DocumentView.java | 12 +-
.../editor/lib2/view/DocumentViewChildren.java | 8 +-
.../modules/editor/lib2/view/DocumentViewOp.java | 209 +-
.../editor/lib2/view/EditorTabExpander.java | 2 +-
.../modules/editor/lib2/view/EditorView.java | 8 +-
.../editor/lib2/view/EditorViewFactory.java | 26 +-
.../editor/lib2/view/EditorViewFactoryChange.java | 2 +-
.../modules/editor/lib2/view/HighlightsView.java | 4 +-
.../editor/lib2/view/HighlightsViewFactory.java | 4 +-
.../editor/lib2/view/HighlightsViewPart.java | 2 +-
.../editor/lib2/view/HighlightsViewUtils.java | 343 +-
.../editor/lib2/view/LockedViewHierarchy.java | 47 +-
.../modules/editor/lib2/view/NewlineView.java | 5 +-
.../modules/editor/lib2/view/OffsetRegion.java | 4 +-
.../modules/editor/lib2/view/ParagraphView.java | 16 +-
.../editor/lib2/view/ParagraphViewChildren.java | 2 +-
.../editor/lib2/view/ParagraphViewDescriptor.java | 10 +-
.../netbeans/modules/editor/lib2/view/TabView.java | 11 +-
.../editor/lib2/view/TextLayoutBreakInfo.java | 2 +-
.../modules/editor/lib2/view/TextLayoutCache.java | 2 +-
.../modules/editor/lib2/view/TextLayoutUtils.java | 2 +-
.../modules/editor/lib2/view/ViewBuilder.java | 6 +-
.../modules/editor/lib2/view/ViewChildren.java | 6 +-
.../modules/editor/lib2/view/ViewGapStorage.java | 4 +-
.../modules/editor/lib2/view/ViewHierarchy.java | 12 +-
.../editor/lib2/view/ViewHierarchyEvent.java | 30 +-
.../editor/lib2/view/ViewHierarchyImpl.java | 28 +-
.../editor/lib2/view/ViewHierarchyListener.java | 6 +-
.../editor/lib2/view/ViewPaintHighlights.java | 113 +-
.../editor/lib2/view/ViewRenderContext.java | 8 +-
.../modules/editor/lib2/view/WrapInfo.java | 2 +-
.../modules/editor/lib2/view/WrapLine.java | 4 +-
.../netbeans/spi/editor/AbstractEditorAction.java | 210 +-
.../spi/editor/caret/CaretMoveHandler.java | 74 +
.../editor/caret/CascadingNavigationFilter.java | 176 +
.../spi/editor/caret/NavigationFilterBypass.java | 82 +
.../src/org/netbeans/spi/editor/caret/package.html | 98 +
.../netbeans/spi/editor/codegen/CodeGenerator.java | 2 +-
.../codegen/CodeGeneratorContextProvider.java | 2 +-
.../org/netbeans/spi/editor/codegen/package.html | 30 +-
.../netbeans/spi/editor/document/OnSaveTask.java | 14 +-
.../SplitOffsetHighlightsSequence.java | 83 +
.../netbeans/spi/editor/highlighting/package.html | 24 +-
.../spi/editor/highlighting/support/package.html | 18 +-
.../editor/typinghooks/TypedBreakInterceptor.java | 2 +-
.../editor/typinghooks/TypedTextInterceptor.java | 9 +-
.../netbeans/spi/editor/typinghooks/package.html | 18 +-
.../netbeans/api/editor/EditorRegistryTest.java | 3 +
.../netbeans/api/editor/EditorUtilitiesTest.java | 31 +
.../highlighting/DirectMergeContainerTest.java | 117 +-
.../lib2/highlighting/HighlightingManagerTest.java | 55 +-
.../lib2/highlighting/HighlightsListTest.java | 4 +-
.../lib2/highlighting/HighlightsMergeTesting.java | 56 +-
.../lib2/testactionsregistration/Bundle.properties | 1 +
.../EditorActionRegistrationTest.java | 17 +
.../performance/PositionsBagFindHighlightTest.java | 6 +-
editor.macros/build.xml | 39 +
editor.macros/nbproject/project.properties | 39 +-
editor.macros/nbproject/project.xml | 39 +
editor.mimelookup.impl/arch.xml | 49 +-
editor.mimelookup.impl/manifest.mf | 2 +-
editor.mimelookup/arch.xml | 49 +-
editor.mimelookup/manifest.mf | 2 +-
.../org-netbeans-modules-editor-mimelookup.sig | 7 +-
.../netbeans/spi/editor/mimelookup/package.html | 16 +-
editor.plain.lib/manifest.mf | 2 +-
editor.plain/manifest.mf | 2 +-
editor.search/build.xml | 39 +
editor.search/nbproject/project.properties | 39 +-
editor.search/nbproject/project.xml | 49 +-
.../modules/editor/search/Bundle.properties | 43 +-
.../modules/editor/search/DocumentFinder.java | 27 +-
.../modules/editor/search/EditorFindSupport.java | 79 +-
.../netbeans/modules/editor/search/SearchBar.java | 77 +-
.../search/actions/AddCaretSelectAllAction.java | 142 +
.../search/actions/AddCaretSelectNextAction.java | 109 +
.../editor/search/actions/Bundle.properties | 41 +-
.../editor/search/actions/FindNextAction.java | 2 +-
.../editor/search/actions/FindPreviousAction.java | 2 +-
.../actions/ToggleHighlightSearchAction.java | 1 -
.../org/netbeans/modules/editor/search/layer.xml | 39 +
.../modules/editor/search/resources/select_all.png | Bin 0 -> 250 bytes
editor.settings.lib/build.xml | 39 +
editor.settings.lib/nbproject/project.properties | 39 +-
editor.settings.lib/nbproject/project.xml | 39 +
.../modules/editor/settings/lib/Bundle.properties | 37 +
editor.settings.storage/arch.xml | 49 +-
.../nbproject/project.properties | 2 +-
.../editor/settings/storage/test/Bundle.properties | 45 +-
editor.settings/arch.xml | 43 +-
editor.settings/manifest.mf | 2 +-
.../org-netbeans-modules-editor-settings.sig | 2 +-
.../netbeans/modules/editor/settings/AttrSet.java | 30 +-
editor.structure/nbproject/project.properties | 7 +-
editor.tools.storage/arch.xml | 45 +-
editor.tools.storage/build.xml | 39 +
editor.tools.storage/manifest.mf | 2 +-
editor.tools.storage/nbproject/project.properties | 37 +
editor.tools.storage/nbproject/project.xml | 39 +
.../modules/editor/tools/storage/Bundle.properties | 37 +
.../modules/editor/tools/storage/layer.xml | 39 +
editor.util/apichanges.xml | 15 +-
editor.util/arch.xml | 47 +-
editor.util/manifest.mf | 2 +-
.../src/org/netbeans/lib/editor/util/GapList.java | 80 +-
.../lib/editor/util/swing/DocumentUtilities.java | 2 +-
.../lib/editor/util/GapListRandomTest.java | 83 +-
.../editor/util/random/RandomTestContainer.java | 11 +-
editor/demosrc/base/settings.properties | 37 +
editor/manifest.mf | 2 +-
editor/nbproject/project.properties | 2 +-
editor/src/META-INF/netbeans/translate.names | 37 +
.../org/netbeans/modules/editor/NbEditorKit.java | 10 +
.../org/netbeans/modules/editor/NbEditorUI.java | 89 +-
.../src/org/netbeans/modules/editor/NbToolTip.java | 6 +-
.../modules/editor/impl/CustomizableSideBar.java | 7 +-
.../impl/actions/ClipboardHistoryAction.java | 4 +-
.../impl/actions/NavigationHistoryBackAction.java | 2 +-
.../clipboardhistory/ScrollCompletionPane.java | 9 +
.../AnnotationTypes/annotation-type-1_0.dtd | 39 +
.../AnnotationTypes/annotation-type-1_1.dtd | 39 +
.../editor/resources/NetBeans-keybindings-mac.xml | 14 +-
.../editor/resources/NetBeans-keybindings.xml | 11 +-
.../editor/resources/SimpleIndentEngine.settings | 39 +
.../editor/resources/override/Bundle.properties | 37 +
.../netbeans/modules/editor/url/HyperlinkImpl.java | 7 +-
editor/sub.locale.xml | 41 +-
.../netbeans/test/editor/data/Bundle.properties | 36 -
.../modules/editor/EditorTestConstants.java | 8 +-
.../netbeans/modules/editor/EditorTestLookup.java | 8 +-
el.lexer/manifest.mf | 2 +-
extbrowser.chrome/build.xml | 39 +
extbrowser.chrome/manifest.mf | 2 +-
extbrowser.chrome/nbproject/project.xml | 39 +
.../modules/extbrowser/chrome/Bundle.properties | 37 +
.../extbrowser/plugins/MessageListener.java | 41 +-
extbrowser/manifest.mf | 2 +-
.../modules/extbrowser/resources/ChromeBrowser.xml | 39 +
.../extbrowser/resources/ChromiumBrowser.xml | 39 +
.../extbrowser/resources/FirefoxBrowser.xml | 39 +
.../extbrowser/resources/IExplorerBrowser.xml | 39 +
.../extbrowser/resources/MicrosoftEdgeBrowser.xml | 39 +
.../extbrowser/resources/MozillaBrowser.xml | 39 +
.../modules/extbrowser/resources/SafariBrowser.xml | 39 +
.../extbrowser/resources/SystemDefaultBrowser.xml | 39 +
.../extbrowser/resources/externalBrowser.xml | 39 +
.../modules/extbrowser/resources/simpleBrowser.xml | 39 +
.../extbrowser/ExtWebBrowserBeanInfoTest.java | 3 +-
.../modules/extbrowser/ExtWebBrowserTest.java | 3 +-
.../modules/extbrowser/NbDdeBrowserImplTest.java | 3 +-
.../extbrowser/SimpleExtBrowserBeanInfoTest.java | 3 +-
.../modules/extbrowser/SimpleExtBrowserTest.java | 3 +-
.../netbeans/modules/extbrowser/URLUtilTest.java | 3 +-
extexecution.base/apichanges.xml | 15 +
extexecution.base/arch.xml | 51 +-
extexecution.base/build.xml | 39 +
extexecution.base/manifest.mf | 2 +-
extexecution.base/nbproject/project.properties | 2 +-
extexecution.base/nbproject/project.xml | 39 +
.../netbeans/api/extexecution/base/Processes.java | 24 +-
.../extexecution/base/input/InputProcessor.java | 1 -
.../modules/extexecution/base/WrapperProcess.java | 21 +
.../extexecution/base/ProcessesImplementation.java | 8 +-
.../api/extexecution/base/ProcessesTest.java | 42 +-
extexecution.impl/build.xml | 39 +
extexecution.impl/manifest.mf | 2 +-
extexecution.impl/nbproject/project.properties | 39 +-
extexecution.impl/nbproject/project.xml | 39 +
.../extexecution/impl/resources/Bundle.properties | 37 +
extexecution.process.jdk9/build.xml | 44 +
extexecution.process.jdk9/manifest.mf | 7 +
.../nbproject/project.properties | 40 +
extexecution.process.jdk9/nbproject/project.xml | 76 +
.../extexecution/process/jdk9/ProcessesImpl.java | 117 +
.../process/jdk9/resources/Bundle.properties | 38 +
extexecution.process/build.xml | 39 +
extexecution.process/external/binaries-list | 3 +
.../external/processtreekiller-1.0.5-license.txt | 29 -
.../external/processtreekiller-1.0.7-license.txt | 29 +
extexecution.process/manifest.mf | 2 +-
extexecution.process/nbproject/project.properties | 47 +-
extexecution.process/nbproject/project.xml | 47 +-
.../extexecution/process/ProcessesImpl.java | 7 +-
.../process/resources/Bundle.properties | 37 +
extexecution/arch.xml | 55 +-
extexecution/build.xml | 39 +
extexecution/manifest.mf | 2 +-
.../org-netbeans-modules-extexecution.sig | 64 +-
extexecution/nbproject/project.xml | 39 +
.../api/extexecution/ExecutionDescriptor.java | 2 +
.../api/extexecution/ExternalProcessBuilder.java | 159 +-
.../api/extexecution/ExternalProcessSupport.java | 10 +-
.../api/extexecution/input/InputProcessor.java | 1 -
.../api/extexecution/input/InputReaders.java | 15 +-
.../netbeans/modules/extexecution/StopAction.java | 1 +
.../modules/extexecution/WrapperProcess.java | 96 -
.../startup/StartupExtenderImplementation.java | 6 +
.../extexecution/ExternalProcessBuilderTest.java | 45 -
favorites/manifest.mf | 2 +-
favorites/nbproject/project.xml | 6 +-
findbugs.installer/build.xml | 39 +
findbugs.installer/manifest.mf | 2 +-
findbugs.installer/nbproject/project.properties | 37 +
findbugs.installer/nbproject/project.xml | 39 +
.../modules/findbugs/installer/Bundle.properties | 37 +
.../netbeans/modules/findbugs/installer/layer.xml | 39 +
form.binding/nbproject/project.properties | 2 +-
form.j2ee/nbproject/project.properties | 2 +-
.../modules/form/j2ee/resources/MasterDetail.html | 75 +-
form.kit/build.xml | 39 +
form.kit/manifest.mf | 2 +-
form.kit/nbproject/project.properties | 37 +
form.kit/nbproject/project.xml | 39 +
.../netbeans/modules/form/kit/Bundle.properties | 37 +
form.nb/manifest.mf | 1 -
form.nb/nbproject/project.properties | 2 +-
.../netbeans/modules/nbform/FormEditorSupport.java | 174 +-
.../netbeans/modules/nbform/NbFormServices.java | 7 +-
form.refactoring/nbproject/project.properties | 2 +-
form/nbproject/project.properties | 2 +-
form/src/META-INF/netbeans/translate.names | 37 +
.../org/netbeans/modules/form/CustomCodeView.java | 9 +
.../org/netbeans/modules/form/FormDataLoader.java | 37 +-
.../org/netbeans/modules/form/FormDataObject.java | 8 +-
.../org/netbeans/modules/form/FormDesigner.java | 1 -
.../org/netbeans/modules/form/FormServices.java | 1 +
.../netbeans/modules/form/JavaCodeGenerator.java | 32 +-
.../org/netbeans/modules/form/RADComponent.java | 6 +-
.../modules/form/beaninfo/awt/package-info.java | 39 +
.../modules/form/beaninfo/swing/package-info.java | 39 +
.../org/netbeans/modules/form/forminfo/forms.dtd | 47 +-
.../modules/form/layoutdesign/LayoutFeeder.java | 6 +-
.../modules/form/layoutdesign/LayoutPainter.java | 12 +-
.../layoutdesign/LayoutPersistenceManager.java | 29 +
.../netbeans/modules/form/resources/AWTForms.html | 75 +-
.../modules/form/resources/Application.html | 75 +-
.../netbeans/modules/form/resources/BeanForm.html | 75 +-
.../netbeans/modules/form/resources/Dialog.html | 75 +-
.../netbeans/modules/form/resources/Dialogs.html | 75 +-
.../modules/form/resources/FormApplet.html | 75 +-
.../modules/form/resources/FormJApplet.html | 75 +-
.../org/netbeans/modules/form/resources/Forms.html | 75 +-
.../org/netbeans/modules/form/resources/Frame.html | 75 +-
.../netbeans/modules/form/resources/JDialog.html | 75 +-
.../netbeans/modules/form/resources/JFrame.html | 75 +-
.../modules/form/resources/JInternalFrame.html | 75 +-
.../netbeans/modules/form/resources/JPanel.html | 75 +-
.../modules/form/resources/MDIApplication.html | 75 +-
.../modules/form/resources/OKCancelDialog.html | 75 +-
.../org/netbeans/modules/form/resources/Panel.html | 75 +-
.../org/netbeans/modules/form/resources/forms.dtd | 47 +-
.../modules/form/resources/groups/form.wsgrp | 39 +
.../windowmanager/palette/ComponentPalette.wstcref | 39 +
.../modules/form/wizard/ConnectionPanel1.form | 15 +-
.../modules/form/wizard/ConnectionPanel1.java | 44 +-
.../modules/form/wizard/ConnectionPanel2.form | 15 +-
.../modules/form/wizard/ConnectionPanel2.java | 30 +-
form/sub.locale.xml | 41 +-
.../data/SampleProject/nbproject/build-impl.xml | 2 +-
.../ALT_SeqResizing16Test-ExpectedEndModel0.txt | 88 +
.../ALT_SeqResizing16Test-StartingForm.form | 176 +
.../form/layoutdesign/ALT_SeqResizing16Test.java | 265 +
.../layoutdesign/ALT_SequentialPosition01.java | 126 -
git.remote.cli/build.xml | 39 +
git.remote.cli/nbproject/project.properties | 39 +-
git.remote.cli/nbproject/project.xml | 39 +
.../netbeans/modules/git/remote/cli/GitBranch.java | 20 +-
.../netbeans/modules/git/remote/cli/GitClient.java | 27 +-
.../modules/git/remote/cli/GitConstants.java | 4 +
.../modules/git/remote/cli/GitTransportUpdate.java | 20 +-
.../modules/git/remote/cli/SearchCriteria.java | 9 +
.../modules/git/remote/cli/jgit/IgnoreRule.java | 64 +-
.../git/remote/cli/jgit/commands/AddCommand.java | 15 +
.../cli/jgit/commands/CreateBranchCommand.java | 4 +-
.../cli/jgit/commands/DeleteBranchCommand.java | 3 +
.../git/remote/cli/jgit/commands/FetchCommand.java | 98 +-
.../cli/jgit/commands/GetRemotesCommand.java | 16 +-
.../git/remote/cli/jgit/commands/GitCommand.java | 8 +-
.../git/remote/cli/jgit/commands/LogCommand.java | 14 +-
.../git/remote/cli/jgit/commands/PushCommand.java | 50 +-
.../jgit/commands/SetUpstreamBranchCommand.java | 48 +-
.../remote/cli/jgit/commands/StatusCommand.java | 28 +-
.../git/remote/cli/jgit/AbstractGitTestCase.java | 9 +-
.../git/remote/cli/jgit/commands/AddTest.java | 2 +-
.../git/remote/cli/jgit/commands/BranchTest.java | 2 +-
.../git/remote/cli/jgit/commands/PushTest.java | 39 +-
.../git/remote/cli/jgit/commands/StatusTest.java | 3 +-
git.remote/build.xml | 39 +
git.remote/nbproject/project.properties | 39 +-
git.remote/nbproject/project.xml | 41 +-
.../org/netbeans/modules/git/remote/Annotator.java | 24 +-
.../modules/git/remote/FileStatusCache.java | 13 +-
.../modules/git/remote/FilesystemInterceptor.java | 17 +
.../src/org/netbeans/modules/git/remote/Git.java | 5 +
.../org/netbeans/modules/git/remote/GitVCS.java | 8 +-
.../ui/conflicts/ResolveConflictsExecutor.java | 4 +-
.../git/remote/ui/history/SearchExecutor.java | 9 +-
.../modules/git/remote/ui/push/PushAction.java | 10 +
.../git/remote/ui/push/PushToUpstreamAction.java | 4 +-
.../remote/ui/repository/OpenRepositoryAction.java | 14 +-
.../ui/repository/RepositoryBrowserPanel.java | 10 +-
.../ui/repository/remote/RemoteRepository.java | 18 +-
.../git/remote/ui/selectors/Bundle.properties | 5 +-
.../modules/git/remote/ui/stash/Bundle.properties | 37 +
.../ui/status/GitVersioningTopComponent.java | 4 +-
.../ui/status/VersioningPanelController.java | 10 +-
.../git/remote/AbstractLocalGitTestCase.java | 7 +-
.../git/remote/AbstractRemoteGitTestCase.java | 19 +-
.../git/remote/MoveRemoteInterceptorTest.java | 4 +-
git/nbproject/project.properties | 39 +-
git/nbproject/project.xml | 39 +
git/src/org/netbeans/modules/git/api/Git.java | 9 +
.../modules/git/ui/blame/AnnotationBar.java | 11 +-
.../modules/git/ui/branch/CherryPickPanel.form | 4 +-
.../modules/git/ui/branch/CherryPickPanel.java | 2 +-
.../modules/git/ui/branch/CreateBranch.java | 2 +-
.../modules/git/ui/branch/CreateBranchPanel.form | 7 +-
.../modules/git/ui/branch/CreateBranchPanel.java | 5 +-
.../git/ui/branch/SelectTrackedBranchPanel.form | 4 +-
.../git/ui/branch/SelectTrackedBranchPanel.java | 2 +-
.../git/ui/checkout/AbstractCheckoutAction.java | 5 +
.../git/ui/checkout/AbstractCheckoutRevision.java | 32 +-
.../git/ui/checkout/CheckoutRevisionPanel.form | 4 +-
.../git/ui/checkout/CheckoutRevisionPanel.java | 2 +-
.../modules/git/ui/commit/GitCommitPanel.java | 4 +-
.../modules/git/ui/diff/MultiDiffPanel.form | 40 +-
.../modules/git/ui/diff/MultiDiffPanel.java | 20 +-
.../git/ui/diff/MultiDiffPanelController.java | 4 +-
.../git/ui/history/SearchCriteriaPanel.java | 9 +-
.../modules/git/ui/history/SearchExecutor.java | 4 +-
.../git/ui/history/SearchHistoryAction.java | 6 +-
.../modules/git/ui/history/SearchHistoryPanel.form | 8 +-
.../modules/git/ui/history/SearchHistoryPanel.java | 8 +-
.../modules/git/ui/history/SearchIncoming.java | 115 +
.../git/ui/history/SearchIncomingAction.java | 60 +-
.../git/ui/history/SearchIncomingTopComponent.java | 4 +-
.../history/SearchIncomingWithContextAction.java | 65 +
.../modules/git/ui/history/SearchOutgoing.java | 116 +
.../git/ui/history/SearchOutgoingAction.java | 60 +-
.../git/ui/history/SearchOutgoingTopComponent.java | 4 +-
.../history/SearchOutgoingWithContextAction.java | 65 +
.../netbeans/modules/git/ui/menu/RemoteMenu.java | 22 +
.../netbeans/modules/git/ui/rebase/BasicPanel.form | 20 +-
.../netbeans/modules/git/ui/rebase/BasicPanel.java | 10 +-
.../modules/git/ui/rebase/SelectDestPanel.form | 24 +-
.../modules/git/ui/rebase/SelectDestPanel.java | 12 +-
.../modules/git/ui/repository/RepositoryInfo.java | 6 +-
.../modules/git/ui/revert/RevertCommitPanel.form | 4 +-
.../modules/git/ui/revert/RevertCommitPanel.java | 2 +-
.../modules/git/ui/selectors/Bundle.properties | 5 +-
.../modules/git/ui/stash/Bundle.properties | 37 +
.../netbeans/modules/git/ui/stash/SaveStash.java | 2 +-
.../modules/git/ui/status/VersioningPanel.form | 36 +-
.../modules/git/ui/status/VersioningPanel.java | 18 +-
.../org/netbeans/modules/git/ui/tag/CreateTag.java | 2 +-
.../modules/git/ui/tag/CreateTagPanel.form | 4 +-
.../modules/git/ui/tag/CreateTagPanel.java | 2 +-
glassfish.common/manifest.mf | 2 +-
glassfish.common/nbproject/project.xml | 41 +-
.../modules/glassfish/common/Bundle.properties | 1 +
.../modules/glassfish/common/NbProxySelector.java | 342 -
.../modules/glassfish/common/ProxySettings.java | 135 -
.../modules/glassfish/common/ServerDetails.java | 135 +-
.../nodes/actions/DeployDirectoryAction.java | 46 +-
.../modules/glassfish/common/resources/stop.png | Bin 550 -> 426 bytes
.../glassfish/common/utils/AdminKeyFile.java | 6 +-
.../wizards/AddServerLocationVisualPanel.form | 12 +-
.../wizards/AddServerLocationVisualPanel.java | 10 +-
glassfish.eecommon/build.xml | 39 +
glassfish.eecommon/nbproject/project.properties | 39 +-
glassfish.eecommon/nbproject/project.xml | 39 +
.../netbeans/modules/glassfish/eecommon/layer.xml | 39 +
glassfish.javaee/manifest.mf | 2 +-
glassfish.javaee/nbproject/project.properties | 37 +
.../modules/glassfish/javaee/ant-deploy.xml | 41 +-
.../netbeans/modules/glassfish/javaee/layer.xml | 39 +
.../netbeans/modules/glassfish/javaee/nbdep.xml | 82 +-
.../netbeans/modules/glassfish/javaee/nbdepee6.xml | 82 +-
.../modules/glassfish/javaee/nbdepee6wc.xml | 82 +-
.../glassfish/javaee/templates/weblogicDD.html | 39 +
glassfish.tooling/build.xml | 39 +
glassfish.tooling/manifest.mf | 2 +-
glassfish.tooling/nbproject/project.properties | 37 +
glassfish.tooling/nbproject/project.xml | 56 +
.../glassfish/tooling/ExceptionMessages.properties | 30 +-
.../glassfish/tooling/GlassFishIdeException.java | 28 +-
.../modules/glassfish/tooling/GlassFishStatus.java | 28 +-
.../glassfish/tooling/GlassFishStatusListener.java | 28 +-
.../glassfish/tooling/GlassFishToolsConfig.java | 28 +-
.../glassfish/tooling/LogMessages.properties | 32 +-
.../modules/glassfish/tooling/TaskEvent.java | 28 +-
.../modules/glassfish/tooling/TaskState.java | 28 +-
.../glassfish/tooling/TaskStateListener.java | 30 +-
.../glassfish/tooling/admin/ActionReport.java | 30 +-
.../glassfish/tooling/admin/AdminFactory.java | 28 +-
.../glassfish/tooling/admin/AdminFactoryHttp.java | 28 +-
.../glassfish/tooling/admin/AdminFactoryRest.java | 30 +-
.../modules/glassfish/tooling/admin/Command.java | 30 +-
.../tooling/admin/CommandAddResources.java | 30 +-
.../tooling/admin/CommandChangeAdminPassword.java | 28 +-
.../tooling/admin/CommandCreateAdminObject.java | 30 +-
.../tooling/admin/CommandCreateCluster.java | 28 +-
.../tooling/admin/CommandCreateConnector.java | 30 +-
.../CommandCreateConnectorConnectionPool.java | 32 +-
.../tooling/admin/CommandCreateInstance.java | 28 +-
.../admin/CommandCreateJDBCConnectionPool.java | 30 +-
.../tooling/admin/CommandCreateJDBCResource.java | 30 +-
.../tooling/admin/CommandDeleteCluster.java | 28 +-
.../tooling/admin/CommandDeleteInstance.java | 28 +-
.../tooling/admin/CommandDeleteResource.java | 42 +-
.../glassfish/tooling/admin/CommandDeploy.java | 28 +-
.../glassfish/tooling/admin/CommandDisable.java | 30 +-
.../glassfish/tooling/admin/CommandEnable.java | 30 +-
.../glassfish/tooling/admin/CommandException.java | 30 +-
.../tooling/admin/CommandFetchLogData.java | 28 +-
.../tooling/admin/CommandGetProperty.java | 30 +-
.../glassfish/tooling/admin/CommandJava.java | 30 +-
.../tooling/admin/CommandJavaClassPath.java | 30 +-
.../tooling/admin/CommandListComponents.java | 28 +-
.../tooling/admin/CommandListResources.java | 28 +-
.../tooling/admin/CommandListWebServices.java | 30 +-
.../glassfish/tooling/admin/CommandLocation.java | 30 +-
.../glassfish/tooling/admin/CommandRedeploy.java | 30 +-
.../glassfish/tooling/admin/CommandRestartDAS.java | 30 +-
.../tooling/admin/CommandRestoreDomain.java | 45 +-
.../tooling/admin/CommandSetProperty.java | 32 +-
.../tooling/admin/CommandStartCluster.java | 28 +-
.../glassfish/tooling/admin/CommandStartDAS.java | 30 +-
.../tooling/admin/CommandStartInstance.java | 28 +-
.../tooling/admin/CommandStopCluster.java | 28 +-
.../glassfish/tooling/admin/CommandStopDAS.java | 30 +-
.../tooling/admin/CommandStopInstance.java | 28 +-
.../glassfish/tooling/admin/CommandTarget.java | 28 +-
.../glassfish/tooling/admin/CommandTargetName.java | 30 +-
.../glassfish/tooling/admin/CommandUndeploy.java | 30 +-
.../glassfish/tooling/admin/CommandVersion.java | 30 +-
.../tooling/admin/ExceptionMessages.properties | 28 +-
.../glassfish/tooling/admin/LogMessages.properties | 32 +-
.../glassfish/tooling/admin/MessagePart.java | 39 +-
.../glassfish/tooling/admin/PasswordFile.java | 28 +-
.../glassfish/tooling/admin/ProcessIOContent.java | 28 +-
.../glassfish/tooling/admin/ProcessIOParser.java | 28 +-
.../glassfish/tooling/admin/ProcessIOResult.java | 28 +-
.../modules/glassfish/tooling/admin/Result.java | 28 +-
.../glassfish/tooling/admin/ResultList.java | 30 +-
.../modules/glassfish/tooling/admin/ResultLog.java | 28 +-
.../modules/glassfish/tooling/admin/ResultMap.java | 28 +-
.../glassfish/tooling/admin/ResultProcess.java | 28 +-
.../glassfish/tooling/admin/ResultString.java | 28 +-
.../modules/glassfish/tooling/admin/Runner.java | 28 +-
.../glassfish/tooling/admin/RunnerAsadmin.java | 28 +-
.../admin/RunnerAsadminChangeAdminPassword.java | 28 +-
.../tooling/admin/RunnerAsadminRestoreDomain.java | 47 +-
.../glassfish/tooling/admin/RunnerHttp.java | 30 +-
.../tooling/admin/RunnerHttpAddResources.java | 30 +-
.../glassfish/tooling/admin/RunnerHttpClass.java | 28 +-
.../tooling/admin/RunnerHttpCreateAdminObject.java | 30 +-
.../tooling/admin/RunnerHttpCreateConnector.java | 30 +-
.../RunnerHttpCreateConnectorConnectionPool.java | 28 +-
.../tooling/admin/RunnerHttpCreateInstance.java | 30 +-
.../admin/RunnerHttpCreateJDBCConnectionPool.java | 30 +-
.../admin/RunnerHttpCreateJDBCResource.java | 28 +-
.../tooling/admin/RunnerHttpDeleteInstance.java | 30 +-
.../tooling/admin/RunnerHttpDeleteResource.java | 28 +-
.../glassfish/tooling/admin/RunnerHttpDeploy.java | 32 +-
.../tooling/admin/RunnerHttpEnableDisable.java | 30 +-
.../tooling/admin/RunnerHttpGetProperty.java | 28 +-
.../tooling/admin/RunnerHttpListComponents.java | 28 +-
.../tooling/admin/RunnerHttpListResources.java | 28 +-
.../tooling/admin/RunnerHttpListWebServices.java | 30 +-
.../tooling/admin/RunnerHttpLocation.java | 32 +-
.../tooling/admin/RunnerHttpRedeploy.java | 30 +-
.../tooling/admin/RunnerHttpRestartDAS.java | 32 +-
.../tooling/admin/RunnerHttpSetProperty.java | 30 +-
.../glassfish/tooling/admin/RunnerHttpTarget.java | 30 +-
.../tooling/admin/RunnerHttpUndeploy.java | 30 +-
.../glassfish/tooling/admin/RunnerJava.java | 28 +-
.../glassfish/tooling/admin/RunnerLocal.java | 28 +-
.../glassfish/tooling/admin/RunnerRest.java | 28 +-
.../tooling/admin/RunnerRestAddResources.java | 32 +-
.../glassfish/tooling/admin/RunnerRestClass.java | 28 +-
.../tooling/admin/RunnerRestCreateCluster.java | 30 +-
.../tooling/admin/RunnerRestCreateConnector.java | 34 +-
.../admin/RunnerRestCreateConnectorPool.java | 34 +-
.../tooling/admin/RunnerRestCreateInstance.java | 32 +-
.../admin/RunnerRestCreateJDBCConnectionPool.java | 34 +-
.../admin/RunnerRestCreateJDBCResource.java | 34 +-
.../tooling/admin/RunnerRestDeleteCluster.java | 32 +-
.../tooling/admin/RunnerRestDeleteInstance.java | 32 +-
.../tooling/admin/RunnerRestDeleteResource.java | 32 +-
.../glassfish/tooling/admin/RunnerRestDeploy.java | 28 +-
.../glassfish/tooling/admin/RunnerRestDisable.java | 28 +-
.../glassfish/tooling/admin/RunnerRestEnable.java | 28 +-
.../tooling/admin/RunnerRestFetchLogData.java | 30 +-
.../tooling/admin/RunnerRestGetProperty.java | 28 +-
.../glassfish/tooling/admin/RunnerRestList.java | 28 +-
.../tooling/admin/RunnerRestListApplications.java | 32 +-
.../tooling/admin/RunnerRestListResources.java | 32 +-
.../tooling/admin/RunnerRestListWebServices.java | 32 +-
.../tooling/admin/RunnerRestLocation.java | 34 +-
.../tooling/admin/RunnerRestSetProperty.java | 28 +-
.../tooling/admin/RunnerRestStartCluster.java | 32 +-
.../tooling/admin/RunnerRestStartInstance.java | 32 +-
.../tooling/admin/RunnerRestStopCluster.java | 32 +-
.../glassfish/tooling/admin/RunnerRestStopDAS.java | 30 +-
.../tooling/admin/RunnerRestStopInstance.java | 32 +-
.../tooling/admin/RunnerRestUndeploy.java | 32 +-
.../glassfish/tooling/admin/ServerAdmin.java | 28 +-
.../modules/glassfish/tooling/admin/ValueLog.java | 30 +-
.../glassfish/tooling/admin/ValueProcess.java | 28 +-
.../glassfish/tooling/admin/cloud/CloudTasks.java | 34 +-
.../tooling/admin/cloud/CommandCloud.java | 30 +-
.../tooling/admin/cloud/CommandCloudDeploy.java | 30 +-
.../tooling/admin/cloud/RunnerHttpCloud.java | 30 +-
.../tooling/admin/cloud/RunnerRestCloud.java | 30 +-
.../tooling/admin/cloud/RunnerRestCloudDeploy.java | 28 +-
.../tooling/admin/response/ActionReport.java | 30 +-
.../tooling/admin/response/MessagePart.java | 28 +-
.../admin/response/ResponseContentType.java | 39 +-
.../tooling/admin/response/ResponseParser.java | 28 +-
.../admin/response/ResponseParserFactory.java | 41 +-
.../tooling/admin/response/RestActionReport.java | 28 +-
.../admin/response/RestJSONResponseParser.java | 28 +-
.../tooling/admin/response/RestResponseParser.java | 39 +-
.../admin/response/RestXMLResponseParser.java | 28 +-
.../glassfish/tooling/data/DataException.java | 30 +-
.../tooling/data/ExceptionMessages.properties | 28 +-
.../tooling/data/GlassFishAdminInterface.java | 28 +-
.../glassfish/tooling/data/GlassFishConfig.java | 32 +-
.../glassfish/tooling/data/GlassFishContainer.java | 30 +-
.../tooling/data/GlassFishJavaEEConfig.java | 41 +-
.../tooling/data/GlassFishJavaSEConfig.java | 30 +-
.../glassfish/tooling/data/GlassFishLibrary.java | 43 +-
.../glassfish/tooling/data/GlassFishServer.java | 28 +-
.../tooling/data/GlassFishServerEntity.java | 28 +-
.../tooling/data/GlassFishServerStatus.java | 28 +-
.../tooling/data/GlassFishStatusCheck.java | 28 +-
.../tooling/data/GlassFishStatusCheckResult.java | 34 +-
.../tooling/data/GlassFishStatusTask.java | 28 +-
.../glassfish/tooling/data/GlassFishVersion.java | 179 +-
.../modules/glassfish/tooling/data/IdeContext.java | 28 +-
.../glassfish/tooling/data/LogMessages.properties | 28 +-
.../glassfish/tooling/data/StartupArgs.java | 40 +-
.../glassfish/tooling/data/StartupArgsEntity.java | 28 +-
.../modules/glassfish/tooling/data/ToolConfig.java | 30 +-
.../glassfish/tooling/data/ToolsConfig.java | 28 +-
.../tooling/data/cloud/GlassFishAccount.java | 28 +-
.../tooling/data/cloud/GlassFishAccountEntity.java | 30 +-
.../tooling/data/cloud/GlassFishCloud.java | 32 +-
.../tooling/data/cloud/GlassFishCloudEntity.java | 32 +-
.../modules/glassfish/tooling/logging/Logger.java | 28 +-
.../tooling/server/ExceptionMessages.properties | 28 +-
.../modules/glassfish/tooling/server/FetchLog.java | 30 +-
.../glassfish/tooling/server/FetchLogEvent.java | 30 +-
.../tooling/server/FetchLogEventListener.java | 28 +-
.../tooling/server/FetchLogException.java | 28 +-
.../glassfish/tooling/server/FetchLogLocal.java | 30 +-
.../glassfish/tooling/server/FetchLogPiped.java | 30 +-
.../glassfish/tooling/server/FetchLogRemote.java | 28 +-
.../glassfish/tooling/server/FetchLogSimple.java | 30 +-
.../glassfish/tooling/server/JpaSupport.java | 30 +-
.../tooling/server/LogMessages.properties | 34 +-
.../glassfish/tooling/server/ServerStatus.java | 49 +-
.../glassfish/tooling/server/ServerTasks.java | 28 +-
.../tooling/server/config/AsadminTool.java | 30 +-
.../glassfish/tooling/server/config/Config.java | 28 +-
.../tooling/server/config/ConfigBuilder.java | 28 +-
.../server/config/ConfigBuilderProvider.java | 28 +-
.../tooling/server/config/ConfigUtils.java | 28 +-
.../glassfish/tooling/server/config/FileSet.java | 28 +-
.../server/config/GlassFishConfigManager.java | 28 +-
.../server/config/GlassFishConfigXMLImpl.java | 28 +-
.../tooling/server/config/GlassFishTool.java | 30 +-
.../tooling/server/config/GlassFishV3.xml | 24 +-
.../tooling/server/config/GlassFishV4.xml | 24 +-
.../tooling/server/config/GlassFishV4_1.xml | 24 +-
.../tooling/server/config/JavaEEProfile.java | 28 +-
.../glassfish/tooling/server/config/JavaEESet.java | 30 +-
.../tooling/server/config/JavaSEPlatform.java | 30 +-
.../glassfish/tooling/server/config/JavaSESet.java | 28 +-
.../glassfish/tooling/server/config/JavaSet.java | 30 +-
.../tooling/server/config/LibraryNode.java | 30 +-
.../tooling/server/config/ModuleType.java | 30 +-
.../server/config/ServerConfigException.java | 30 +-
.../glassfish/tooling/server/config/Tools.java | 28 +-
.../tooling/server/parser/AbstractReader.java | 30 +-
.../tooling/server/parser/ConfigReader.java | 28 +-
.../server/parser/ConfigReaderClasspath.java | 28 +-
.../tooling/server/parser/ConfigReaderJava.java | 28 +-
.../tooling/server/parser/ConfigReaderJavaEE.java | 30 +-
.../tooling/server/parser/ConfigReaderJavaSE.java | 30 +-
.../server/parser/ConfigReaderJavadocs.java | 28 +-
.../tooling/server/parser/ConfigReaderServer.java | 28 +-
.../tooling/server/parser/ConfigReaderSources.java | 30 +-
.../tooling/server/parser/ConfigReaderTools.java | 28 +-
.../tooling/server/parser/FilesetReader.java | 34 +-
.../glassfish/tooling/server/parser/HttpData.java | 45 +-
.../tooling/server/parser/HttpListenerReader.java | 28 +-
.../tooling/server/parser/JavaEEModuleReader.java | 30 +-
.../server/parser/JavaEEProfileCheckReader.java | 32 +-
.../tooling/server/parser/JavaEEProfileReader.java | 30 +-
.../server/parser/JavaSEPlatformReader.java | 28 +-
.../tooling/server/parser/JmxConnectorReader.java | 28 +-
.../tooling/server/parser/JvmConfigReader.java | 30 +-
.../tooling/server/parser/LinkReader.java | 28 +-
.../tooling/server/parser/LogMessages.properties | 32 +-
.../tooling/server/parser/LookupReader.java | 30 +-
.../server/parser/NetworkListenerReader.java | 30 +-
.../tooling/server/parser/PathReader.java | 28 +-
.../tooling/server/parser/ResourcesReader.java | 39 +-
.../server/parser/TargetConfigNameReader.java | 41 +-
.../tooling/server/parser/TargetConfigReader.java | 45 +-
.../tooling/server/parser/ToolsAsadminReader.java | 30 +-
.../tooling/server/parser/TreeParser.java | 28 +-
.../glassfish/tooling/server/parser/XMLReader.java | 49 +-
.../tooling/server/state/AbstractTask.java | 30 +-
.../tooling/server/state/AdminPortTask.java | 28 +-
.../server/state/ExceptionMessages.properties | 28 +-
.../server/state/GlassFishStatusEntity.java | 28 +-
.../tooling/server/state/LogMessages.properties | 28 +-
.../glassfish/tooling/server/state/RunnerTask.java | 28 +-
.../tooling/server/state/ServerStateException.java | 30 +-
.../glassfish/tooling/server/state/StatusJob.java | 28 +-
.../tooling/server/state/StatusJobState.java | 30 +-
.../tooling/server/state/StatusResult.java | 28 +-
.../server/state/StatusResultLocations.java | 28 +-
.../tooling/server/state/StatusResultVersion.java | 28 +-
.../tooling/server/state/StatusScheduler.java | 28 +-
.../tooling/utils/CyclicStringBuffer.java | 30 +-
.../tooling/utils/ExceptionMessages.properties | 28 +-
.../modules/glassfish/tooling/utils/Jar.java | 28 +-
.../glassfish/tooling/utils/JarException.java | 30 +-
.../modules/glassfish/tooling/utils/JavaUtils.java | 28 +-
.../glassfish/tooling/utils/LinkedList.java | 30 +-
.../glassfish/tooling/utils/LogMessages.properties | 28 +-
.../modules/glassfish/tooling/utils/NetUtils.java | 28 +-
.../modules/glassfish/tooling/utils/OsUtils.java | 30 +-
.../glassfish/tooling/utils/ServerUtils.java | 34 +-
.../glassfish/tooling/utils/StringPrefixTree.java | 32 +-
.../modules/glassfish/tooling/utils/Utils.java | 28 +-
.../modules/glassfish/tooling/CommonTest.java | 28 +-
.../modules/glassfish/tooling/ExceptionTest.java | 28 +-
.../glassfish/tooling/TestDomainV3Constants.java | 41 +-
.../glassfish/tooling/TestDomainV4Constants.java | 47 +-
.../glassfish/tooling/admin/AdminFactoryTest.java | 30 +-
.../tooling/admin/CommandAsadminTest.java | 30 +-
.../glassfish/tooling/admin/CommandDASTest.java | 30 +-
.../admin/CommandHttpEnableDisableTest.java | 30 +-
.../tooling/admin/CommandHttpGetPropertyTest.java | 28 +-
.../tooling/admin/CommandHttpLifeCycleTest.java | 30 +-
.../admin/CommandHttpListComponentsTest.java | 30 +-
.../admin/CommandHttpListWebServicesTest.java | 30 +-
.../tooling/admin/CommandHttpLocationTest.java | 28 +-
.../tooling/admin/CommandHttpResourcesTest.java | 32 +-
.../tooling/admin/CommandHttpSetPropertyTest.java | 28 +-
.../glassfish/tooling/admin/CommandHttpTest.java | 28 +-
.../tooling/admin/CommandHttpVersionTest.java | 28 +-
.../tooling/admin/CommandRestApplicationTest.java | 30 +-
.../tooling/admin/CommandRestClusterTest.java | 34 +-
.../tooling/admin/CommandRestFetchLogDataTest.java | 30 +-
.../tooling/admin/CommandRestInstanceTest.java | 34 +-
.../admin/CommandRestListApplicationsTest.java | 28 +-
.../admin/CommandRestListWebServicesTest.java | 30 +-
.../tooling/admin/CommandRestLocationTest.java | 28 +-
.../tooling/admin/CommandRestPropertiesTest.java | 28 +-
.../tooling/admin/CommandRestResourcesTest.java | 30 +-
.../tooling/admin/CommandRestStopDASTest.java | 28 +-
.../glassfish/tooling/admin/CommandRestTest.java | 28 +-
.../tooling/admin/CommandRestVersionTest.java | 28 +-
.../glassfish/tooling/admin/CommandTest.java | 28 +-
.../glassfish/tooling/admin/ProcessIOTest.java | 28 +-
.../glassfish/tooling/admin/TaskStateTest.java | 32 +-
.../admin/cloud/CommandCloudDeployTest.java | 32 +-
.../tooling/admin/response/ResponseParserTest.java | 28 +-
.../glassfish/tooling/server/FetchLogTest.java | 28 +-
.../modules/glassfish/tooling/server/GF.properties | 37 +
.../glassfish/tooling/server/HttpPostTest.java | 28 +-
.../glassfish/tooling/server/ServerStatusTest.java | 30 +-
.../glassfish/tooling/server/ServerTasksTest.java | 30 +-
.../tooling/server/config/ConfigBuilderTest.java | 30 +-
.../server/config/DomainConfigReadersTest.java | 45 +-
.../tooling/server/config/GlassfishConfigTest.java | 28 +-
.../tooling/server/state/GlassFishStatusTest.java | 30 +-
.../tooling/utils/CyclicStringBufferTest.java | 28 +-
.../modules/glassfish/tooling/utils/JarTest.java | 30 +-
.../glassfish/tooling/utils/JavaUtilTest.java | 30 +-
.../glassfish/tooling/utils/ServerUtilTest.java | 28 +-
.../glassfish/tooling/utils/StreamLinesList.java | 30 +-
.../tooling/utils/StringPrefixTreeTest.java | 28 +-
gototest/manifest.mf | 2 +-
groovy.antproject/build.xml | 39 +
groovy.antproject/manifest.mf | 2 +-
groovy.antproject/nbproject/project.properties | 37 +
groovy.antproject/nbproject/project.xml | 39 +
.../modules/groovy/antproject/Bundle.properties | 37 +
.../groovy/antproject/base/Bundle.properties | 37 +
.../antproject/resources/groovy-build-65.xml | 39 +
.../resources/groovy-build-sample-65.xml | 39 +
groovy.editor/build.xml | 39 +
groovy.editor/manifest.mf | 2 +-
groovy.editor/nbproject/project.properties | 37 +
groovy.editor/nbproject/project.xml | 48 +
.../groovy/editor/actions/Bundle.properties | 3 +-
.../groovy/editor/actions/FixImportsAction.java | 4 +-
.../groovy/editor/api/completion/Bundle.properties | 2 +-
.../groovy/editor/resources/DefaultAbbrevs.xml | 2 +-
.../groovy/editor/resources/DefaultKeyBindings.xml | 2 +-
.../groovy/editor/resources/fontsColors.xml | 43 +-
.../modules/groovy/editor/resources/layer.xml | 43 +-
...ng1.groovy.testClassMethodFieldLong1.completion | 1 +
...ng2.groovy.testClassMethodFieldLong2.completion | 1 +
...2.groovy.testClassMethodFieldString2.completion | 1 -
...ng1.groovy.testClassMethodLocalLong1.completion | 1 +
...ng2.groovy.testClassMethodLocalLong2.completion | 1 +
...estCase.groovy.testMethodCompletion2.completion | 8 +-
.../ScriptLong1.groovy.testScriptLong1.completion | 1 +
.../ScriptLong2.groovy.testScriptLong2.completion | 1 +
...riptString2.groovy.testScriptString2.completion | 1 -
...evels1.groovy.testBasicAccessLevels1.completion | 1 +
...Closure1.groovy.testInsideClosure1_1.completion | 24 +-
...Closure1.groovy.testInsideClosure1_5.completion | 3 +-
...Closure1.groovy.testInsideClosure1_7.completion | 3 +-
...llections1.groovy.testCollections1_3.completion | 3 +
...llections1.groovy.testCollections1_4.completion | 1 +
...llections1.groovy.testCollections1_5.completion | 91 +-
...nstructors4.groovy.testConstructors4.completion | 4 +-
...nstructors5.groovy.testConstructors5.completion | 4 +-
...nstructors7.groovy.testConstructors7.completion | 2 +-
...nstructors8.groovy.testConstructors8.completion | 4 +-
...osure1.groovy.testDataSourceClosure1.completion | 1 +
.../Inference1.groovy.testInference1.completion | 3 +
...n1.groovy.testInterfaceCompletion1_1.completion | 7 +-
...1.groovy.testCompletionForLiteral1_1.completion | 1 +
...1.groovy.testCompletionForLiteral1_3.completion | 7 +-
....groovy.testCompletionGroovyClass1_1.completion | 1 +
....groovy.testCompletionGroovySuper1_1.completion | 1 +
...groovy.testCompletionInMethodCall2_1.completion | 6 +-
...r1.groovy.testCompletionInsideFor1_2.completion | 15 +
...groovy.testCompletionNoPrefixString1.completion | 48 +-
...groovy.testCompletionNoPrefixString2.completion | 48 +-
.../Methods1.groovy.testMethods1_3.completion | 1 +
.../Methods1.groovy.testMethods1_4.completion | 2 +
.../Methods2.groovy.testMethods2_1.completion | 7 +
...structor.groovy.testEmptyConstructor.completion | 33 +-
....testFewParamsConstructor_AfterComma.completion | 20 +
...amsConstructor_InsideNamedParameter2.completion | 20 +
...perator1.groovy.testElvisOperator1_1.completion | 2 +-
...perator2.groovy.testElvisOperator2_1.completion | 2 +-
...perator3.groovy.testElvisOperator3_1.completion | 2 +-
...Closure1.groovy.testMethodClosure1_3.completion | 3 +
...gation1.groovy.testSafeNavigation1_3.completion | 3 +
....testSpreadOperator1_stringArray_all.completion | 48 +-
...tSpreadOperator2_stringArray_sPrefix.completion | 4 +-
...ovy.testSpreadOperator3_intArray_all.completion | 18 +-
...testSpreadOperator4_intArray_sPrefix.completion | 3 +-
...oovy.testAfterExtendsTypeCompletion1.completion | 24 +-
...oovy.testAfterExtendsTypeCompletion3.completion | 1 +
...ion1.groovy.testFieldTypeCompletion1.completion | 1 +
...ovy.testLocalVariableTypeCompletion1.completion | 1 +
....groovy.testSingleton3_withoutPrefix.completion | 3 +
.../Variables1.groovy.testVariables1_1.completion | 1 +
groovy.grails/build.xml | 39 +
groovy.grails/manifest.mf | 2 +-
groovy.grails/nbproject/project.properties | 37 +
groovy.grails/nbproject/project.xml | 39 +
.../modules/groovy/grails/RuntimeHelper.java | 80 +-
.../modules/groovy/grails/api/GrailsPlatform.java | 29 +-
.../groovy/grails/resources/Bundle.properties | 37 +
.../groovy/grails/resources/GrailsIcon16x16.png | Bin 976 -> 1012 bytes
.../modules/groovy/grails/resources/layer.xml | 41 +-
groovy.grailsproject/build.xml | 39 +
groovy.grailsproject/manifest.mf | 2 +-
groovy.grailsproject/nbproject/project.properties | 37 +
groovy.grailsproject/nbproject/project.xml | 48 +
.../groovy/grailsproject/GrailsSources.java | 7 +
.../groovy/grailsproject/plugins/Bundle.properties | 37 +
.../groovy/grailsproject/resources/Controller.html | 36 +-
.../grailsproject/resources/DomainClass.html | 36 +-
.../groovy/grailsproject/resources/GantScript.html | 38 +-
.../grailsproject/resources/GrailsIcon16x16.png | Bin 976 -> 1012 bytes
.../grailsproject/resources/IntegrationTest.html | 38 +-
.../groovy/grailsproject/resources/Service.html | 36 +-
.../groovy/grailsproject/resources/TagLib.html | 38 +-
.../groovy/grailsproject/resources/UnitTest.html | 36 +-
.../grailsproject/resources/defaultFolder.gif | Bin
.../grailsproject/resources/defaultFolderOpen.gif | Bin
.../groovy/grailsproject/resources/desktop.html | 36 +-
.../grailsproject/resources/emptyProject.html | 38 +-
.../groovy/grailsproject/resources/layer.xml | 41 +-
.../grailsproject/resources/projectfilesBadge.png | Bin 0 -> 338 bytes
.../groovy/grailsproject/ui/Bundle.properties | 2 +
.../groovy/grailsproject/ui/ProjectFilesNode.java | 146 +
.../grailsproject/ui/ProjectFilesNodeFactory.java | 66 +
.../groovy/grailsproject/ui/SourceNodeFactory.java | 3 +-
groovy.gsp/build.xml | 39 +
groovy.gsp/manifest.mf | 2 +-
groovy.gsp/nbproject/project.properties | 37 +
groovy.gsp/nbproject/project.xml | 48 +
.../editor/embedding/HtmlEmbeddingProvider.java | 4 +-
.../modules/groovy/gsp/resources/Bundle.properties | 37 +
.../gsp/resources/DefaultKeyBindings-Mac.xml | 47 +-
.../groovy/gsp/resources/DefaultKeyBindings.xml | 2 +-
.../modules/groovy/gsp/resources/GspTemplate.html | 32 +-
.../modules/groovy/gsp/resources/layer.xml | 43 +-
groovy.kit/build.xml | 41 +-
groovy.kit/manifest.mf | 2 +-
groovy.kit/nbproject/project.xml | 39 +
groovy.kit/release/VERSION.txt | 2 +-
.../netbeans/modules/groovy/kit/Bundle.properties | 37 +
groovy.refactoring/build.xml | 39 +
groovy.refactoring/manifest.mf | 2 +-
groovy.refactoring/nbproject/project.properties | 37 +
groovy.refactoring/nbproject/project.xml | 48 +
.../groovy/refactoring/resources/Bundle.properties | 37 +
.../modules/groovy/refactoring/resources/layer.xml | 39 +
groovy.samples/build.xml | 39 +
groovy.samples/manifest.mf | 2 +-
groovy.samples/nbproject/project.properties | 37 +
groovy.samples/nbproject/project.xml | 39 +
groovy.samples/sample_src/GroovyJavaDemo/build.xml | 45 +-
.../GroovyJavaDemo/nbproject/project.properties | 37 +
.../GroovyJavaDemo/nbproject/project.xml | 39 +
.../sample_src/NBProjectGenerators/build.xml | 45 +-
.../nbproject/project.properties | 37 +
.../NBProjectGenerators/nbproject/project.xml | 39 +
.../modules/groovy/samples/Bundle.properties | 37 +
.../groovy/samples/gjdemo/Bundle.properties | 37 +
.../samples/gjdemo/GroovyJavaDemoDescription.html | 11 +-
.../org/netbeans/modules/groovy/samples/layer.xml | 39 +
.../groovy/samples/nbprojectgen/Bundle.properties | 37 +
.../NBProjectGeneratorsDescription.html | 11 +-
groovy.support/build.xml | 39 +
groovy.support/manifest.mf | 2 +-
groovy.support/nbproject/project.properties | 37 +
groovy.support/nbproject/project.xml | 39 +
.../modules/groovy/support/debug/Context.java | 4 +-
.../debug/GroovyBreakpointAnnotationListener.java | 4 +-
.../groovy/support/resources/GroovyClass.html | 32 +-
.../groovy/support/resources/GroovyJUnitTest.html | 32 +-
.../groovy/support/resources/GroovyScript.html | 32 +-
.../modules/groovy/support/resources/layer.xml | 41 +-
gsf.codecoverage/build.xml | 39 +
gsf.codecoverage/manifest.mf | 2 +-
gsf.codecoverage/nbproject/project.properties | 37 +
gsf.codecoverage/nbproject/project.xml | 48 +
.../modules/gsf/codecoverage/Bundle.properties | 37 +
.../CoverageReportTopComponentWstcref.xml | 39 +-
.../netbeans/modules/gsf/codecoverage/layer.xml | 39 +
gsf.testrunner.ui/build.xml | 39 +
gsf.testrunner.ui/manifest.mf | 2 +-
gsf.testrunner.ui/nbproject/project.properties | 37 +
gsf.testrunner.ui/nbproject/project.xml | 39 +
.../src/META-INF/netbeans/translate.names | 37 +
.../modules/gsf/testrunner/ui/Bundle.properties | 37 +
.../modules/gsf/testrunner/ui/ResultBar.java | 5 +
.../modules/gsf/testrunner/ui/RootNode.java | 2 +-
.../gsf/testrunner/ui/TestCreatorAction.java | 12 +-
.../gsf/testrunner/ui/api/TestsuiteNode.java | 3 +-
.../testrunner/ui/gsf-testrunner-results.settings | 39 +
.../testrunner/ui/gsf-testrunner-results.wstcref | 41 +-
.../netbeans/modules/gsf/testrunner/ui/layer.xml | 39 +
gsf.testrunner/build.xml | 39 +
gsf.testrunner/manifest.mf | 2 +-
gsf.testrunner/nbproject/project.properties | 37 +
gsf.testrunner/nbproject/project.xml | 39 +
.../src/META-INF/netbeans/translate.names | 37 +
.../modules/gsf/testrunner/Bundle.properties | 37 +
.../modules/gsf/testrunner/api/Bundle.properties | 37 +
.../modules/gsf/testrunner/api/RerunType.java | 9 +-
.../org/netbeans/modules/gsf/testrunner/layer.xml | 41 +-
hibernate/nbproject/project.properties | 2 +-
.../hibernate/hqleditor/HQLEditorController.java | 65 +-
.../hibernate/loaders/reveng/Bundle.properties | 37 +
.../hibernate/resources/HibernateCodeGenFile.html | 16 +-
.../hibernate/resources/HibernateConfig.xml | 41 +-
.../resources/HibernateConfigurationFile.html | 16 +-
.../hibernate/resources/HibernateMapping.xml | 41 +-
.../hibernate/resources/HibernateMappingFile.html | 16 +-
.../hibernate/resources/HibernateReveng.xml | 41 +-
.../hibernate/resources/HibernateRevengFile.html | 16 +-
.../hibernate/resources/HibernateUtilFile.html | 16 +-
.../resources/hibernate-configuration-3.0.mdd | 39 +
.../hibernate/resources/hibernate-mapping-3.0.mdd | 39 +
.../hibernate-reverse-engineering-3.0.mdd | 39 +
hibernate4lib/build.xml | 39 +
.../external/binaries-list | 0
hibernate4lib/nbproject/project.properties | 2 +-
hibernate4lib/nbproject/project.xml | 39 +
.../modules/hibernate4lib/Bundle.properties | 37 +
.../modules/hibernate4lib/resources/layer.xml | 39 +
hibernateweb/manifest.mf | 2 +-
html.angular/build.xml | 39 +
html.angular/manifest.mf | 2 +-
html.angular/nbproject/project.properties | 37 +
html.angular/nbproject/project.xml | 80 +
.../modules/html/angular/Bundle.properties | 37 +
.../angular/editor/AngularJsCodeCompletion.java | 8 +-
.../angular/editor/AngularJsDeclarationFinder.java | 4 +-
.../html/angular/index/AngularJsIndexer.java | 10 +-
.../angular/model/AngularConfigInterceptor.java | 16 +-
.../angular/model/AngularModelInterceptor.java | 6 +-
.../angular/model/AngularModuleInterceptor.java | 20 +-
.../html/angular/model/AngularWhenInterceptor.java | 14 +-
.../modules/html/angular/model/ModelUtils.java | 6 +-
.../modules/html/angular/resources/layer.xml | 41 +-
.../editor/AngularJsDelcarationFinderTest.java | 2 +-
.../html/angular/model/AngularModelTest.java | 12 +-
html.custom/build.xml | 39 +
html.custom/manifest.mf | 2 +-
html.custom/nbproject/project.properties | 37 +
html.custom/nbproject/project.xml | 56 +-
.../netbeans/modules/html/custom/Bundle.properties | 37 +
.../modules/html/custom/conf/Configuration.java | 101 +-
html.editor.lib/manifest.mf | 2 +-
html.editor.lib/nbproject/project.xml | 1 +
.../external/binaries-list | 0
html.editor/manifest.mf | 2 +-
html.editor/nbproject/project.properties | 4 +-
html.editor/nbproject/project.xml | 27 +-
html.editor/src/META-INF/netbeans/translate.names | 37 +
.../netbeans/modules/html/editor/APIAccessor.java | 63 +
.../modules/html/editor/HtmlTransferHandler.java | 716 +-
.../modules/html/editor/api/AccessorImpl.java | 58 +
.../netbeans/modules/html/editor/api/HtmlKit.java | 15 +-
.../html/editor/api/actions/Bundle.properties | 37 +
.../editor/api/completion/HtmlCompletionItem.java | 2 +-
.../editor/completion/AttrValuesCompletion.java | 14 +-
.../editor/completion/HtmlCompletionProvider.java | 7 +-
.../html/editor/embedding/JsEmbeddingProvider.java | 3 +-
.../HtmlActionsImplementationProvider.java | 2 +-
.../html/editor/resources/DTDs/3_2/html32.dtd | 39 +
.../html/editor/resources/DTDs/4_0/frameset.dtd | 43 +-
.../html/editor/resources/DTDs/4_0/loose.dtd | 39 +
.../html/editor/resources/DTDs/4_0/strict.dtd | 45 +-
.../html/editor/resources/DTDs/4_01/frameset.dtd | 43 +-
.../html/editor/resources/DTDs/4_01/loose.dtd | 39 +
.../html/editor/resources/DTDs/4_01/strict.dtd | 45 +-
.../html/editor/resources/DefaultKeyBindings.xml | 19 +-
.../modules/html/editor/resources/layer.xml | 7 -
.../typinghooks/HtmlTypedTextInterceptor.java | 10 +-
.../modules/html/editor/ui/Bundle.properties | 37 +
html.editor/test/unit/data/testfiles/simple.html | 86 -
.../test/unit/data/testfiles/simple.html.formatted | 86 -
html.editor/test/unit/data/testfiles/simple01.html | 92 +-
.../unit/data/testfiles/simple01.html.formatted | 90 +-
.../editor/embedding/JsEmbeddingProviderTest.java | 74 -
.../html/editor/indent/HtmlIndenterTest.java | 4 -
.../modules/html/editor/test/TestBase.java | 3 +-
.../typinghooks/HtmlTypedBreakInterceptorTest.java | 44 +-
.../editor/typinghooks/HtmlTypingHooksTest.java | 469 +-
.../modules/html/editor/typinghooks/Typing.java | 156 -
html.knockout/build.xml | 39 +
html.knockout/manifest.mf | 2 +-
html.knockout/nbproject/project.properties | 37 +
html.knockout/nbproject/project.xml | 62 +
.../modules/html/knockout/Bundle.properties | 37 +
.../html/knockout/KODataBindDescriptor.java | 4 +-
.../html/knockout/KOJsEmbeddingProviderPlugin.java | 2 +-
.../modules/html/knockout/KOTemplateContext.java | 4 -
.../javascript/KnockoutCodeCompletionItem.java | 3 +-
.../html/knockout/javascript/KnockoutContext.java | 2 +-
.../javascript/KnockoutJsCodeCompletion.java | 2 +-
.../org/netbeans/modules/html/knockout/layer.xml | 39 +
.../foreach/index.html.testForEach.completion | 11 +-
.../index.html.testForEachAlias.completion | 11 +-
.../index.html.testIssue231569.completion | 12 +-
.../template/index.html.testTemplate.completion | 11 +-
.../index.html.testTemplateForEach.completion | 11 +-
.../index.html.testTemplateInner.completion | 11 +-
.../completion/with/index.html.testWith.completion | 11 +-
html.lexer/manifest.mf | 2 +-
.../org/netbeans/api/html/lexer/HTMLTokenId.java | 3 +
.../src/org/netbeans/lib/html/lexer/HtmlLexer.java | 2 +-
.../src/org/netbeans/lib/html/lexer/layer.xml | 39 +
html.ojet/build.xml | 44 +
html.ojet/external/binaries-list | 3 +
html.ojet/manifest.mf | 7 +
html.ojet/nbproject/project.properties | 46 +
html.ojet/nbproject/project.xml | 404 +
.../netbeans/modules/html/ojet/Bundle.properties | 47 +
.../netbeans/modules/html/ojet/HelpItemImpl.java | 75 +
.../modules/html/ojet/OJETCompletionHtmlItem.java | 93 +
.../netbeans/modules/html/ojet/OJETContext.java | 224 +
.../modules/html/ojet/OJETHtmlExtension.java | 90 +
.../org/netbeans/modules/html/ojet/OJETUtils.java | 138 +
.../netbeans/modules/html/ojet/data/DataItem.java | 59 +
.../modules/html/ojet/data/DataItemImpl.java | 484 +
.../modules/html/ojet/data/DataProvider.java | 87 +
.../modules/html/ojet/data/DataProviderImpl.java | 205 +
.../modules/html/ojet/data/OJETPreferences.java | 119 +
.../modules/html/ojet/javascript/ModelUtils.java | 82 +
.../ojet/javascript/OJETCodeCompletionItem.java | 290 +
.../html/ojet/javascript/OJETJsCodeCompletion.java | 124 +
.../html/ojet/javascript/OJETModelInterceptor.java | 71 +
.../modules/html/ojet/resources/codetemplates.xml | 66 +
.../netbeans/modules/html/ojet/resources/layer.xml | 87 +
.../modules/html/ojet/ui/Bundle.properties | 38 +
.../html/ojet/ui/OJETFrameworkCustomizer.java | 94 +
.../netbeans/modules/html/ojet/ui/OJETPanel.form | 65 +
.../netbeans/modules/html/ojet/ui/OJETPanel.java | 186 +
.../html/ojet/ui/resources/Bundle.properties | 42 +
.../html/ojet/ui/resources/EmptyJETModule-html | 6 +
.../html/ojet/ui/resources/EmptyJETModule-js | 19 +
.../ui/resources/EmptyJETModuleDescription.html | 54 +
.../html/ojet/ui/resources/KnockoutJETModule-html | 11 +
.../html/ojet/ui/resources/KnockoutJETModule-js | 24 +
.../ui/resources/KnockoutJETModuleDescription.html | 54 +
.../NewComponentInteractionSampleDescription.html | 53 +
.../NewOracleJETBaseDistributionDescription.html | 52 +
.../NewOracleJETQuickStartBasicDescription.html | 52 +
.../modules/html/ojet/ui/resources/ojet-icon.png | Bin 0 -> 349 bytes
.../html/ojet/ui/resources/ojetEvent-icon.png | Bin 0 -> 638 bytes
.../modules/html/ojet/ui/wizard/Bundle.properties | 53 +
.../ojet/ui/wizard/NewJetModuleWizardIterator.java | 329 +
.../ojet/ui/wizard/NewJetModuleWizardPanel.java | 156 +
.../ojet/ui/wizard/NewJetModuleWizardPanelUi.form | 191 +
.../ojet/ui/wizard/NewJetModuleWizardPanelUi.java | 396 +
.../ojet/ui/wizard/NewProjectWizardIterator.java | 388 +
.../unit/data/testfiles/context/example01.html | 15 +
.../modules/html/ojet/OJETContextTest.java | 175 +
.../external/binaries-list | 0
html.parser/nbproject/project.properties | 2 +-
html.validation/build.xml | 39 +
html.validation/external/binaries-list | 6 +
html.validation/external/validator-license.txt | 2 +-
html.validation/external/validator.patch | 8898 +++++
html.validation/manifest.mf | 2 +-
html.validation/nbproject/project.properties | 6 -
html.validation/nbproject/project.xml | 63 +-
.../modules/html/validation/NbMessageEmitter.java | 55 +-
.../html/validation/NbValidationTransaction.java | 1213 +
.../html/validation/ValidationTransaction.java | 1602 -
.../modules/html/validation/ValidatorImpl.java | 4 +-
.../patched/BufferingRootNamespaceSniffer.java | 174 -
.../patched/LocalCacheEntityResolver.java | 141 -
.../validation/patched/RootNamespaceSniffer.java | 122 -
.../modules/html/validation/patched/presets | 10 -
.../modules/html/validation/HtmlSpecTest.java | 2 +-
.../html/validation/ValidationTransactionTest.java | 44 +-
html/manifest.mf | 2 +-
html/nbproject/project.xml | 9 +
.../org/netbeans/modules/html/TemplateHelp.html | 16 +-
.../netbeans/modules/html/XhtmlTemplateHelp.html | 16 +-
.../external/binaries-list | 0
httpserver/nbproject/project.properties | 2 +-
hudson.ant/build.xml | 39 +
hudson.ant/manifest.mf | 2 +-
hudson.ant/nbproject/project.properties | 37 +
hudson.ant/nbproject/project.xml | 39 +
.../netbeans/modules/hudson/ant/Bundle.properties | 37 +
hudson.git/build.xml | 39 +
hudson.git/manifest.mf | 2 +-
hudson.git/nbproject/project.properties | 37 +
hudson.git/nbproject/project.xml | 39 +
.../netbeans/modules/hudson/git/Bundle.properties | 37 +
hudson.maven/build.xml | 39 +
hudson.maven/manifest.mf | 2 +-
hudson.maven/nbproject/project.properties | 37 +
hudson.maven/nbproject/project.xml | 39 +
hudson.mercurial/build.xml | 39 +
hudson.mercurial/manifest.mf | 2 +-
hudson.mercurial/nbproject/project.properties | 37 +
hudson.mercurial/nbproject/project.xml | 39 +
.../modules/hudson/mercurial/Bundle.properties | 37 +
hudson.php/build.xml | 39 +
hudson.php/manifest.mf | 2 +-
hudson.php/nbproject/project.properties | 39 +-
hudson.php/nbproject/project.xml | 39 +
.../netbeans/modules/hudson/php/util/XmlUtils.java | 2 +-
hudson.subversion/build.xml | 39 +
hudson.subversion/manifest.mf | 2 +-
hudson.subversion/nbproject/project.properties | 37 +
hudson.subversion/nbproject/project.xml | 39 +
.../modules/hudson/subversion/Bundle.properties | 37 +
hudson.tasklist/build.xml | 39 +
hudson.tasklist/manifest.mf | 2 +-
hudson.tasklist/nbproject/project.properties | 37 +
hudson.tasklist/nbproject/project.xml | 39 +
.../modules/hudson/tasklist/Bundle.properties | 37 +
hudson.ui/build.xml | 39 +
hudson.ui/manifest.mf | 2 +-
hudson.ui/nbproject/project.properties | 37 +
hudson.ui/nbproject/project.xml | 39 +
.../hudson/ui/APITokenConnectionAuthenticator.java | 3 +-
.../modules/hudson/ui/actions/Bundle.properties | 38 -
.../src/org/netbeans/modules/hudson/ui/layer.xml | 39 +
hudson/build.xml | 39 +
hudson/manifest.mf | 2 +-
hudson/nbproject/project.properties | 37 +
hudson/nbproject/project.xml | 39 +
i18n.form/nbproject/project.properties | 2 +-
i18n.form/src/META-INF/netbeans/translate.names | 37 +
i18n/arch.xml | 49 +-
i18n/manifest.mf | 2 +-
.../netbeans/modules/i18n/jsp/Bundle.properties | 37 +
.../org/netbeans/modules/i18n/wizard/package.html | 39 +
ide.branding.kit/build.xml | 39 +
ide.branding.kit/manifest.mf | 2 +-
ide.branding.kit/nbproject/project.properties | 37 +
ide.branding.kit/nbproject/project.xml | 39 +
ide.branding.kit/release/VERSION.txt | 2 +-
.../modules/ide/branding/kit/Bundle.properties | 37 +
.../modules/autoupdate/ui/Bundle_nb.properties | 37 +
.../autoupdate/ui/actions/Bundle_nb.properties | 37 +
.../autoupdate/ui/wizards/Bundle_nb.properties | 37 +
ide.branding/build.xml | 14 +-
.../org/netbeans/core/netigso/Bundle_nb.properties | 37 +
.../org/netbeans/core/startup/Bundle_nb.properties | 4 +-
.../org/netbeans/core/startup/about_dark_nb.png | Bin 0 -> 95223 bytes
.../src/org/netbeans/core/startup/about_nb.png | Bin 138020 -> 138362 bytes
.../org/netbeans/core/startup/frame32_dark_nb.gif | Bin 0 -> 1944 bytes
.../org/netbeans/core/startup/frame48_dark_nb.gif | Bin 0 -> 3417 bytes
.../org/netbeans/core/startup/frame_dark_nb.gif | Bin 0 -> 733 bytes
.../org/netbeans/core/startup/splash_dark_nb.gif | Bin 0 -> 91052 bytes
.../src/org/netbeans/core/startup/splash_nb.gif | Bin 127321 -> 127396 bytes
.../netbeans/core/ui/sampler/Bundle_nb.properties | 37 +
.../core/windows/view/ui/Bundle_nb.properties | 6 +-
ide.branding/manifest.mf | 2 +-
ide.branding/nbproject/project.properties | 37 +
.../modules/options/export/Bundle_nb.properties | 37 +
ide.branding/release-toplevel/CREDITS.html | 92 +-
ide.branding/release-toplevel/LICENSE.txt | 6 +-
ide.branding/release-toplevel/README.html | 2 +-
.../release-toplevel/THIRDPARTYLICENSE.txt | 296 +-
ide.branding/release-toplevel/netbeans.css | 43 +-
.../org/netbeans/modules/ide/branding/layer.xml | 39 +
ide.ergonomics/arch.xml | 49 +-
ide.ergonomics/build.xml | 39 +
ide.ergonomics/empty.properties | 37 +
ide.ergonomics/manifest.mf | 2 +-
ide.ergonomics/nbproject/project.properties | 37 +
ide.ergonomics/nbproject/project.xml | 39 +
.../ide/ergonomics/ant/common-ergonomics.xml | 39 +
.../modules/ide/ergonomics/Bundle.properties | 37 +
.../netbeans/modules/ide/ergonomics/fod/common.xml | 39 +
.../modules/ide/ergonomics/fod/default.xml | 41 +-
ide.kit/build.xml | 39 +
ide.kit/manifest.mf | 2 +-
ide.kit/module-auto-deps.xml | 39 +
ide.kit/nbproject/project.xml | 43 +-
ide.kit/release/VERSION.txt | 2 +-
.../org/netbeans/modules/ide/kit/Bundle.properties | 37 +
ide.kit/test/coverage-manual/readme.html | 47 +-
ide.kit/test/coverage-manual/selectjars/build.xml | 45 +-
.../selectjars/nbproject/project.properties | 37 +
.../selectjars/nbproject/project.xml | 39 +
.../netbeans/test/ide/CountingSecurityManager.java | 3 +-
ide.kit/test/whitelist/readme.html | 41 +-
ide/launcher/netbeans.conf | 7 +-
ide/launcher/unix/netbeans | 27 +-
ide/launcher/windows/Makefile | 38 +
ide/launcher/windows/cmdargs.h | 5 +-
ide/launcher/windows/nblauncher.cpp | 27 +-
ide/launcher/windows/nblauncher.h | 5 +-
ide/launcher/windows/nbproject/Makefile-impl.mk | 133 -
.../windows/nbproject/Makefile-netbeans.exe.mk | 95 -
.../windows/nbproject/Makefile-netbeans64.exe.mk | 95 -
.../windows/nbproject/Makefile-variables.mk | 35 -
.../windows/nbproject/Package-netbeans.exe.bash | 76 -
.../windows/nbproject/Package-netbeans64.exe.bash | 76 -
ide/launcher/windows/nbproject/configurations.xml | 39 +
ide/launcher/windows/nbproject/project.properties | 37 +
ide/launcher/windows/nbproject/project.xml | 39 +
ide/launcher/windows/netbeans.cpp | 5 +-
ide/launcher/windows/netbeans.exe.manifest | 2 +-
ide/launcher/windows/netbeans64.exe.manifest | 2 +-
ide/launcher/windows/version.h | 12 +-
ide/projectopener/build.xml | 45 +-
ide/projectopener/master.jnlp | 39 +
.../nbproject/configs/JWS_generated.properties | 37 +
ide/projectopener/nbproject/project.properties | 37 +
ide/projectopener/nbproject/project.xml | 39 +
.../org/netbeans/projectopener/Bundle.properties | 39 +-
image/manifest.mf | 2 +-
j2ee.ant/nbproject/project.properties | 2 +-
j2ee.api.ejbmodule/arch/overview.html | 75 +-
j2ee.api.ejbmodule/manifest.mf | 2 +-
.../netbeans/modules/j2ee/api/ejbjar/package.html | 16 +-
.../netbeans/modules/j2ee/spi/ejbjar/package.html | 16 +-
.../modules/j2ee/spi/ejbjar/support/package.html | 16 +-
j2ee.clientproject/nbproject/project.properties | 2 +-
.../j2ee/clientproject/resources/jax-ws.xml | 5 -
.../resources/application-client-emptyProject.html | 75 +-
.../application-client-importProject.html | 75 +-
.../j2ee/clientproject/ui/resources/desktop.html | 75 +-
j2ee.common/manifest.mf | 2 +-
j2ee.core.utilities/build.xml | 39 +
j2ee.core.utilities/manifest.mf | 2 +-
j2ee.core.utilities/nbproject/project.xml | 39 +
j2ee.core/build.xml | 39 +
j2ee.core/manifest.mf | 2 +-
j2ee.core/nbproject/project.xml | 39 +
.../modules/j2ee/dd/api/webservices/package.html | 16 +-
j2ee.dd.webservice/manifest.mf | 2 +-
.../modules/j2ee/dd/impl/resources/j2ee_1_4.xsd | 30 +-
.../dd/impl/resources/j2ee_web_services_1_1.xsd | 20 +-
.../resources/j2ee_web_services_client_1_1.xsd | 26 +-
.../modules/j2ee/dd/impl/resources/javaee_5.xsd | 30 +-
.../dd/impl/resources/javaee_web_services_1_2.xsd | 20 +-
.../resources/javaee_web_services_client_1_2.xsd | 24 +-
.../WebservicesMetadataModelFactory.java | 6 +
j2ee.dd/doc/ddapi_architecture.html | 41 +-
.../modules/j2ee/dd/api/application/package.html | 16 +-
.../modules/j2ee/dd/api/common/package.html | 16 +-
.../netbeans/modules/j2ee/dd/api/ejb/package.html | 16 +-
.../netbeans/modules/j2ee/dd/api/web/package.html | 16 +-
j2ee.dd/doc/overview.html | 77 +-
j2ee.dd/doc/usage.html | 77 +-
.../j2ee.dd => j2ee.dd}/external/binaries-list | 0
j2ee.dd/nbproject/project.properties | 2 +-
.../dd/impl/resources/application-client_1_4.mdd | 41 +-
.../dd/impl/resources/application-client_1_4.xsd | 2 +-
.../dd/impl/resources/application-client_5.mdd | 41 +-
.../dd/impl/resources/application-client_5.xsd | 2 +-
.../dd/impl/resources/application-client_6.mdd | 39 +
.../dd/impl/resources/application-client_6.xsd | 24 +-
.../dd/impl/resources/application-client_7.mdd | 39 +
.../j2ee/dd/impl/resources/application_1_4.mdd | 39 +
.../j2ee/dd/impl/resources/application_1_4.xsd | 2 +-
.../j2ee/dd/impl/resources/application_5.mdd | 41 +-
.../j2ee/dd/impl/resources/application_5.xsd | 2 +-
.../j2ee/dd/impl/resources/application_6.mdd | 39 +
.../j2ee/dd/impl/resources/application_6.xsd | 26 +-
.../j2ee/dd/impl/resources/application_7.mdd | 39 +
.../modules/j2ee/dd/impl/resources/ejb-jar_2_1.mdd | 39 +
.../modules/j2ee/dd/impl/resources/ejb-jar_2_1.xsd | 2 +-
.../modules/j2ee/dd/impl/resources/ejb-jar_3_0.mdd | 67 +-
.../modules/j2ee/dd/impl/resources/ejb-jar_3_0.xsd | 2 +-
.../modules/j2ee/dd/impl/resources/ejb-jar_3_1.mdd | 67 +-
.../modules/j2ee/dd/impl/resources/ejb-jar_3_1.xsd | 26 +-
.../modules/j2ee/dd/impl/resources/ejb-jar_3_2.mdd | 67 +-
.../modules/j2ee/dd/impl/resources/j2ee_1_4.xsd | 2 +-
.../resources/j2ee_web_services_client_1_1.xsd | 2 +-
.../modules/j2ee/dd/impl/resources/javaee_5.xsd | 2 +-
.../modules/j2ee/dd/impl/resources/javaee_6.xsd | 22 +-
.../resources/javaee_web_services_client_1_2.xsd | 2 +-
.../resources/javaee_web_services_client_1_3.xsd | 22 +-
.../modules/j2ee/dd/impl/resources/jsp_2_0.xsd | 2 +-
.../modules/j2ee/dd/impl/resources/jsp_2_1.xsd | 2 +-
.../modules/j2ee/dd/impl/resources/jsp_2_2.xsd | 8 +-
.../modules/j2ee/dd/impl/resources/web-app_2_4.mdd | 41 +-
.../modules/j2ee/dd/impl/resources/web-app_2_4.xsd | 2 +-
.../modules/j2ee/dd/impl/resources/web-app_2_5.mdd | 41 +-
.../modules/j2ee/dd/impl/resources/web-app_2_5.xsd | 2 +-
.../modules/j2ee/dd/impl/resources/web-app_3_0.mdd | 41 +-
.../modules/j2ee/dd/impl/resources/web-app_3_0.xsd | 32 +-
.../modules/j2ee/dd/impl/resources/web-app_3_1.mdd | 41 +-
.../j2ee/dd/impl/resources/web-common_3_0.xsd | 32 +-
.../j2ee/dd/impl/resources/web-fragment_3_0.mdd | 43 +-
.../j2ee/dd/impl/resources/web-fragment_3_0.xsd | 2 +-
.../j2ee/dd/impl/resources/web-fragment_3_1.mdd | 43 +-
.../dd/spi/ejb/EjbJarMetadataModelFactory.java | 8 +-
j2ee.ddloaders/nbproject/project.properties | 2 +-
.../catalog/resources/application-client_1_4.xsd | 2 +-
.../catalog/resources/application-client_5.xsd | 2 +-
.../catalog/resources/application-client_6.xsd | 24 +-
.../catalog/resources/application_1_4.xsd | 2 +-
.../ddloaders/catalog/resources/application_5.xsd | 2 +-
.../ddloaders/catalog/resources/application_6.xsd | 26 +-
.../ddloaders/catalog/resources/connector_1_5.xsd | 2 +-
.../ddloaders/catalog/resources/ejb-jar_2_1.xsd | 2 +-
.../ddloaders/catalog/resources/ejb-jar_3_0.xsd | 2 +-
.../ddloaders/catalog/resources/ejb-jar_3_1.xsd | 26 +-
.../j2ee/ddloaders/catalog/resources/j2ee_1_4.xsd | 2 +-
.../catalog/resources/j2ee_web_services_1_1.xsd | 2 +-
.../resources/j2ee_web_services_client_1_1.xsd | 2 +-
.../j2ee/ddloaders/catalog/resources/javaee_5.xsd | 2 +-
.../j2ee/ddloaders/catalog/resources/javaee_6.xsd | 22 +-
.../catalog/resources/javaee_web_services_1_2.xsd | 2 +-
.../catalog/resources/javaee_web_services_1_3.xsd | 33 +-
.../resources/javaee_web_services_client_1_2.xsd | 2 +-
.../resources/javaee_web_services_client_1_3.xsd | 22 +-
.../j2ee/ddloaders/catalog/resources/jsp_2_0.xsd | 2 +-
.../j2ee/ddloaders/catalog/resources/jsp_2_1.xsd | 2 +-
.../j2ee/ddloaders/catalog/resources/jsp_2_2.xsd | 8 +-
.../ddloaders/catalog/resources/web-app_2_4.xsd | 2 +-
.../ddloaders/catalog/resources/web-app_2_5.xsd | 2 +-
.../ddloaders/catalog/resources/web-app_3_0.xsd | 32 +-
.../ddloaders/catalog/resources/web-common_3_0.xsd | 32 +-
.../catalog/resources/web-fragment_3_0.xsd | 2 +-
j2ee.earproject/manifest.mf | 2 +-
.../earproject/ui/resources/completeProject.html | 16 +-
.../earproject/ui/resources/ear-emptyProject.html | 16 +-
.../earproject/ui/resources/ear-importProject.html | 16 +-
.../modules/j2ee/earproject/ui/resources/ear.html | 75 +-
.../modules/j2ee/earproject/ui/resources/layer.xml | 4 +-
j2ee.eclipselink/build.xml | 39 +
.../external/binaries-list | 0
j2ee.eclipselink/manifest.mf | 2 +-
j2ee.eclipselink/nbproject/project.properties | 5 +-
j2ee.eclipselink/nbproject/project.xml | 39 +
.../netbeans/modules/j2ee/eclipselink/layer.xml | 2 +-
j2ee.eclipselinkmodelgen/build.xml | 39 +
.../external/binaries-list | 0
j2ee.eclipselinkmodelgen/manifest.mf | 2 +-
j2ee.eclipselinkmodelgen/nbproject/project.xml | 39 +
.../modules/j2ee/eclipselinkmodelgen/layer.xml | 2 +-
j2ee.ejbcore/manifest.mf | 2 +-
.../j2ee/ejbcore/ejb/wizard/dd/ejbJarXml.html | 39 +
.../j2ee/ejbcore/ejb/wizard/jpa/dao/ejbFacade.html | 39 +
.../j2ee/ejbcore/resources/CMPDatabase.html | 16 +-
.../ejbcore/resources/CachingServiceLocator.html | 16 +-
.../modules/j2ee/ejbcore/resources/EntityEJB.html | 16 +-
.../modules/j2ee/ejbcore/resources/MessageEJB.html | 16 +-
.../j2ee/ejbcore/resources/ServiceLocator.html | 16 +-
.../modules/j2ee/ejbcore/resources/SessionEJB.html | 16 +-
.../j2ee/ejbcore/resources/TimerSessionEJB.html | 16 +-
.../j2ee/ejbcore/resources/foldersList.settings | 39 +
j2ee.ejbjarproject/manifest.mf | 2 +-
.../modules/j2ee/ejbjarproject/EjbJarProvider.java | 6 +
.../j2ee/ejbjarproject/resources/jax-ws.xml | 5 -
.../ui/resources/ejb-emptyProject.html | 16 +-
.../ui/resources/ejb-importProject.html | 16 +-
.../ejbjarproject/ui/resources/ejb-jar-2.0.xml | 5 -
.../j2ee/ejbjarproject/ui/resources/ejbjar.html | 75 +-
.../j2ee/ejbjarproject/ui/resources/layer.xml | 1 +
j2ee.ejbrefactoring/build.xml | 39 +
j2ee.ejbrefactoring/manifest.mf | 2 +-
j2ee.ejbrefactoring/nbproject/project.properties | 37 +
j2ee.ejbrefactoring/nbproject/project.xml | 39 +
.../modules/j2ee/ejbrefactoring/Bundle.properties | 37 +
j2ee.ejbverification/build.xml | 39 +
j2ee.ejbverification/manifest.mf | 2 +-
j2ee.ejbverification/nbproject/project.properties | 37 +
j2ee.ejbverification/nbproject/project.xml | 39 +
.../j2ee/ejbverification/resources/layer.xml | 2 +-
j2ee.genericserver/manifest.mf | 2 +-
j2ee.jboss4/manifest.mf | 2 +-
.../netbeans/modules/j2ee/jboss4/JB7Deployer.java | 39 +
.../modules/j2ee/jboss4/resources/layer.xml | 8 +-
j2ee.jpa.refactoring/build.xml | 39 +
j2ee.jpa.refactoring/manifest.mf | 2 +-
j2ee.jpa.refactoring/nbproject/project.xml | 39 +
j2ee.jpa.verification/manifest.mf | 2 +-
j2ee.jpa.verification/nbproject/project.properties | 37 +
j2ee.jpa.verification/nbproject/project.xml | 39 +
.../j2ee/jpa/verification/resources/layer.xml | 39 +
j2ee.kit/build.xml | 39 +
j2ee.kit/manifest.mf | 2 +-
j2ee.kit/nbproject/project.xml | 39 +
j2ee.kit/register_server.xml | 39 +
.../netbeans/modules/j2ee/kit/Bundle.properties | 37 +
.../src/org/netbeans/test/j2ee/Bundle.properties | 37 +
.../src/org/netbeans/test/j2ee/J2EESuite.java | 2 +-
.../netbeans/test/j2ee/hints/EntityRelations.java | 4 +-
.../src/org/netbeans/test/j2ee/lib/Ejb.java | 4 +-
j2ee.metadata.model.support/build.xml | 39 +
j2ee.metadata.model.support/manifest.mf | 2 +-
j2ee.metadata.model.support/nbproject/project.xml | 39 +
.../model/support/resources/Bundle.properties | 37 +
j2ee.metadata/arch.xml | 2 +-
j2ee.metadata/build.xml | 39 +
j2ee.metadata/manifest.mf | 2 +-
.../org-netbeans-modules-j2ee-metadata.sig | 2 +-
j2ee.metadata/nbproject/project.xml | 39 +
.../modules/j2ee/metadata/Bundle.properties | 37 +
j2ee.persistence.kit/build.xml | 39 +
j2ee.persistence.kit/manifest.mf | 2 +-
j2ee.persistence.kit/nbproject/project.properties | 37 +
j2ee.persistence.kit/nbproject/project.xml | 39 +
.../modules/j2ee/persistence/kit/Bundle.properties | 37 +
j2ee.persistence/nbproject/project.properties | 2 +-
j2ee.persistence/nbproject/project.xml | 9 +
.../j2ee/persistence/action/Bundle.properties | 37 +
.../j2ee/persistence/dd/resources/orm_1_0.mdd | 43 +-
.../j2ee/persistence/dd/resources/orm_1_0.xsd | 10 +-
.../j2ee/persistence/dd/resources/orm_2_0.mdd | 43 +-
.../j2ee/persistence/dd/resources/orm_2_1.mdd | 43 +-
.../persistence/dd/resources/persistence_1_0.mdd | 39 +
.../persistence/dd/resources/persistence_1_0.xsd | 6 +-
.../persistence/dd/resources/persistence_2_0.mdd | 39 +
.../persistence/dd/resources/persistence_2_1.mdd | 39 +
.../persistence/editor/hyperlink/Bundle.properties | 37 +
.../persistence/jpqleditor/ui/Bundle.properties | 1 -
.../jpqleditor/ui/JPQLEditorTopComponent.java | 140 +-
.../persistence/jpqleditor/ui/ReflectionInfo.java | 190 +
.../jpqleditor/ui/ReflectiveTableModel.java | 139 +
.../jpqleditor/ui/ResultTableCellRenderer.java | 61 +
.../spi/entitymanagergenerator/Bundle.properties | 37 +
.../j2ee/persistence/ui/resources/DBScript.html | 16 +-
.../persistence/ui/resources/EntityDatabase.html | 16 +-
.../j2ee/persistence/ui/resources/EntityEJB.html | 16 +-
.../persistence/ui/resources/JpaController.html | 16 +-
.../j2ee/persistence/ui/resources/PUResolver.xml | 41 +-
.../persistence/ui/resources/PersistenceUnit.html | 16 +-
.../j2ee/persistence/ui/resources/layer.xml | 1 -
.../ui/resources/persistence_ORM-1.0.xml | 7 -
.../j2ee/persistence/unit/Bundle.properties | 37 +
.../persistence/wizard/dbscript/Bundle.properties | 37 +
.../persistence/wizard/entity/Bundle.properties | 37 +
.../jpacontroller/JpaControllerGenerator.java | 8 +-
.../action/AppMgdResTxInjWebTest/testGenerate.pass | 1 +
.../AppMgdResTxNonInjEJBTest/testGenerate.pass | 1 +
.../AppMgdResTxNonInjWebTest/testGenerate.pass | 1 +
.../testGenerate.pass | 1 +
.../testGenerateWithExistingEM.pass | 1 +
.../testGenerate.pass | 1 +
.../testGenerateWithExistingEM.pass | 1 +
.../testGenerateEntityFieldAccess.pass | 1 +
.../testGenerateEntityPropertyAccess.pass | 1 +
.../fromdb/JPAGenTest/testGenEntity/User.pass | 1 +
.../JPAGenTest/testGenFromSample/Customer.pass | 1 +
.../testGenRelFromSample/Manufacturer.pass | 1 +
.../JPAGenTest/testGenRelFromSample/Product.pass | 1 +
.../testGenRelFromSample/ProductCode.pass | 1 +
.../JPAGenTest/testGenUnrelated/Product.pass | 1 +
.../fromdb/JPAGenTest/testGenUnrelated/User.pass | 1 +
.../jpqleditor/ui/ReflectionInfoTest.java | 215 +
j2ee.persistenceapi/build.xml | 39 +
j2ee.persistenceapi/nbproject/project.properties | 2 +-
j2ee.persistenceapi/nbproject/project.xml | 39 +
.../persistenceapi/resources/Bundle.properties | 37 +
.../external/binaries-list | 0
j2ee.platform/manifest.mf | 2 +-
j2ee.samples/build.xml | 43 +-
j2ee.samples/manifest.mf | 2 +-
j2ee.samples/nbproject/project.properties | 37 +
j2ee.samples/nbproject/project.xml | 61 +-
.../AnnotOvdInterceptor-app-client/build.xml | 45 +-
.../nbproject/project.properties | 41 +-
.../nbproject/project.xml | 39 +
.../AnnotOvdInterceptor-ejb/build.xml | 51 +-
.../nbproject/project.properties | 41 +-
.../AnnotOvdInterceptor-ejb/nbproject/project.xml | 41 +-
.../samples_src/AnnotOvdInterceptor/build.xml | 53 +-
.../nbproject/project.properties | 41 +-
.../AnnotOvdInterceptor/nbproject/project.xml | 39 +
.../build.xml | 43 +-
.../nbproject/ant-deploy.xml | 41 +-
.../nbproject/project.properties | 37 +
.../nbproject/project.xml | 39 +
.../ApplicationScopedResources-ejb/build.xml | 41 +-
.../nbproject/ant-deploy.xml | 41 +-
.../nbproject/project.properties | 37 +
.../nbproject/project.xml | 39 +
.../ApplicationScopedResources/build.xml | 43 +-
.../nbproject/ant-deploy.xml | 41 +-
.../nbproject/project.properties | 37 +
.../nbproject/project.xml | 39 +
j2ee.samples/samples_src/AsyncRequest/build.xml | 45 +-
.../AsyncRequest/nbproject/project.properties | 37 +
.../samples_src/AsyncRequest/nbproject/project.xml | 39 +
.../DukeStateful/DukeStateful-app-client/build.xml | 45 +-
.../nbproject/project.properties | 37 +
.../DukeStateful-app-client/nbproject/project.xml | 39 +
.../DukeStateful/DukeStateful-ejb/build.xml | 53 +-
.../DukeStateful-ejb/nbproject/project.properties | 37 +
.../DukeStateful-ejb/nbproject/project.xml | 39 +
j2ee.samples/samples_src/DukeStateful/build.xml | 53 +-
.../DukeStateful/nbproject/project.properties | 37 +
.../samples_src/DukeStateful/nbproject/project.xml | 39 +
.../InterceptorStateless-app-client/build.xml | 45 +-
.../nbproject/project.properties | 41 +-
.../nbproject/project.xml | 39 +
.../InterceptorStateless-ejb/build.xml | 53 +-
.../nbproject/project.properties | 41 +-
.../InterceptorStateless-ejb/nbproject/project.xml | 39 +
.../samples_src/InterceptorStateless/build.xml | 53 +-
.../nbproject/project.properties | 41 +-
.../InterceptorStateless/nbproject/project.xml | 39 +
j2ee.samples/samples_src/JsfJpa/build.xml | 53 +-
.../JsfJpa/nbproject/project.properties | 37 +
.../samples_src/JsfJpa/nbproject/project.xml | 39 +
j2ee.samples/samples_src/JsfJpaCrud/build.xml | 53 +-
.../JsfJpaCrud/nbproject/project.properties | 37 +
.../samples_src/JsfJpaCrud/nbproject/project.xml | 39 +
.../samples_src/JsfJpaCrud/web/WEB-INF/web.xml | 39 +
.../samples_src/JsfJpaCrud/web/jsfcrud.css | 29 +
.../LotteryAnnotation-app-client/build.xml | 45 +-
.../nbproject/project.properties | 41 +-
.../nbproject/project.xml | 39 +
.../LotteryAnnotation-ejb/build.xml | 53 +-
.../nbproject/project.properties | 41 +-
.../LotteryAnnotation-ejb/nbproject/project.xml | 39 +
.../LotteryAnnotation-war/build.xml | 53 +-
.../nbproject/project.properties | 41 +-
.../LotteryAnnotation-war/nbproject/project.xml | 39 +
.../src/java/LocalStrings.properties | 39 +-
.../LotteryAnnotation-war/web/WEB-INF/web.xml | 39 +
.../LotteryAnnotation-war/web/index.html | 2 +-
.../samples_src/LotteryAnnotation/build.xml | 53 +-
.../LotteryAnnotation/nbproject/project.properties | 41 +-
.../LotteryAnnotation/nbproject/project.xml | 39 +
j2ee.samples/samples_src/PetCatalog/build.xml | 45 +-
.../PetCatalog/nbproject/project.properties | 37 +
.../samples_src/PetCatalog/nbproject/project.xml | 39 +
.../PetCatalog/setup/glassfish-resources.xml | 39 +
.../PetCatalog/src/conf/persistence.xml | 39 +
.../PetCatalog/src/java/web/messages.properties | 39 +-
j2ee.samples/samples_src/PetCatalog/web/index.html | 70 +-
.../PetCatalog/web/resources/css/styles.css | 56 +-
j2ee.samples/samples_src/ScrumToys/build.xml | 45 +-
.../ScrumToys/nbproject/project.properties | 37 +
.../samples_src/ScrumToys/nbproject/project.xml | 39 +
.../ScrumToys/src/java/META-INF/persistence.xml | 39 +
.../src/java/ValidationMessages.properties | 37 +
.../src/java/ValidationMessages_pt_BR.properties | 37 +
.../samples_src/ScrumToys/src/java/i18n.properties | 37 +
.../ScrumToys/src/java/i18n_en_US.properties | 37 +
.../ScrumToys/src/java/i18n_pt_BR.properties | 37 +
.../samples_src/ScrumToys/web/WEB-INF/sun-web.xml | 2 +-
.../samples_src/ScrumToys/web/footer.xhtml | 2 +-
j2ee.samples/samples_src/ScrumToys/web/home.xhtml | 4 +-
j2ee.samples/samples_src/ScrumToys/web/index.html | 62 +-
.../samples_src/ServletStateless/build.xml | 53 +-
.../ServletStateless/nbproject/project.properties | 37 +
.../ServletStateless/nbproject/project.xml | 39 +
j2ee.samples/samples_src/WebJpa/build.xml | 53 +-
.../WebJpa/nbproject/project.properties | 37 +
.../samples_src/WebJpa/nbproject/project.xml | 39 +
.../j2ee/samples/JavaEESamplesWizardIterator.java | 7 +-
.../j2ee/samples/SampleProjectGenerator.java | 245 +
.../AnnotationOverrideInterceptor.html | 39 +
.../descriptions/ApplicationScopedResources.html | 39 +
.../j2ee/samples/descriptions/AsyncRequest.html | 41 +-
.../j2ee/samples/descriptions/CustomerCMP.html | 43 +-
.../j2ee/samples/descriptions/EjbContainer.html | 39 +
.../samples/descriptions/EmbeddedGlassfish.html | 41 +-
.../j2ee/samples/descriptions/HelloJAXWS.html | 39 +
.../samples/descriptions/InterceptorStateless.html | 39 +
.../modules/j2ee/samples/descriptions/JsfJpa.html | 39 +
.../j2ee/samples/descriptions/JsfJpaCrud.html | 39 +
.../samples/descriptions/LotteryAnnotation.html | 41 +-
.../j2ee/samples/descriptions/PetCatalog.html | 39 +
.../j2ee/samples/descriptions/ScrumToys.html | 39 +
.../samples/descriptions/ServletStateless.html | 39 +
.../j2ee/samples/descriptions/SimpleJAXB.html | 41 +-
.../modules/j2ee/samples/descriptions/WebJpa.html | 41 +-
.../org/netbeans/modules/j2ee/samples/layer.xml | 39 +
j2ee.sun.appsrv/nbproject/project.properties | 2 +-
.../wizards/ConnectionPoolWizardInfo.html | 16 +-
.../sunresources/wizards/DataSourceWizardInfo.html | 16 +-
.../sunresources/wizards/JavaMailWizardInfo.html | 16 +-
.../wizards/JavaMessageWizardInfo.html | 16 +-
.../wizards/PersistenceWizardInfo.html | 16 +-
.../sunresources/wizards/WizardInformation.html | 16 +-
.../modules/j2ee/sun/sunresources/beans/wizard.mdd | 39 +
j2ee.sun.dd/nbproject/project.properties | 2 +-
.../j2ee/sun/dd/impl/resources/common_elements.mdd | 39 +
.../dd/impl/resources/common_elements_2_1-1.mdd | 39 +
.../dd/impl/resources/common_elements_3_0-0.mdd | 39 +
.../glassfish-application-client_6_0-1.dtd | 11 +-
.../glassfish-application-client_6_0-1.mdd | 39 +
.../impl/resources/glassfish-application_6_0-1.dtd | 11 +-
.../impl/resources/glassfish-application_6_0-1.mdd | 39 +
.../dd/impl/resources/glassfish-ejb-jar_3_1-1.mdd | 39 +
.../dd/impl/resources/glassfish-resources_1_5.mdd | 39 +
.../dd/impl/resources/glassfish-web-app_3_0-1.dtd | 11 +-
.../dd/impl/resources/glassfish-web-app_3_0-1.mdd | 39 +
.../resources/sun-application-client_1_3-0.mdd | 39 +
.../resources/sun-application-client_1_4-0.mdd | 39 +
.../resources/sun-application-client_1_4-1.mdd | 39 +
.../resources/sun-application-client_5_0-0.mdd | 39 +
.../resources/sun-application-client_6_0-0.mdd | 39 +
.../dd/impl/resources/sun-application_1_3-0.mdd | 39 +
.../dd/impl/resources/sun-application_1_4-0.mdd | 39 +
.../dd/impl/resources/sun-application_5_0-0.mdd | 39 +
.../dd/impl/resources/sun-application_6_0-0.mdd | 39 +
.../sun/dd/impl/resources/sun-cmp-mapping_1_0.mdd | 39 +
.../sun/dd/impl/resources/sun-cmp-mapping_1_1.mdd | 39 +
.../sun/dd/impl/resources/sun-cmp-mapping_1_2.mdd | 39 +
.../sun/dd/impl/resources/sun-ejb-jar_2_0-0.mdd | 39 +
.../sun/dd/impl/resources/sun-ejb-jar_2_1-0.mdd | 39 +
.../sun/dd/impl/resources/sun-ejb-jar_2_1-1.mdd | 39 +
.../sun/dd/impl/resources/sun-ejb-jar_3_0-0.mdd | 39 +
.../sun/dd/impl/resources/sun-ejb-jar_3_0-1.mdd | 39 +
.../sun/dd/impl/resources/sun-ejb-jar_3_1-0.mdd | 39 +
.../j2ee/sun/dd/impl/resources/sun-resources.mdd | 39 +
.../sun/dd/impl/resources/sun-resources_1_2.dtd | 31 +-
.../sun/dd/impl/resources/sun-resources_1_3.dtd | 11 +-
.../sun/dd/impl/resources/sun-resources_1_4.dtd | 11 +-
.../sun/dd/impl/resources/sun-web-app_2_3-0.mdd | 39 +
.../sun/dd/impl/resources/sun-web-app_2_4-0.mdd | 39 +
.../sun/dd/impl/resources/sun-web-app_2_4-1.mdd | 39 +
.../sun/dd/impl/resources/sun-web-app_2_5-0.mdd | 39 +
.../sun/dd/impl/resources/sun-web-app_3_0-0.mdd | 39 +
.../src/org/netbeans/modules/j2ee/sun/dd/layer.xml | 39 +
.../sun/validation/samples/simple/beans/simple.mdd | 39 +
j2ee.sun.ddui/nbproject/project.properties | 2 +-
.../ddloaders/multiview/tables/Bundle.properties | 37 +
.../j2ee/sun/share/configbean/templates/sunDD.html | 39 +
.../org/netbeans/modules/j2ee/sun/share/layer.xml | 41 +-
.../validation/constraints/data/constraints.mdd | 39 +
.../j2ee/sun/validation/data/validation.mdd | 39 +
j2ee.weblogic9/nbproject/project.properties | 2 +-
.../netbeans/modules/j2ee/weblogic9/URLWait.java | 16 +-
.../modules/j2ee/weblogic9/WLPluginProperties.java | 1 +
.../j2ee/weblogic9/config/Bundle.properties | 6 +-
.../j2ee/weblogic9/config/WLDatasourceManager.java | 4 +-
.../config/WLMessageDestinationDeployment.java | 4 +-
.../weblogic9/config/WLServerLibraryManager.java | 4 +-
.../config/WarDeploymentConfiguration.java | 30 +-
.../j2ee/weblogic9/deploy/Bundle.properties | 3 +
.../weblogic9/deploy/CommandBasedDeployer.java | 412 +-
.../j2ee/weblogic9/deploy/WLDeploymentManager.java | 230 +-
.../weblogic9/deploy/WLIncrementalDeployment.java | 8 +-
.../j2ee/weblogic9/deploy/WLTargetModuleID.java | 42 +-
.../j2ee/weblogic9/optional/WLStartServer.java | 9 +-
.../j2ee/weblogic9/resources/ejb-jar_3_0.xsd | 2 +-
.../j2ee/weblogic9/resources/ejb-jar_3_1.xsd | 35 +-
.../modules/j2ee/weblogic9/resources/javaee_5.xsd | 2 +-
.../modules/j2ee/weblogic9/resources/javaee_6.xsd | 31 +-
.../resources/javaee_web_services_client_1_2.xsd | 2 +-
.../resources/javaee_web_services_client_1_3.xsd | 31 +-
.../modules/j2ee/weblogic9/resources/jsp_2_1.xsd | 7 +-
.../modules/j2ee/weblogic9/resources/layer.xml | 12 +-
.../j2ee/weblogic9/resources/netbeans-jersey.xml | 39 +
.../j2ee/weblogic9/resources/web-app_2_5.xsd | 7 +-
.../resources/weblogic-application_10_3_0.mdd | 39 +
.../resources/weblogic-application_10_3_1.mdd | 39 +
.../resources/weblogic-application_12_1_1.mdd | 39 +
.../resources/weblogic-application_12_2_1.mdd | 39 +
.../resources/weblogic-application_9_0.mdd | 39 +
.../resources/weblogic-ejb-jar_10_3_0.mdd | 39 +
.../resources/weblogic-ejb-jar_10_3_1.mdd | 39 +
.../resources/weblogic-ejb-jar_12_1_1.mdd | 39 +
.../resources/weblogic-ejb-jar_12_2_1.mdd | 39 +
.../weblogic9/resources/weblogic-ejb-jar_9_0.mdd | 39 +
.../weblogic9/resources/weblogic-jms_10_3_1.mdd | 39 +
.../weblogic9/resources/weblogic-jms_12_1_1.mdd | 39 +
.../resources/weblogic-web-app_10_3_0.mdd | 39 +
.../resources/weblogic-web-app_10_3_1.mdd | 39 +
.../resources/weblogic-web-app_12_1_1.mdd | 39 +
.../resources/weblogic-web-app_12_2_1.mdd | 39 +
.../weblogic9/resources/weblogic-web-app_9_0.mdd | 39 +
.../weblogic9/ui/nodes/WLModuleChildFactory.java | 19 +-
.../j2ee/weblogic9/ui/nodes/WLModuleNode.java | 16 +-
.../j2eeapis => j2eeapis}/external/binaries-list | 0
j2eeapis/manifest.mf | 2 +-
.../plugins/api/doc-files/plugin-layer-file.html | 39 +
.../j2ee/deployment/plugins/api/package.html | 77 +-
.../j2ee/deployment/plugins/spi/package.html | 75 +-
j2eeserver/api/doc/overview.html | 75 +-
j2eeserver/nbproject/project.properties | 2 +-
.../modules/j2ee/deployment/impl/Bundle.properties | 2 +-
.../j2ee/deployment/impl/ServerInstance.java | 11 +-
.../modules/j2ee/deployment/impl/TargetModule.java | 22 +-
.../modules/j2ee/deployment/impl/TargetServer.java | 2 +-
.../deployment/impl/projects/DeploymentTarget.java | 22 +-
.../impl/resources/default-ant-deploy.xml | 39 +
.../deployment/impl/ui/actions/Bundle.properties | 6 -
.../deployment/plugins/spi/WebTargetModuleID.java | 58 +
j2me.common.ant/build.xml | 39 +
j2me.common.ant/manifest.mf | 2 +-
j2me.common.ant/nbproject/project.properties | 37 +
j2me.common.ant/nbproject/project.xml | 41 +-
.../modules/j2me/common/ant/Bundle.properties | 37 +
.../modules/j2me/common/ant/j2me-common-ant.xml | 2 +-
.../org/netbeans/modules/j2me/common/ant/layer.xml | 39 +
j2me.keystore/build.xml | 41 +-
j2me.keystore/manifest.mf | 2 +-
j2me.keystore/nbproject/project.properties | 37 +
j2me.keystore/nbproject/project.xml | 39 +
.../modules/j2me/keystore/Bundle.properties | 37 +
.../keystore/resources/KeyStoreRepository.settings | 2 +-
.../modules/j2me/keystore/resources/layer.xml | 39 +
j2me.kit/build.xml | 39 +
j2me.kit/manifest.mf | 2 +-
j2me.kit/nbproject/project.properties | 37 +
j2me.kit/nbproject/project.xml | 39 +
j2me.kit/release/VERSION.txt | 2 +-
.../netbeans/modules/j2me/kit/Bundle.properties | 37 +
j2me.project/build.xml | 39 +
j2me.project/manifest.mf | 2 +-
j2me.project/nbproject/project.properties | 37 +
j2me.project/nbproject/project.xml | 39 +
.../modules/j2me/project/Bundle.properties | 37 +
.../modules/j2me/project/resources/build-impl.xsl | 42 +-
.../project/ui/customizer/AddPermissionPanel.java | 39 +
.../j2me/project/ui/customizer/Bundle.properties | 37 +
.../project/ui/customizer/PermissionsProvider.java | 39 +
.../j2me/project/ui/resources/emptyProject.html | 16 +-
java.api.common/apichanges.xml | 31 +
java.api.common/manifest.mf | 2 +-
java.api.common/nbproject/project.properties | 39 +-
java.api.common/nbproject/project.xml | 70 +-
.../modules/java/api/common/SourceRoots.java | 15 +-
.../classpath/BootClassPathImplementation.java | 35 +-
.../common/classpath/ClassPathProviderImpl.java | 22 +-
.../common/classpath/ClassPathSupportFactory.java | 13 +-
.../api/common/project/BaseActionProvider.java | 27 +-
.../api/common/project/ProjectConfigurations.java | 41 +-
.../java/api/common/project/ProjectHooks.java | 3 +-
.../java/api/common/project/ui/PlatformNode.java | 6 +-
.../project/ui/customizer/vmo/Bundle.properties | 37 +
.../project/ui/customizer/vmo/gen/CommandLine.g | 39 +
.../ui/customizer/vmo/gen/CommandLineParser.java | 4 +-
.../java/api/common/resources/Bundle.properties | 37 +
.../modules/java/api/common/ui/Bundle.properties | 2 +
.../java/api/common/ui/PlatformUiSupport.java | 178 +-
java.completion/build.xml | 39 +
java.completion/nbproject/project.properties | 39 +-
java.completion/nbproject/project.xml | 41 +-
.../netbeans/modules/java/completion/BaseTask.java | 88 +-
.../modules/java/completion/Bundle.properties | 37 +
.../java/completion/JavaCompletionTask.java | 148 +-
.../1.7/OverrideAbstractListAbstract.pass | 161 +
.../1.8/OverrideAbstractListAbstract.pass | 168 +
...Exception1.pass => OverrideTypedException.pass} | 0
.../1.8/OverrideTypedException2.pass | 1 -
.../JavaCompletionTaskTest/1.8/autoCloseables.pass | 8 +
.../1.8/autoCloseablesStartingWithF.pass | 1 +
.../1.8/finalAndAutoCloseables.pass | 9 +
.../completion/JavaCompletionTaskTest/1.8/i.pass | 1 -
...erModifiersAndTypesWithoutDefaultAndStatic.pass | 126 -
.../1.8/javaLangContent.pass | 104 -
.../JavaCompletionTaskTest/1.8/resourceInit.pass | 133 +
.../JavaCompletionTaskTest/1.8/resourceNames.pass | 3 +
.../1.8/resourcesAndAutoCloseables.pass | 10 +
.../data/OverrideAbstractListAbstract.java | 9 +
.../modules/java/completion/data/SimpleTWR.java | 15 +
.../java/completion/data/SimpleTWRNoRes.java | 12 +
.../java/completion/data/SimpleTWRStart.java | 9 +
.../netbeans/modules/java/completion/data/TWR.java | 14 +
.../modules/java/completion/data/TWRNoRes.java | 12 +
.../modules/java/completion/data/TWRStart.java | 8 +
.../java/completion/CompletionTestBase.java | 16 +-
.../JavaCompletionTask15FeaturesTest.java | 6 +-
.../JavaCompletionTask17FeaturesTest.java | 147 +
.../JavaCompletionTask18FeaturesTest.java | 6 +-
.../JavaCompletionTask19FeaturesTest.java | 111 +
.../completion/JavaCompletionTaskAdvancedTest.java | 6 +-
.../JavaCompletionTaskElementCreatingTest.java | 11 +-
java.debug/nbproject/project.properties | 2 +-
java.debug/nbproject/project.xml | 39 +
.../java/debug/SourceForBinaryQueryImpl.java | 34 +-
.../org/netbeans/modules/java/debug/TreeNode.java | 23 +-
java.editor.base/build.xml | 39 +
java.editor.base/nbproject/project.properties | 39 +-
java.editor.base/nbproject/project.xml | 39 +
.../modules/java/editor/base/Bundle.properties | 37 +
.../editor/base/fold/JavaElementFoldVisitor.java | 58 +-
.../semantic/MarkOccurrencesHighlighterBase.java | 4 +-
.../base/semantic/SemanticHighlighterBase.java | 21 +-
java.editor.lib/manifest.mf | 2 +-
java.editor/manifest.mf | 2 +-
java.editor/nbproject/project.properties | 2 +-
java.editor/nbproject/project.xml | 10 +-
.../modules/editor/java/CamelCaseOperations.java | 16 +-
.../netbeans/modules/editor/java/GoToSupport.java | 25 +-
.../editor/java/JavaCodeTemplateFilter.java | 22 +-
.../modules/editor/java/JavaCompletionItem.java | 310 +-
.../editor/java/JavaCompletionItemFactory.java | 8 +-
.../java/editor/codegen/GeneratorUtils.java | 172 +-
.../codegen/ImplementOverrideMethodGenerator.java | 154 +-
.../java/editor/codegen/ui/CheckTreeView.java | 4 +-
.../java/editor/codegen/ui/ElementNode.java | 16 +
.../editor/codegen/ui/ElementSelectorPanel.java | 115 +-
.../editor/codegen/ui/ImplementOverridePanel.form | 4 +-
.../editor/codegen/ui/ImplementOverridePanel.java | 2 +-
.../modules/java/editor/fold/MessagePattern.java | 42 -
.../editor/hyperlink/JavaHyperlinkProvider.java | 2 +-
.../java/editor/imports/ClipboardHandler.java | 45 +-
.../java/editor/resources/DefaultAbbrevs.xml | 2 +-
.../editor/resources/DefaultKeyBindings-Mac.xml | 3 -
.../java/editor/resources/DefaultKeyBindings.xml | 3 -
.../java/editor/resources/DefaultMacros.xml | 39 +
.../java/editor/resources/JavaOptions.settings | 39 +
.../modules/java/editor/semantic/Bundle.properties | 4 +-
.../editor/semantic/GoToMarkOccurrencesAction.java | 17 +-
.../projects/Formatting/nbproject/build-impl.xml | 2 +-
.../{ => 1.7}/testGenerate129140.pass | 0
.../{ => 1.7}/testGenerate133625a.pass | 0
.../{ => 1.7}/testGenerate133625b.pass | 0
.../{ => 1.7}/testGenerate133625c.pass | 0
.../{ => 1.7}/testGenerate133625d.pass | 0
.../{ => 1.7}/testMethodProposals1.pass | 0
.../{ => 1.7}/testMethodProposals2.pass | 0
.../{ => 1.7}/testMethodProposals3.pass | 0
.../{ => 1.8}/testGenerate129140.pass | 0
.../{ => 1.8}/testGenerate133625a.pass | 0
.../{ => 1.8}/testGenerate133625b.pass | 0
.../{ => 1.8}/testGenerate133625c.pass | 0
.../{ => 1.8}/testGenerate133625d.pass | 0
.../{ => 1.8}/testMethodProposals1.pass | 0
.../1.8/testMethodProposals2.pass | 32 +
.../1.8/testMethodProposals3.pass | 69 +
.../{ => 1.7}/test102613-filtered.pass | 0
.../{ => 1.7}/test102613-unfiltered.pass | 0
.../{ => 1.7}/test202604-filtered.pass | 0
.../{ => 1.7}/test202604-unfiltered.pass | 0
.../{ => 1.7}/test232647-filtered.pass | 0
.../{ => 1.7}/test232647-unfiltered.pass | 0
.../{ => 1.7}/test90743-filtered.pass | 0
.../{ => 1.7}/test90743-unfiltered.pass | 0
.../{ => 1.7}/test97420-filtered.pass | 0
.../{ => 1.7}/test97420-unfiltered.pass | 0
.../{ => 1.7}/testAnnotation-filtered.pass | 0
.../{ => 1.7}/testAnnotation-unfiltered.pass | 0
.../{ => 1.7}/testAnnotation2-filtered.pass | 0
.../{ => 1.7}/testAnnotation2-unfiltered.pass | 0
.../testBrokenLambdaParameter-filtered.pass | 0
.../testBrokenLambdaParameter-unfiltered.pass | 0
.../{ => 1.7}/testEmptyCatch-filtered.pass | 0
.../{ => 1.7}/testEmptyCatch-unfiltered.pass | 0
.../{ => 1.7}/testException-filtered.pass | 0
.../{ => 1.7}/testException-unfiltered.pass | 0
.../{ => 1.7}/testFilterByKind-filtered.pass | 0
.../{ => 1.7}/testFilterByKind-unfiltered.pass | 0
.../{ => 1.7}/testFilterDeclaration-filtered.pass | 0
.../testFilterDeclaration-unfiltered.pass | 0
.../testFilterTypedInitializator-filtered.pass | 0
.../testFilterTypedInitializator-unfiltered.pass | 0
.../{ => 1.7}/testFilterWithMethods-filtered.pass | 0
.../testFilterWithMethods-unfiltered.pass | 0
.../{ => 1.7}/testGetCookie-filtered.pass | 0
.../{ => 1.7}/testGetCookie-unfiltered.pass | 0
.../{ => 1.7}/testNew-filtered.pass | 0
.../{ => 1.7}/testNew-unfiltered.pass | 0
.../testPackageDoesNotExist-filtered.pass | 0
.../testPackageDoesNotExist-unfiltered.pass | 0
.../{ => 1.7}/testSimple-filtered.pass | 0
.../{ => 1.7}/testSimple-unfiltered.pass | 0
.../{ => 1.7}/testStaticImports1-filtered.pass | 0
.../{ => 1.7}/testStaticImports1-unfiltered.pass | 0
.../testStaticImports233117-filtered.pass | 0
.../testStaticImports233117-unfiltered.pass | 0
.../testStaticImportsArrays1-filtered.pass | 0
.../testStaticImportsArrays1-unfiltered.pass | 0
.../testStaticImportsArrays2-filtered.pass | 0
.../testStaticImportsArrays2-unfiltered.pass | 0
.../testStaticImportsArrays3-filtered.pass | 0
.../testStaticImportsArrays3-unfiltered.pass | 0
.../{ => 1.7}/testUnfinishedMethod-filtered.pass | 0
.../{ => 1.7}/testUnfinishedMethod-unfiltered.pass | 0
.../{ => 1.7}/testUnfinishedMethod2-filtered.pass | 0
.../testUnfinishedMethod2-unfiltered.pass | 0
.../testUnsupportedOperation1-filtered.pass | 0
.../testUnsupportedOperation1-unfiltered.pass | 0
.../{ => 1.8}/test102613-filtered.pass | 0
.../{ => 1.8}/test102613-unfiltered.pass | 0
.../{ => 1.8}/test202604-filtered.pass | 0
.../{ => 1.8}/test202604-unfiltered.pass | 0
.../{ => 1.8}/test232647-filtered.pass | 0
.../{ => 1.8}/test232647-unfiltered.pass | 0
.../{ => 1.8}/test90743-filtered.pass | 0
.../{ => 1.8}/test90743-unfiltered.pass | 0
.../{ => 1.8}/test97420-filtered.pass | 0
.../{ => 1.8}/test97420-unfiltered.pass | 0
.../{ => 1.8}/testAnnotation-filtered.pass | 0
.../{ => 1.8}/testAnnotation-unfiltered.pass | 0
.../{ => 1.8}/testAnnotation2-filtered.pass | 0
.../{ => 1.8}/testAnnotation2-unfiltered.pass | 0
.../testBrokenLambdaParameter-filtered.pass | 0
.../testBrokenLambdaParameter-unfiltered.pass | 0
.../1.8/testEmptyCatch-filtered.pass | 0
.../1.8/testEmptyCatch-unfiltered.pass | 0
.../{ => 1.8}/testException-filtered.pass | 0
.../{ => 1.8}/testException-unfiltered.pass | 0
.../{ => 1.8}/testFilterByKind-filtered.pass | 0
.../{ => 1.8}/testFilterByKind-unfiltered.pass | 0
.../{ => 1.8}/testFilterDeclaration-filtered.pass | 0
.../testFilterDeclaration-unfiltered.pass | 0
.../testFilterTypedInitializator-filtered.pass | 0
.../testFilterTypedInitializator-unfiltered.pass | 0
.../{ => 1.8}/testFilterWithMethods-filtered.pass | 0
.../testFilterWithMethods-unfiltered.pass | 0
.../{ => 1.8}/testGetCookie-filtered.pass | 0
.../{ => 1.8}/testGetCookie-unfiltered.pass | 0
.../{ => 1.8}/testNew-filtered.pass | 0
.../{ => 1.8}/testNew-unfiltered.pass | 0
.../testPackageDoesNotExist-filtered.pass | 0
.../testPackageDoesNotExist-unfiltered.pass | 0
.../{ => 1.8}/testSimple-filtered.pass | 0
.../{ => 1.8}/testSimple-unfiltered.pass | 0
.../1.8/testStaticImports1-filtered.pass | 1 +
.../1.8/testStaticImports1-unfiltered.pass | 1 +
.../testStaticImports233117-filtered.pass | 0
.../testStaticImports233117-unfiltered.pass | 0
.../testStaticImportsArrays1-filtered.pass | 0
.../testStaticImportsArrays1-unfiltered.pass | 0
.../testStaticImportsArrays2-filtered.pass | 0
.../testStaticImportsArrays2-unfiltered.pass | 0
.../testStaticImportsArrays3-filtered.pass | 0
.../testStaticImportsArrays3-unfiltered.pass | 0
.../{ => 1.8}/testUnfinishedMethod-filtered.pass | 0
.../{ => 1.8}/testUnfinishedMethod-unfiltered.pass | 0
.../{ => 1.8}/testUnfinishedMethod2-filtered.pass | 0
.../testUnfinishedMethod2-unfiltered.pass | 0
.../testUnsupportedOperation1-filtered.pass | 0
.../testUnsupportedOperation1-unfiltered.pass | 0
.../codegen/DelegateMethodGeneratorTest.java | 6 +-
.../codegen/EqualsHashCodeGeneratorTest.java | 9 +-
.../java/editor/imports/ClipboardHandlerTest.java | 70 +-
.../java/editor/imports/ComputeImportsTest.java | 6 +-
java.examples/ClientEditor/build.xml | 45 +-
.../ClientEditor/nbproject/project.properties | 41 +-
java.examples/ClientEditor/nbproject/project.xml | 39 +
java.examples/GUIFormExamples/build.xml | 45 +-
.../GUIFormExamples/nbproject/project.properties | 41 +-
.../GUIFormExamples/nbproject/project.xml | 39 +
.../anagrams/nbproject/project.properties | 4 +-
java.examples/manifest.mf | 2 +-
.../resources/descriptions/ClientEditor.html | 41 +-
.../resources/descriptions/GUIFormExamples.html | 43 +-
.../examples/resources/descriptions/anagrams.html | 41 +-
.../descriptions/j2seSamplesCategory.html | 39 +
.../modules/java/examples/resources/mf-layer.xml | 39 +
java.freeform/manifest.mf | 2 +-
java.freeform/nbproject/project.xml | 23 +-
.../netbeans/modules/java/freeform/Classpaths.java | 34 +-
.../modules/java/freeform/LookupProviderImpl.java | 5 +-
.../modules/java/freeform/jdkselection/jdk.xsl | 9 +-
.../freeform/resources/freeform-project-java.html | 87 +-
java.guards/manifest.mf | 2 +-
java.hints.declarative.test/arch.xml | 45 +-
java.hints.declarative.test/build.xml | 39 +
.../nbproject/project.properties | 39 +-
java.hints.declarative.test/nbproject/project.xml | 39 +
.../java/hints/declarative/test/Bundle.properties | 37 +
.../test/api/DeclarativeHintsTestBase.java | 9 +-
java.hints.declarative/build.xml | 39 +
.../nbproject/project.properties | 39 +-
java.hints.declarative/nbproject/project.xml | 39 +
.../java/hints/declarative/Bundle.properties | 9 +-
.../hints/declarative/ClassPathProviderImpl.java | 9 +-
.../modules/java/hints/declarative/Condition.java | 9 +-
.../java/hints/declarative/DeclarativeFix.java | 9 +-
.../hints/declarative/DeclarativeHintLexer.java | 9 +-
.../hints/declarative/DeclarativeHintRegistry.java | 61 +-
.../hints/declarative/DeclarativeHintTokenId.java | 9 +-
.../hints/declarative/DeclarativeHintsParser.java | 9 +-
.../hints/declarative/DeclarativeHintsWorker.java | 9 +-
.../hints/declarative/EmbeddingProviderImpl.java | 9 +-
.../modules/java/hints/declarative/Hacks.java | 9 +-
.../java/hints/declarative/HintDataObject.java | 9 +-
.../hints/declarative/MethodInvocationContext.java | 9 +-
.../hints/declarative/PatternConvertorImpl.java | 9 +-
.../modules/java/hints/declarative/Utilities.java | 9 +-
.../hints/declarative/conditionapi/Context.java | 9 +-
.../conditionapi/DefaultRuleUtilities.java | 9 +-
.../hints/declarative/conditionapi/Matcher.java | 9 +-
.../hints/declarative/conditionapi/Variable.java | 9 +-
.../hints/declarative/debugging/Bundle.properties | 9 +-
.../debugging/DebuggingHighlightsLayerFactory.java | 9 +-
.../declarative/debugging/EvaluationSpanTask.java | 9 +-
.../hints/declarative/debugging/HintWrapper.java | 9 +-
.../hints/declarative/idebinding/HintsTask.java | 9 +-
.../idebinding/JavadocForBinaryQueryImpl.java | 9 +-
.../hints/declarative/idebinding/ParserImpl.java | 9 +-
.../hints/declarative/resources/Bundle.properties | 9 +-
.../hints/declarative/resources/HintSample.hint | 39 +
.../hints/declarative/resources/fontsColors.xml | 9 +-
.../java/hints/declarative/resources/layer.xml | 9 +-
.../java/hints/declarative/resources/test.hint | 39 +
.../java/hints/declarative/test/Bundle.properties | 9 +-
.../test/DeclarativeHintsTestDataObject.java | 9 +-
.../declarative/test/EditorTestPerformer.java | 9 +-
.../test/HighlightsLayerFactoryImpl.java | 9 +-
.../java/hints/declarative/test/TestLexer.java | 9 +-
.../hints/declarative/test/TestLocatorImpl.java | 9 +-
.../java/hints/declarative/test/TestParser.java | 9 +-
.../java/hints/declarative/test/TestPerformer.java | 9 +-
.../java/hints/declarative/test/TestTokenId.java | 9 +-
.../java/hints/declarative/CallOutterMethod.hint | 41 +-
.../java/hints/declarative/ChangeFieldType.hint | 39 +
.../hints/declarative/CustomConditionTest.hint | 39 +
.../declarative/DeclarativeHintLexerTest.java | 9 +-
.../declarative/DeclarativeHintsParserTest.java | 9 +-
.../declarative/EmbeddingProviderImplTest.java | 9 +-
.../java/hints/declarative/EnhancedForTest.hint | 42 +-
.../java/hints/declarative/FakeBlockWarning.hint | 39 +
.../java/hints/declarative/ImportsTest1.hint | 39 +
.../java/hints/declarative/ImportsTest2.hint | 39 +
.../java/hints/declarative/LambdaInput.hint | 39 +
.../declarative/MethodInvocationContextTest.java | 9 +-
.../declarative/NameBoundVariablesGetSet.hint | 39 +
.../hints/declarative/NegativeInstanceOfTest.hint | 39 +
.../hints/declarative/PerformDeclarativeTest.java | 9 +-
.../java/hints/declarative/TestParentMatches.hint | 39 +
.../modules/java/hints/declarative/TestUtils.java | 9 +-
.../hints/declarative/annotation-conversion.hint | 39 +
.../declarative/broken-condition-no-exception.hint | 39 +
.../java/hints/declarative/condition-on-fix.hint | 39 +
.../declarative/conditionapi/ContextTest.java | 9 +-
.../declarative/conditionapi/MatcherTest.java | 9 +-
.../declarative/conditionapi/isAvailable.hint | 41 +-
.../declarative/conditionapi/matchWithBind.hint | 39 +
.../debugging/EvaluationSpanTaskTest.java | 9 +-
.../expression-to-expression-statement.hint | 39 +
.../java/hints/declarative/fqn-rewrite-test.hint | 39 +
.../java/hints/declarative/otherwise-test.hint | 39 +
.../java/hints/declarative/remove-from-parent.hint | 39 +
.../java/hints/declarative/test/TestLexerTest.java | 9 +-
.../hints/declarative/test/TestParserTest.java | 9 +-
.../declarative/testfrombundle/Bundle.properties | 37 +
.../testfrombundle/display-names-from-bundle.hint | 39 +
java.hints.legacy.spi/arch.xml | 45 +-
java.hints.legacy.spi/build.xml | 39 +
java.hints.legacy.spi/nbproject/project.properties | 39 +-
java.hints.legacy.spi/nbproject/project.xml | 40 +
.../java/hints/legacy/spi/Bundle.properties | 37 +
.../java/hints/legacy/spi/RulesManager.java | 7 +
java.hints.test/apichanges.xml | 12 +
java.hints.test/arch.xml | 45 +-
java.hints.test/build.xml | 39 +
.../org-netbeans-modules-java-hints-test.sig | 2 +-
java.hints.test/nbproject/project.properties | 39 +-
java.hints.test/nbproject/project.xml | 39 +
.../modules/java/hints/test/Bundle.properties | 37 +
.../modules/java/hints/test/api/HintTest.java | 22 +
java.hints.ui/build.xml | 39 +
java.hints.ui/nbproject/project.properties | 39 +-
java.hints.ui/nbproject/project.xml | 39 +
.../modules/java/hints/onsave/Bundle.properties | 37 +
.../netbeans/modules/java/hints/spiimpl/layer.xml | 39 +
.../java/hints/spiimpl/options/Bundle.properties | 37 +
.../spiimpl/refactoring/ApplyPatternAction.java | 11 +-
.../hints/spiimpl/refactoring/Bundle.properties | 9 +-
.../refactoring/FindDuplicatesRefactoring.java | 9 +-
.../FindDuplicatesRefactoringPlugin.java | 9 +-
.../spiimpl/refactoring/InspectAndRefactorUI.java | 9 +-
.../spiimpl/refactoring/InspectionComboModel.java | 4 +-
.../refactoring/RefactoringPluginFactoryImpl.java | 9 +-
.../modules/java/hints/ui/Bundle.properties | 37 +
java.hints/nbproject/project.properties | 6 +-
java.hints/nbproject/project.xml | 23 +-
.../modules/java/hints/ArithmeticUtilities.java | 18 +-
.../modules/java/hints/AssignResultToVariable.java | 57 +-
.../java/hints/ConvertAnonymousToInner.java | 2 +-
.../java/hints/ExportNonAccessibleElement.java | 2 +-
.../modules/java/hints/InitializerCanBeStatic.java | 13 +
.../java/hints/LeakingThisInConstructor.java | 25 +
.../modules/java/hints/OrganizeImports.java | 21 +-
.../hints/OverridableMethodCallInConstructor.java | 3 +-
.../modules/java/hints/PrintStackTrace.java | 13 +-
.../modules/java/hints/SerialVersionUID.java | 20 +-
.../modules/java/hints/SideEffectVisitor.java | 10 +-
.../modules/java/hints/StandardJavacWarnings.java | 5 +-
.../netbeans/modules/java/hints/StaticImport.java | 24 +-
.../modules/java/hints/StringBuilderAppend.java | 67 +-
.../org/netbeans/modules/java/hints/SystemOut.java | 16 +-
.../modules/java/hints/ThreadDumpStack.java | 13 +-
.../modules/java/hints/WrongPackageSuggestion.java | 16 +-
.../java/hints/bugs/ArrayStringConversions.java | 28 -
.../modules/java/hints/bugs/BroadCatchBlock.java | 4 +-
.../modules/java/hints/bugs/Bundle.properties | 4 +-
.../modules/java/hints/bugs/CloneAndCloneable.java | 15 +
.../netbeans/modules/java/hints/bugs/NPECheck.java | 13 +-
.../modules/java/hints/bugs/SuspiciousToArray.java | 2 +-
.../java/hints/bugs/ThrowableNotThrown.java | 10 +-
.../modules/java/hints/bugs/TryCatchFinally.java | 145 +-
.../modules/java/hints/bugs/Unbalanced.java | 9 +-
.../java/hints/control/RemoveUnnecessary.java | 266 +-
.../modules/java/hints/errors/AddCast.java | 2 +-
.../java/hints/errors/ChangeMethodReturnType.java | 2 +-
.../modules/java/hints/errors/ChangeType.java | 6 +-
.../modules/java/hints/errors/CreateElement.java | 79 +-
.../java/hints/errors/ErrorFixesFakeHint.java | 9 +
.../modules/java/hints/errors/ExtraCatch.java | 35 +-
.../hints/errors/ImplementAllAbstractMethods.java | 671 +-
.../modules/java/hints/errors/ImportClass.java | 51 +-
.../java/hints/errors/ImportClassCustomizer.java | 2 +-
.../java/hints/errors/MissingReturnStatement.java | 6 +-
.../hints/errors/OrigSurroundWithTryCatchFix.java | 29 +-
.../java/hints/errors/OverrideErrorMessage.java | 70 -
.../modules/java/hints/errors/TypeErroneous.java | 4 +-
.../modules/java/hints/errors/Utilities.java | 974 +-
.../java/hints/friendapi/OverrideErrorMessage.java | 72 +
.../java/hints/friendapi/SourceChangeUtils.java | 68 +
.../infrastructure/EmbeddedHintsCollector.java | 167 +
.../hints/infrastructure/ErrorHintsProvider.java | 143 +-
.../modules/java/hints/introduce/Bundle.properties | 2 +
.../modules/java/hints/introduce/ErrorLabel.java | 141 -
.../java/hints/introduce/FieldValidator.java | 179 +
.../modules/java/hints/introduce/Flow.java | 5 +-
.../java/hints/introduce/InstanceRefFinder.java | 7 +-
.../java/hints/introduce/IntroduceConstantFix.java | 13 +-
.../IntroduceExpressionBasedMethodFix.java | 41 +-
.../java/hints/introduce/IntroduceFieldFix.java | 56 +-
.../java/hints/introduce/IntroduceFieldPanel.form | 42 +-
.../java/hints/introduce/IntroduceFieldPanel.java | 170 +-
.../java/hints/introduce/IntroduceHint.java | 99 +-
.../java/hints/introduce/IntroduceMethodFix.java | 110 +-
.../java/hints/introduce/IntroduceMethodPanel.form | 37 +-
.../java/hints/introduce/IntroduceMethodPanel.java | 212 +-
.../java/hints/introduce/IntroduceVariableFix.java | 54 +-
.../java/hints/introduce/MemberSearchResult.java | 126 +
.../java/hints/introduce/MemberValidator.java | 69 +
.../java/hints/introduce/MethodValidator.java | 253 +
.../java/hints/introduce/NameChangeSupport.java | 200 +
.../java/hints/introduce/ReferenceTransformer.java | 148 +
.../java/hints/introduce/TargetDescription.java | 29 +-
.../jackpot/hintsimpl/LoggerStringConcat.java | 56 +-
.../modules/java/hints/jdk/AddUnderscores.java | 5 +-
.../modules/java/hints/jdk/Bundle.properties | 1 +
.../modules/java/hints/jdk/ConvertToARM.java | 275 +-
.../java/hints/jdk/ConvertToDiamondBulkHint.java | 6 +-
.../modules/java/hints/jdk/ConvertToLambda.java | 46 +-
.../java/hints/jdk/ConvertToLambdaConverter.java | 96 +-
.../jdk/ConvertToLambdaPreconditionChecker.java | 116 +-
.../java/hints/jdk/ConvertToStringSwitch.java | 74 +-
.../modules/java/hints/jdk/IteratorToFor.java | 15 +-
.../modules/java/hints/jdk/JoinCatches.java | 100 +-
.../modules/java/hints/jdk/UnnecessaryBoxing.java | 88 +-
.../java/hints/jdk/UnnecessaryUnboxing.java | 52 +-
.../modules/java/hints/jdk/UseSpecificCatch.java | 122 +-
.../jdk/mapreduce/ForLoopToFunctionalHint.java | 10 +-
.../hints/jdk/mapreduce/PreconditionsChecker.java | 25 +-
.../hints/jdk/mapreduce/ProspectiveOperation.java | 14 +-
.../java/hints/jdk/mapreduce/Refactorer.java | 59 +-
.../java/hints/jdk/mapreduce/TreeUtilities.java | 6 +-
.../java/hints/perf/StringBuffer2Builder.java | 7 +-
.../java/hints/resources/default.properties | 37 +
.../java/hints/resources/enabled.properties | 37 +
.../netbeans/modules/java/hints/resources/ide.css | 63 +-
.../modules/java/hints/resources/jdk5.properties | 37 +
.../modules/java/hints/resources/jdk7.properties | 37 +
.../modules/java/hints/resources/jdk8.properties | 37 +
.../modules/java/hints/resources/layer.xml | 4 +-
.../java/hints/suggestions/ConstantNameHint.java | 7 +-
.../java/hints/suggestions/ConvertIfToSwitch.java | 30 +
.../hints/suggestions/ExpandEnhancedForLoop.java | 18 +-
.../hints/suggestions/ExpectedTypeResolver.java | 12 +-
.../java/hints/suggestions/IfToSwitchSupport.java | 103 +-
.../modules/java/hints/suggestions/Ifs.java | 20 +-
.../modules/java/hints/suggestions/Lambda.java | 165 +-
.../java/hints/suggestions/TooStrongCast.java | 67 +-
.../modules/java/hints/threading/Bundle.properties | 2 -
.../modules/java/hints/threading/Tiny.java | 26 -
.../java/hints/threading/UnlockOutsideFinally.java | 226 +
.../modules/java/hints/ui/ClassNameList.java | 16 +-
.../testImplementAbstractMethodsHint1-hints.pass | 3 +-
.../testImplementAbstractMethodsHint1.pass | 20 +-
.../testImplementAbstractMethodsHint11-hints.pass | 2 +-
.../testImplementAbstractMethodsHint2-hints.pass | 2 +-
.../testImplementAbstractMethodsHint2.pass | 1 +
.../testImplementAbstractMethodsHint3-hints.pass | 2 +-
.../testImplementAbstractMethodsHint3.pass | 3 +-
.../testImplementAbstractMethodsHint4-hints.pass | 3 +-
.../testImplementAbstractMethodsHint4.pass | 3 +-
.../testImplementAbstractMethodsHint5-hints.pass | 3 +-
.../testImplementAbstractMethodsHint5.pass | 3 +-
.../testImplementAbstractMethodsHint6-hints.pass | 2 +-
.../testImplementAbstractMethodsHint6.pass | 2 +-
.../testImplementAbstractMethodsHint7-hints.pass | 3 +-
.../testImplementAbstractMethodsHint7.pass | 4 +
.../testImplementAbstractMethodsHint8-hints.pass | 3 +-
.../testImplementAbstractMethodsHint8.pass | 2 +
.../testImplementDefaultMethods1-hints.pass | 2 +
.../testImplementDefaultMethods1.pass | 17 +
.../testImplementDefaultMethods2-hints.pass | 2 +
.../testImplementDefaultMethods2.pass | 21 +
.../testImplementEnumMethods-hints.pass | 1 +
.../ErrorHintsTest/testImplementEnumMethods.pass | 29 +
.../testMakeClassAbstract1-hints.pass | 2 +-
.../testMakeClassAbstract2-hints.pass | 2 +-
.../testMakeClassAbstract3-hints.pass | 2 +-
.../testNonAbstractClass85806-hints.pass | 2 +-
.../ErrorHintsProviderTest/testShortErrors7.pass | 6 +-
.../test/java/hints/ImplementDefaultMethods1.java | 9 +
.../test/java/hints/ImplementDefaultMethods2.java | 9 +
.../test/java/hints/ImplementEnumMethods.java | 14 +
.../editor/codegen/ImplementGeneratorAccessor.java | 59 +
.../java/hints/ArithmeticUtilitiesTest.java | 34 +-
.../java/hints/AssignResultToVariableTest.java | 21 +
.../modules/java/hints/IllegalInstanceOfTest.java | 18 +
.../modules/java/hints/SerialVersionUIDTest.java | 15 +-
.../modules/java/hints/StaticImportTest.java | 21 +-
.../java/hints/StringBuilderAppendTest.java | 8 +-
.../java/hints/bugs/BroadCatchBlockTest.java | 2 +-
.../java/hints/bugs/MalformedFormatStringTest.java | 2 +-
.../modules/java/hints/bugs/NPECheckTest.java | 13 +-
.../java/hints/bugs/ThrowableNotThrownTest.java | 34 +
.../java/hints/errors/Bundle_test.properties | 8 +
.../modules/java/hints/errors/ErrorHintsTest.java | 127 +-
.../errors/ImplementAllAbstractMethodsTest.java | 28 +-
.../hints/errors/MissingReturnStatementTest.java | 20 +-
.../hints/errors/RemoveInvalidModifierTest.java | 4 +-
.../modules/java/hints/errors/UtilitiesTest.java | 310 +-
.../java/hints/errors/empty-class-template.xml | 2 +-
.../java/hints/errors/only-imports-layer.xml | 2 +-
.../java/hints/infrastructure/HintsTestBase.java | 8 +-
.../java/hints/introduce/IntroduceHintTest.java | 6 +-
.../jackpot/hintsimpl/LoggerStringConcatTest.java | 2 +-
.../modules/java/hints/jdk/Bundle_test.properties | 5 +
.../modules/java/hints/jdk/ConvertToARMTest.java | 282 +
.../hints/jdk/ConvertToDiamondBulkHintTest.java | 20 +-
.../java/hints/jdk/ConvertToLambdaTest.java | 129 +-
.../java/hints/jdk/ConvertToStringSwitchTest.java | 9 +-
.../java/hints/jdk/UseSpecificCatchTest.java | 82 +
.../jdk/mapreduce/ForLoopToFunctionalHintTest.java | 28 +-
.../java/hints/suggestions/Bundle_test.properties | 3 +
.../hints/suggestions/ConvertIfToSwitchTest.java | 162 +
.../suggestions/ExpandEnhancedForLoopTest.java | 9 +-
.../modules/java/hints/suggestions/LambdaTest.java | 213 +
java.j2sedeploy/build.xml | 39 +
java.j2sedeploy/manifest.mf | 2 +-
java.j2sedeploy/nbproject/project.properties | 37 +
java.j2sedeploy/nbproject/project.xml | 39 +
.../modules/java/j2sedeploy/Bundle.properties | 37 +
.../resources/build-native-prototype.xml | 19 +
java.j2seembedded/build.xml | 39 +
java.j2seembedded/manifest.mf | 2 +-
java.j2seembedded/nbproject/project.properties | 37 +
java.j2seembedded/nbproject/project.xml | 39 +
.../modules/java/j2seembedded/Bundle.properties | 37 +
.../resources/remote-platform-impl.xml | 42 +-
.../modules/java/j2seembedded/ui/Bundle.properties | 3 +-
.../java/j2seembedded/ui/CreateJREPanel.form | 76 +-
.../java/j2seembedded/ui/CreateJREPanel.java | 77 +-
.../j2seembedded/wizard/SetUpRemotePlatform.java | 2 +-
java.j2seplatform/manifest.mf | 2 +-
java.j2seplatform/nbproject/project.properties | 2 +-
java.j2seplatform/nbproject/project.xml | 17 +-
.../java/j2seplatform/api/J2SEPlatformCreator.java | 78 +-
.../platformdefinition/Bundle.properties | 40 +-
.../platformdefinition/ForwardingJavaPlatform.java | 117 -
.../platformdefinition/J2SEPlatformCustomizer.java | 215 +-
.../J2SEPlatformDefaultJavadocImpl.java | 1 +
.../platformdefinition/J2SEPlatformFactory.java | 175 +
.../platformdefinition/J2SEPlatformImpl.java | 61 +-
.../platformdefinition/PlatformConvertor.java | 58 +-
.../java/j2seplatform/platformdefinition/Util.java | 105 +-
.../jrtfs/NBJRTArchiveRootProvider.java | 105 +
.../platformdefinition/jrtfs/NBJRTFileSystem.java | 302 +
.../jrtfs/NBJRTFileSystemProvider.java | 97 +
.../platformdefinition/jrtfs/NBJRTURLMapper.java | 110 +
.../jrtfs/NBJRTURLStreamHandler.java | 128 +
.../platformdefinition/jrtfs/NBJRTUtil.java | 155 +
.../java/j2seplatform/queries/Bundle.properties | 37 +
.../modules/java/j2seplatform/resources/empty.png | Bin 0 -> 2832 bytes
.../modules/java/j2seplatform/resources/jar.png | Bin 0 -> 758 bytes
.../java/j2seplatform/resources/package.png | Bin 0 -> 496 bytes
.../modules/java/j2seplatform/resources/web.gif | Bin 0 -> 915 bytes
.../java/j2seplatform/wizard/Bundle.properties | 1 +
.../java/j2seplatform/wizard/DetectPanel.java | 35 +-
.../DefaultSourceLevelQueryImplTest.java | 3 +-
.../jrtfs/NBJRTFileSystemTest.java | 103 +
.../jrtfs/NBJRTURLMapperTest.java | 76 +
java.j2seprofiles/build.xml | 39 +
java.j2seprofiles/manifest.mf | 2 +-
java.j2seprofiles/nbproject/project.properties | 37 +
java.j2seprofiles/nbproject/project.xml | 39 +
.../modules/java/j2seprofiles/Bundle.properties | 37 +
java.j2seproject/copylibstask/build.xml | 45 +-
.../copylibstask/nbproject/build-impl.xml | 9 +-
.../copylibstask/nbproject/genfiles.properties | 6 +-
.../copylibstask/nbproject/project.properties | 37 +
.../copylibstask/nbproject/project.xml | 39 +
java.j2seproject/nbproject/project.properties | 4 +-
java.j2seproject/nbproject/project.xml | 15 +-
.../java/j2seproject/J2SEActionProvider.java | 406 +
.../modules/java/j2seproject/J2SEProject.java | 9 +-
.../java/j2seproject/J2SEProjectPlatformImpl.java | 10 +-
.../java/j2seproject/api/J2SEProjectBuilder.java | 23 +-
.../java/j2seproject/resources/build-impl.xsl | 21 +-
.../j2seproject/resources/cos-update-snippet.xml | 51 +
.../modules/java/j2seproject/resources/jax-ws.xml | 39 +
.../j2seproject/ui/customizer/Bundle.properties | 2 +-
.../ui/customizer/CustomizerProviderImpl.java | 71 +-
.../j2seproject/ui/customizer/CustomizerRun.form | 3 +
.../j2seproject/ui/customizer/CustomizerRun.java | 21 +-
.../ui/customizer/J2SEProjectProperties.java | 3 +-
.../java/j2seproject/ui/resources/CopyLibs.xml | 43 +-
.../java/j2seproject/ui/resources/desktop.html | 75 +-
.../j2seproject/ui/resources/emptyLibrary.html | 16 +-
.../j2seproject/ui/resources/emptyProject.html | 16 +-
.../j2seproject/ui/resources/existingProject.html | 75 +-
.../modules/java/j2seproject/BuildImplTest.java | 2 +-
.../java/j2seproject/J2SEActionProviderTest.java | 2 +-
.../j2seproject/J2SEPersistenceProviderTest.java | 2 +-
.../java/j2seproject/J2SEProjectGeneratorTest.java | 6 +-
.../java/j2seproject/J2SESharabilityQueryTest.java | 2 +-
.../modules/java/j2seproject/J2SESourcesTest.java | 2 +-
.../java/j2seproject/ProjectPlatformTest.java | 152 +
.../modules/java/j2seproject/SourceRootsTest.java | 2 +-
.../api/J2SEProjectConfigurationsTest.java | 2 +-
.../j2seproject/api/J2SEProjectPlatformTest.java | 4 +-
.../java/j2seproject/applet/AppletSupportTest.java | 2 +-
.../J2SEProjectClassPathModifierTest.java | 4 +-
.../classpath/SourcePathImplementationTest.java | 2 +-
.../queries/BinaryForSourceQueryImplTest.java | 2 +-
.../queries/CompiledSourceForBinaryQueryTest.java | 2 +-
.../j2seproject/queries/FileEncodingQueryTest.java | 2 +-
.../queries/UnitTestForSourceQueryImplTest.java | 2 +-
java.kit/build.xml | 39 +
java.kit/manifest.mf | 2 +-
java.kit/nbproject/project.xml | 4 +-
java.kit/release/VERSION.txt | 2 +-
.../src/org/netbeans/modules/java/kit/layer.xml | 39 +
java.lexer/apichanges.xml | 15 +-
java.lexer/manifest.mf | 2 +-
.../org/netbeans/api/java/lexer/JavaTokenId.java | 2 +
.../src/org/netbeans/lib/java/lexer/JavaLexer.java | 9 +-
.../src/org/netbeans/lib/java/lexer/layer.xml | 39 +
java.metrics/build.xml | 39 +
java.metrics/manifest.mf | 2 +-
java.metrics/nbproject/project.properties | 37 +
java.metrics/nbproject/project.xml | 39 +
.../modules/java/metrics/Bundle.properties | 37 +
.../org/netbeans/modules/java/metrics/layer.xml | 39 +
java.navigation/manifest.mf | 2 +-
java.navigation/nbproject/project.xml | 12 +-
.../java/navigation/CaretListeningTask.java | 28 +-
.../java/navigation/ElementScanningTask.java | 4 +-
.../resources/JavadocTopComponentSettings.xml | 39 +
.../resources/JavadocTopComponentWstcref.xml | 39 +
.../modules/java/navigation/resources/ide.css | 63 +-
java.platform.ui/manifest.mf | 2 +-
.../org-netbeans-modules-java-platform-ui.sig | 2 +-
.../java/platform/DefaultJavaPlatformProvider.java | 15 +-
.../platform/resources/templates/javaplatform.html | 39 +
.../templates/javaplatformdefinition.html | 39 +
.../org/netbeans/spi/java/platform/package.html | 16 +-
java.platform/apichanges.xml | 16 +
java.platform/manifest.mf | 2 +-
.../org-netbeans-modules-java-platform.sig | 22 +-
java.platform/nbproject/project.properties | 2 +-
java.platform/nbproject/project.xml | 2 +
.../org/netbeans/api/java/platform/package.html | 16 +-
.../spi/java/platform/JavaPlatformFactory.java | 81 +
.../platform/support/ForwardingJavaPlatform.java | 118 +
java.preprocessorbridge/apichanges.xml | 15 +
java.preprocessorbridge/build.xml | 39 +
.../nbproject/project.properties | 41 +-
java.preprocessorbridge/nbproject/project.xml | 77 +
.../JavaSourceUtilImplAccessor.java | 13 +
.../api/CompileOnSaveActionQuery.java | 218 +
.../preprocessorbridge/api/JavaSourceUtil.java | 33 +-
.../spi/CompileOnSaveAction.java | 380 +
.../preprocessorbridge/spi/JavaSourceUtilImpl.java | 21 +
.../api/CompileOnSaveActionQueryTest.java | 256 +
java.project.ui/manifest.mf | 2 +-
.../org-netbeans-modules-java-project-ui.sig | 7 +-
java.project.ui/nbproject/project.properties | 4 +-
java.project.ui/nbproject/project.xml | 30 +-
java.project.ui/overview.html | 39 +
.../modules/java/project/ui/Bundle.properties | 5 +
.../modules/java/project/ui/FixPlatform.form | 121 +
.../modules/java/project/ui/FixPlatform.java | 454 +
.../java/project/ui/ProjectProblemsProviders.java | 221 +-
.../java/project/ui/resources/AnnotationType.html | 16 +-
.../modules/java/project/ui/resources/Applet.html | 16 +-
.../modules/java/project/ui/resources/Class.html | 16 +-
.../modules/java/project/ui/resources/Classes.html | 16 +-
.../modules/java/project/ui/resources/Empty.html | 16 +-
.../modules/java/project/ui/resources/Enum.html | 16 +-
.../java/project/ui/resources/Exception.html | 16 +-
.../java/project/ui/resources/Interface.html | 16 +-
.../modules/java/project/ui/resources/JApplet.html | 16 +-
.../modules/java/project/ui/resources/Main.html | 16 +-
.../modules/java/project/ui/resources/Package.html | 16 +-
.../java/project/ui/resources/Singleton.html | 16 +-
.../java/project/ui/resources/package-info.html | 16 +-
.../support/ui/BrokenReferencesSupport.java | 42 +
.../spi/java/project/support/ui/PackageView.java | 34 +-
.../spi/java/project/support/ui/package.html | 16 +-
.../src/projects/libraries.properties | 37 +
.../src/projects/platforms.properties | 37 +
.../unit/data/simple-app/nbproject/build-impl.xml | 4 +-
.../modules/java/project/ui/JavaAntLoggerTest.java | 29 +-
java.project/apichanges.xml | 30 +
java.project/manifest.mf | 2 +-
.../org-netbeans-modules-java-project.sig | 4 +-
java.project/nbproject/project.properties | 4 +-
java.project/nbproject/project.xml | 9 +
java.project/overview.html | 39 +
.../project/support/ClassPathProviderMerger.java | 12 +-
.../support/JavadocAndSourceRootDetection.java | 9 +-
.../spi/java/project/support/ProjectPlatform.java | 209 +
.../support/ClassPathProviderMergerTest.java | 65 +-
.../modules/java/source/ant/CosUpdated.java | 238 +
.../netbeans/modules/java/source/ant/antlib.xml | 1 +
java.source.ant/nbproject/project.properties | 2 +-
java.source.ant/nbproject/project.xml | 53 +-
.../modules/java/source/ant/ProjectRunnerImpl.java | 8 +-
java.source.base/apichanges.xml | 66 +
java.source.base/build.xml | 39 +
.../org-netbeans-modules-java-source-base.sig | 1767 +
java.source.base/nbproject/project.properties | 4 +-
java.source.base/nbproject/project.xml | 6 +-
.../netbeans/api/java/source/AssignComments.java | 178 +-
.../netbeans/api/java/source/ClasspathInfo.java | 81 +-
.../org/netbeans/api/java/source/CodeStyle.java | 40 +
.../netbeans/api/java/source/ElementHandle.java | 7 +-
.../netbeans/api/java/source/ElementUtilities.java | 250 +-
.../api/java/source/GeneratorUtilities.java | 376 +-
.../org/netbeans/api/java/source/SourceUtils.java | 79 +-
.../org/netbeans/api/java/source/TreeMaker.java | 38 +-
.../netbeans/api/java/source/TreeUtilities.java | 1 +
.../netbeans/api/java/source/TypeMirrorHandle.java | 18 +-
.../netbeans/api/java/source/TypeUtilities.java | 99 +
.../org/netbeans/api/java/source/WorkingCopy.java | 96 +-
.../src/org/netbeans/api/java/source/package.html | 39 +
.../modules/java/source/JavaSourceUtilImpl.java | 332 +
.../netbeans/modules/java/source/JavadocEnv.java | 12 +-
.../modules/java/source/JavadocHelper.java | 69 +-
.../modules/java/source/PostFlowAnalysis.java | 27 +-
.../netbeans/modules/java/source/TreeLoader.java | 12 +-
.../modules/java/source/base/Bundle.properties | 37 +
.../java/source/builder/CommentHandlerService.java | 32 +
.../java/source/builder/CommentSetImpl.java | 17 +-
.../java/source/builder/ElementsService.java | 125 +-
.../modules/java/source/builder/TreeFactory.java | 57 +-
.../modules/java/source/indexing/APTUtils.java | 458 +-
.../source/indexing/COSSynchronizingIndexer.java | 9 +-
.../modules/java/source/indexing/FQN2Files.java | 28 +-
.../java/source/indexing/JavaBinaryIndexer.java | 12 +-
.../java/source/indexing/JavaCustomIndexer.java | 154 +-
.../modules/java/source/indexing/JavaIndex.java | 9 +-
.../java/source/indexing/JavaParsingContext.java | 5 +-
.../source/indexing/MultiPassCompileWorker.java | 1 -
.../java/source/indexing/OnePassCompileWorker.java | 16 +-
.../source/indexing/SuperOnePassCompileWorker.java | 13 +-
.../source/parsing/CachingArchiveClassLoader.java | 50 +-
.../source/parsing/CachingArchiveProvider.java | 29 +-
.../java/source/parsing/CachingPathArchive.java | 241 +
.../modules/java/source/parsing/ClassParser.java | 8 +-
.../java/source/parsing/ClasspathInfoProvider.java | 3 +-
.../java/source/parsing/CompilationInfoImpl.java | 132 +-
.../java/source/parsing/FileObjectArchive.java | 16 +-
.../modules/java/source/parsing/FileObjects.java | 488 +-
.../modules/java/source/parsing/Hacks.java | 22 +
.../modules/java/source/parsing/JavacParser.java | 26 +-
.../modules/java/source/parsing/PathArchive.java | 148 +
.../modules/java/source/pretty/VeryPretty.java | 46 +-
.../modules/java/source/pretty/WidthEstimator.java | 15 +-
.../modules/java/source/save/CasualDiff.java | 162 +-
.../modules/java/source/save/Reformatter.java | 172 +-
.../modules/java/source/save/Reindenter.java | 11 +-
.../source/transform/ImmutableTreeTranslator.java | 18 +-
.../java/source/transform/TreeDuplicator.java | 12 +-
.../modules/java/source/transform/package.html | 79 +-
.../modules/java/source/usages/BinaryAnalyser.java | 168 +-
.../modules/java/source/usages/BinaryName.java | 177 +
.../source/usages/BuildArtifactMapperImpl.java | 566 +-
.../modules/java/source/usages/ClassIndexImpl.java | 6 +-
.../java/source/usages/ClasspathInfoAccessor.java | 8 +-
.../modules/java/source/usages/DocumentUtil.java | 64 +-
.../modules/java/source/usages/LongHashMap.java | 14 +-
.../java/source/usages/PersistentClassIndex.java | 22 +-
.../java/source/usages/SourceAnalyzerFactory.java | 276 +-
.../org/netbeans/modules/java/ui/FmtOptions.java | 2 +
.../netbeans/api/java/source/ClassIndexTest.java | 2 +
.../api/java/source/ElementUtilitiesTest.java | 293 +
.../netbeans/api/java/source/SourceUtilsTest.java | 25 -
.../api/java/source/SourceUtilsTestUtil.java | 20 +-
.../api/java/source/gen/BreakContinueTest.java | 15 +-
.../api/java/source/gen/FieldGroupTest.java | 62 +
.../org/netbeans/api/java/source/gen/IfTest.java | 109 +
.../api/java/source/gen/ImportAnalysis2Test.java | 8 +-
.../api/java/source/gen/InterfaceTest.java | 18 +-
.../api/java/source/gen/ModifiersTest.java | 38 +
.../netbeans/api/java/source/gen/PackageTest.java | 2 +-
.../netbeans/api/java/source/gen/SwitchTest.java | 17 +-
.../java/source/JavaSourceUtilImplTest.java | 134 +
.../CacheSourceForBinaryQueryImplTest.java | 2 +-
.../source/classpath/JShellSourcePathTest.java | 155 +
.../java/source/indexing/SourcePrefetcherTest.java | 2 +-
.../source/parsing/CachingPathArchiveTest.java | 268 +
.../java/source/parsing/ClasspathInfoTest.java | 2 +-
.../java/source/parsing/PathArchiveTest.java | 207 +
.../java/source/usages/BinaryAnalyserTest.java | 14 +-
.../modules/java/source/usages/BinaryNameTest.java | 107 +
.../java/source/usages/LucenePerformanceTest.java | 15 +-
.../usages/PersistentClassIndexScopesTest.java | 6 +-
.../java/source/usages/SourceAnalyzerTest.java | 6 +-
java.source.compat8/build.xml | 39 +
java.source.compat8/manifest.mf | 2 +-
java.source.compat8/nbproject/project.properties | 37 +
java.source.compat8/nbproject/project.xml | 39 +
.../modules/java/source/compat8/Bundle.properties | 37 +
java.source.queries/build.xml | 39 +
java.source.queries/manifest.mf | 2 +-
java.source.queries/nbproject/project.properties | 37 +
java.source.queries/nbproject/project.xml | 39 +
.../modules/java/source/queries/Bundle.properties | 37 +
java.source.queriesimpl/build.xml | 39 +
java.source.queriesimpl/manifest.mf | 2 +-
.../nbproject/project.properties | 39 +-
java.source.queriesimpl/nbproject/project.xml | 48 +-
.../java/source/queriesimpl/Bundle.properties | 37 +
.../source/queriesimpl/JavaOperationsImpl.java | 36 +-
.../nbproject/org-netbeans-modules-java-source.sig | 60 +-
java.source/nbproject/project.properties | 2 +-
java.source/nbproject/project.xml | 24 +-
.../SelectionAwareJavaSourceTaskFactory.java | 69 +-
.../modules/java/classfile/Bundle.properties | 37 +
.../netbeans/modules/java/source/package-info.java | 5 +-
.../java/source/resources/LambdaBody.template | 15 +
.../java/source/resources/find_usages.settings | 39 +
.../java/source/resources/find_usages.wstcref | 39 +
.../resources/icons/methodAbstractPackage.png | Bin 0 -> 631 bytes
.../resources/icons/methodAbstractProtected.png | Bin 0 -> 753 bytes
.../resources/icons/methodAbstractPublic.png | Bin 0 -> 500 bytes
.../source/resources/icons/methodDefaultPublic.png | Bin 0 -> 669 bytes
.../org/netbeans/modules/java/ui/Bundle.properties | 1 +
.../org/netbeans/modules/java/ui/FmtWrapping.form | 17 +
.../org/netbeans/modules/java/ui/FmtWrapping.java | 12 +
.../src/org/netbeans/modules/java/ui/Icons.java | 6 +
.../data/projects/default/nbproject/build-impl.xml | 2 +-
java.sourceui/arch.xml | 49 +-
java.sourceui/build.xml | 39 +
.../org-netbeans-modules-java-sourceui.sig | 6 +-
java.sourceui/nbproject/project.properties | 41 +-
java.sourceui/nbproject/project.xml | 41 +-
.../api/java/source/ui/ElementJavadoc.java | 14 +-
.../netbeans/api/java/source/ui/ElementOpen.java | 64 +-
.../netbeans/api/java/source/ui/ScanDialog.java | 20 +-
.../java/source/ui/AsyncJavaSymbolDescriptor.java | 10 +-
.../java/source/ui/JavaSymbolDescriptorBase.java | 72 +-
.../modules/java/source/ui/JavaSymbolProvider.java | 6 +-
.../java/source/ui/JavaTypeDescription.java | 74 +-
.../modules/java/source/ui/JavaTypeProvider.java | 13 +-
.../source/ui/ResolvedJavaSymbolDescriptor.java | 3 +-
.../java/source/ui/resources/Bundle.properties | 37 +
.../modules/java/source/ui/resources/layer.xml | 39 +
java.testrunner.ant/build.xml | 39 +
java.testrunner.ant/manifest.mf | 2 +-
java.testrunner.ant/nbproject/project.properties | 37 +
java.testrunner.ant/nbproject/project.xml | 39 +
.../modules/java/testrunner/ant/Bundle.properties | 37 +
java.testrunner.ui/build.xml | 39 +
java.testrunner.ui/manifest.mf | 2 +-
java.testrunner.ui/nbproject/project.properties | 37 +
java.testrunner.ui/nbproject/project.xml | 39 +
.../modules/java/testrunner/ui/Bundle.properties | 37 +
java.testrunner/build.xml | 39 +
java.testrunner/manifest.mf | 2 +-
java.testrunner/nbproject/project.properties | 37 +
java.testrunner/nbproject/project.xml | 39 +
.../modules/java/testrunner/Bundle.properties | 37 +
javacard.apdu.io/arch.xml | 45 +-
javacard.apdu.io/build.xml | 39 +
.../external/binaries-list | 0
javacard.apdu.io/manifest.mf | 2 +-
javacard.apdu.io/nbproject/project.properties | 37 +
javacard.apdu.io/nbproject/project.xml | 39 +
.../modules/javacard/apdu/io/Bundle.properties | 37 +
javacard.apdufile/build.xml | 39 +
javacard.apdufile/manifest.mf | 2 +-
javacard.apdufile/nbproject/project.properties | 37 +
javacard.apdufile/nbproject/project.xml | 39 +
.../modules/javacard/apdufile/Bundle.properties | 37 +
.../netbeans/modules/javacard/apdufile/layer.xml | 39 +
javacard.common/build.xml | 39 +
javacard.common/manifest.mf | 2 +-
javacard.common/nbproject/project.properties | 37 +
javacard.common/nbproject/project.xml | 39 +
.../modules/javacard/common/Bundle.properties | 37 +
javacard.console/build.xml | 39 +
javacard.console/manifest.mf | 2 +-
javacard.console/nbproject/project.properties | 37 +
javacard.console/nbproject/project.xml | 39 +
.../modules/javacard/console/Bundle.properties | 37 +
.../netbeans/modules/javacard/console/layer.xml | 39 +
javacard.filemodels/arch.xml | 45 +-
javacard.filemodels/build.xml | 39 +
javacard.filemodels/manifest.mf | 2 +-
javacard.filemodels/nbproject/project.properties | 37 +
javacard.filemodels/nbproject/project.xml | 39 +
.../modules/javacard/filemodels/Bundle.properties | 37 +
javacard.kit/build.xml | 39 +
javacard.kit/manifest.mf | 2 +-
javacard.kit/nbproject/project.properties | 37 +
javacard.kit/nbproject/project.xml | 39 +
javacard.kit/release/VERSION.txt | 2 +-
.../modules/javacard/kit/Bundle.properties | 37 +
javacard.oberthur/build.xml | 39 +
javacard.oberthur/manifest.mf | 2 +-
javacard.oberthur/nbproject/project.properties | 37 +
javacard.oberthur/nbproject/project.xml | 39 +
.../modules/javacard/oberthur/Bundle.properties | 37 +
.../netbeans/modules/javacard/oberthur/layer.xml | 39 +
javacard.platform.ui/build.xml | 39 +
javacard.platform.ui/manifest.mf | 2 +-
javacard.platform.ui/nbproject/project.properties | 37 +
javacard.platform.ui/nbproject/project.xml | 39 +
.../modules/javacard/platform/ui/Bundle.properties | 37 +
javacard.project/arch.xml | 45 +-
javacard.project/build.xml | 39 +
.../modules/javacard/project/docs/index.xml | 41 +-
.../netbeans/modules/javacard/project/docs/toc.xml | 41 +-
javacard.project/manifest.mf | 2 +-
javacard.project/nbproject/project.properties | 37 +
javacard.project/nbproject/project.xml | 39 +
.../javacard/project/deps/Bundle.properties | 37 +
.../javacard/project/deps/ui/Bundle.properties | 37 +
.../javacard/resources/CapProjectDescription.html | 39 +
.../resources/ClsLibProjectDescription.html | 39 +
.../javacard/resources/EapProjectDescription.html | 39 +
.../resources/ExtLibProjectDescription.html | 39 +
.../javacard/resources/WebProjectDescription.html | 39 +
.../templates/ClassicAppletDescription.html | 39 +
.../templates/ExtendedAppletDescription.html | 39 +
.../javacard/templates/ServletDescription.html | 39 +
.../modules/javacard/templates/web-index.html | 39 +
javacard.ri.bundle/arch.xml | 45 +-
javacard.ri.bundle/build.xml | 39 +
.../external/binaries-list | 0
javacard.ri.bundle/manifest.mf | 2 +-
javacard.ri.bundle/nbproject/project.properties | 37 +
javacard.ri.bundle/nbproject/project.xml | 39 +
.../modules/javacard/ri/bundle/Bundle.properties | 37 +
javacard.ri.platform/build.xml | 39 +
.../external/binaries-list | 0
javacard.ri.platform/manifest.mf | 2 +-
javacard.ri.platform/nbproject/project.properties | 37 +
javacard.ri.platform/nbproject/project.xml | 39 +
.../modules/javacard/ri/platform/Bundle.properties | 37 +
.../modules/javacard/ri/platform/layer.xml | 39 +
javacard.spi/build.xml | 39 +
javacard.spi/manifest.mf | 2 +-
javacard.spi/nbproject/project.properties | 37 +
javacard.spi/nbproject/project.xml | 39 +
.../modules/javacard/spi/Bundle.properties | 37 +
javadoc/manifest.mf | 2 +-
javadoc/nbproject/project.properties | 1 +
javadoc/nbproject/project.xml | 26 +-
.../modules/javadoc/highlighting/Highlighting.java | 31 +-
.../netbeans/modules/javadoc/hints/Analyzer.java | 1 +
.../netbeans/modules/javadoc/hints/HtmlTag.java | 468 -
.../modules/javadoc/resources/javadoc-default.xml | 39 +
.../netbeans/modules/javadoc/search/package.html | 39 +
.../external/binaries-list | 0
javaee.api/manifest.mf | 2 +-
javaee.beanvalidation/build.xml | 39 +
javaee.beanvalidation/manifest.mf | 2 +-
javaee.beanvalidation/nbproject/project.properties | 37 +
javaee.beanvalidation/nbproject/project.xml | 39 +
.../javaee/beanvalidation/AbstractIterator.java | 9 +-
.../javaee/beanvalidation/Bundle.properties | 9 +-
.../javaee/beanvalidation/ConstraintIterator.java | 9 +-
.../javaee/beanvalidation/ConstraintPanel.java | 9 +-
.../beanvalidation/ConstraintPanelVisual.java | 9 +-
.../ValidationConfigurationIterator.java | 9 +-
.../beanvalidation/ValidationMappingIterator.java | 9 +-
.../beanvalidation/api/BeanValidationConfig.java | 9 +-
.../impl/BeanValidationConfigImpl.java | 9 +-
.../impl/BeanValidationConfigProviderImpl.java | 9 +-
.../beanvalidation/resources/Bundle.properties | 37 +
.../beanvalidation/resources/Constraint.html | 16 +-
.../resources/ValidationConfiguration.html | 16 +-
.../resources/ValidationMapping.html | 16 +-
.../javaee/beanvalidation/resources/WebInfo.html | 16 +-
.../javaee/beanvalidation/resources/constraint.xml | 39 +
.../javaee/beanvalidation/resources/layer.xml | 39 +
.../javaee/beanvalidation/resources/validation.xml | 39 +
.../spi/BeanValidationConfigProvider.java | 9 +-
javaee.injection/build.xml | 39 +
javaee.injection/manifest.mf | 2 +-
javaee.injection/nbproject/project.properties | 37 +
javaee.injection/nbproject/project.xml | 39 +
.../modules/javaee/injection/Bundle.properties | 37 +
javaee.project/build.xml | 39 +
javaee.project/manifest.mf | 2 +-
javaee.project/nbproject/project.properties | 37 +
javaee.project/nbproject/project.xml | 39 +
.../modules/javaee/project/Bundle.properties | 37 +
.../javaee/project/dd/ear/applicationXml.html | 39 +
.../org/netbeans/modules/javaee/project/layer.xml | 39 +
javaee.resources/build.xml | 39 +
javaee.resources/manifest.mf | 2 +-
javaee.resources/nbproject/project.properties | 37 +
javaee.resources/nbproject/project.xml | 39 +
.../javaee/resources/resources/Bundle.properties | 37 +
javaee.specs.support/build.xml | 39 +
javaee.specs.support/manifest.mf | 2 +-
javaee.specs.support/nbproject/project.properties | 37 +
javaee.specs.support/nbproject/project.xml | 39 +
.../specs/support/api/JaxWsStackSupport.java | 15 +-
.../specs/support/resources/Bundle.properties | 37 +
javaee.wildfly/manifest.mf | 2 +-
.../javaee/wildfly/WildflyDeploymentFactory.java | 2 +-
.../javaee/wildfly/WildflyDeploymentManager.java | 4 +-
.../javaee/wildfly/config/WildflyDatasource.java | 2 +-
.../mdb/wf10/MessageDestinationSupportImpl.java | 10 +-
.../modules/javaee/wildfly/ide/Bundle.properties | 2 +
.../wildfly/ide/WildflyIncrementalDeployment.java | 33 +-
.../wildfly/ide/WildflyJ2eePlatformFactory.java | 4 +
.../WildflyOptionalDeploymentManagerFactory.java | 5 +-
.../javaee/wildfly/ide/WildflyOutputSupport.java | 75 +-
.../javaee/wildfly/ide/WildflyStartRunnable.java | 115 +-
.../javaee/wildfly/ide/WildflyStopRunnable.java | 39 +-
.../javaee/wildfly/ide/commands/WildflyClient.java | 205 +-
.../wildfly/ide/commands/WildflyManagementAPI.java | 6 +
.../javaee/wildfly/ide/ui/WildflyPluginUtils.java | 112 +-
.../wildfly/nodes/WildflyDatasourceNode.java | 4 +-
.../wildfly/nodes/WildflyDeploymentChildren.java | 5 +-
.../wildfly/nodes/WildflyDestinationNode.java | 3 +-
.../wildfly/nodes/WildflyEarApplicationNode.java | 4 +-
.../javaee/wildfly/nodes/WildflyEjbModuleNode.java | 4 +-
.../javaee/wildfly/nodes/WildflyWebModuleNode.java | 4 +-
.../wildfly/nodes/actions/KillServerAction.java | 71 +-
.../javaee/wildfly/nodes/actions/ResourceType.java | 51 +
.../nodes/actions/UndeployModuleCookieImpl.java | 37 +-
.../modules/javaee/wildfly/resources/javaee_6.xsd | 7 +-
.../wildfly/resources/javaee_web_services_1_3.xsd | 33 +-
.../resources/javaee_web_services_client_1_3.xsd | 31 +-
.../modules/javaee/wildfly/resources/jsp_2_2.xsd | 33 +-
.../modules/javaee/wildfly/resources/layer.xml | 8 +-
.../javaee/wildfly/resources/web-app_3_0.xsd | 43 +-
.../javaee/wildfly/resources/web-common_3_0.xsd | 43 +-
.../javaee/wildfly/resources/web-fragment_3_0.xsd | 43 +-
.../modules/javaee/wildfly/util/PathUtil.java | 56 +
.../javaee/wildfly/util/WildFlyProperties.java | 4 +-
.../javaee/wildfly/ide/ui/JBPluginUtilsTest.java | 63 -
.../wildfly/ide/ui/WildflyPluginUtilsTest.java | 84 +
.../external/binaries-list | 0
javaee7.api/manifest.mf | 2 +-
javafx2.editor/build.xml | 39 +
javafx2.editor/nbproject/project.properties | 2 +-
javafx2.editor/nbproject/project.xml | 48 +
.../editor/actions/FieldsWithTypeParams.java | 54 +-
.../editor/codegen/AddFxPropertyConfig.java | 2 +-
.../javafx2/editor/codegen/AddPropertyPanel.java | 43 +-
javafx2.kit/build.xml | 39 +
javafx2.kit/manifest.mf | 2 +-
javafx2.kit/nbproject/project.properties | 37 +
javafx2.kit/nbproject/project.xml | 39 +
javafx2.kit/release/VERSION.txt | 2 +-
.../netbeans/modules/javafx2/kit/Bundle.properties | 37 +
javafx2.platform/build.xml | 39 +
javafx2.platform/manifest.mf | 2 +-
javafx2.platform/nbproject/project.properties | 37 +
javafx2.platform/nbproject/project.xml | 39 +
.../modules/javafx2/platform/Bundle.properties | 37 +
.../netbeans/modules/javafx2/platform/Utils.java | 23 +-
.../platform/api/JavaFxRuntimeInclusion.java | 8 +-
.../netbeans/modules/javafx2/platform/layer.xml | 39 +
javafx2.project/build.xml | 39 +
javafx2.project/manifest.mf | 2 +-
javafx2.project/nbproject/project.properties | 37 +
javafx2.project/nbproject/project.xml | 39 +
.../modules/javafx2/project/Bundle.properties | 37 +
.../javafx2/project/JFXProjectGenerator.java | 2 +-
.../project/fxml/FXMLTemplateWizardIterator.java | 5 +-
.../modules/javafx2/project/templates/FXML.html | 16 +-
.../modules/javafx2/project/templates/FXMain.html | 16 +-
.../javafx2/project/templates/FXPreloader.html | 18 +-
.../javafx2/project/templates/FXSwingMain.html | 16 +-
.../javafx2/project/templates/JavaFXApp.html | 22 +-
.../javafx2/project/templates/JavaFXMLApp.html | 18 +-
.../project/templates/JavaFXPreloaderApp.html | 18 +-
.../javafx2/project/templates/JavaFXSwingApp.html | 22 +-
.../javafx2/project/templates/jfx-impl.xml_ | 49 +-
.../modules/javafx2/project/ui/Bundle.properties | 37 +
javafx2.samples/AdvancedMedia/build.xml | 43 +-
.../AdvancedMedia/nbproject/project.properties | 37 +
.../AdvancedMedia/nbproject/project.xml | 39 +
javafx2.samples/AudioVisualizer3D/build.xml | 43 +-
.../AudioVisualizer3D/nbproject/project.properties | 37 +
.../AudioVisualizer3D/nbproject/project.xml | 39 +
javafx2.samples/BrickBreaker/build.xml | 43 +-
.../BrickBreaker/nbproject/project.properties | 37 +
javafx2.samples/BrickBreaker/nbproject/project.xml | 39 +
javafx2.samples/ChangeListener/build.xml | 43 +-
.../ChangeListener/nbproject/project.properties | 37 +
.../ChangeListener/nbproject/project.xml | 39 +
javafx2.samples/ChartAdvancedArea/build.xml | 43 +-
.../ChartAdvancedArea/nbproject/project.properties | 37 +
.../ChartAdvancedArea/nbproject/project.xml | 39 +
javafx2.samples/ChartAdvancedBar/build.xml | 43 +-
.../ChartAdvancedBar/nbproject/project.properties | 37 +
.../ChartAdvancedBar/nbproject/project.xml | 39 +
javafx2.samples/ChartAdvancedPie/build.xml | 43 +-
.../ChartAdvancedPie/nbproject/project.properties | 37 +
.../ChartAdvancedPie/nbproject/project.xml | 39 +
javafx2.samples/ChartAdvancedScatter/build.xml | 43 +-
.../nbproject/project.properties | 37 +
.../ChartAdvancedScatter/nbproject/project.xml | 39 +
javafx2.samples/ChartAdvancedScatterLive/build.xml | 43 +-
.../nbproject/project.properties | 37 +
.../ChartAdvancedScatterLive/nbproject/project.xml | 39 +
javafx2.samples/ChartAdvancedStockLine/build.xml | 43 +-
.../nbproject/project.properties | 37 +
.../ChartAdvancedStockLine/nbproject/project.xml | 39 +
javafx2.samples/ChartAudioArea/build.xml | 43 +-
.../ChartAudioArea/nbproject/project.properties | 37 +
.../ChartAudioArea/nbproject/project.xml | 39 +
javafx2.samples/ChartAudioBar/build.xml | 43 +-
.../ChartAudioBar/nbproject/project.properties | 37 +
.../ChartAudioBar/nbproject/project.xml | 39 +
javafx2.samples/ChartLine/build.xml | 43 +-
.../ChartLine/nbproject/project.properties | 37 +
javafx2.samples/ChartLine/nbproject/project.xml | 39 +
javafx2.samples/ColorPicker/build.xml | 43 +-
.../ColorPicker/nbproject/project.properties | 37 +
javafx2.samples/ColorPicker/nbproject/project.xml | 39 +
javafx2.samples/ColorfulCircles/build.xml | 43 +-
.../ColorfulCircles/nbproject/project.properties | 37 +
.../ColorfulCircles/nbproject/project.xml | 39 +
javafx2.samples/CreateAdvancedStage/build.xml | 43 +-
.../nbproject/project.properties | 37 +
.../CreateAdvancedStage/nbproject/project.xml | 39 +
javafx2.samples/Cube3D/build.xml | 43 +-
.../Cube3D/nbproject/project.properties | 37 +
javafx2.samples/Cube3D/nbproject/project.xml | 39 +
javafx2.samples/CubeSystem3D/build.xml | 43 +-
.../CubeSystem3D/nbproject/project.properties | 37 +
javafx2.samples/CubeSystem3D/nbproject/project.xml | 39 +
javafx2.samples/DigitalClock/build.xml | 43 +-
.../DigitalClock/nbproject/project.properties | 37 +
javafx2.samples/DigitalClock/nbproject/project.xml | 39 +
javafx2.samples/DisplayShelf/build.xml | 43 +-
.../DisplayShelf/nbproject/project.properties | 37 +
javafx2.samples/DisplayShelf/nbproject/project.xml | 39 +
javafx2.samples/FXML-LoginDemo/build.xml | 43 +-
.../FXML-LoginDemo/nbproject/project.properties | 37 +
.../FXML-LoginDemo/nbproject/project.xml | 39 +
javafx2.samples/FXML-LoginDemo/src/demo/Login.css | 44 +-
javafx2.samples/FXML-LoginDemo/src/demo/Main.java | 30 +-
javafx2.samples/FXML-LoginDemo/src/demo/login.fxml | 39 +
javafx2.samples/Fireworks/build.xml | 43 +-
.../Fireworks/nbproject/project.properties | 37 +
javafx2.samples/Fireworks/nbproject/project.xml | 39 +
javafx2.samples/HTMLEditorApp/build.xml | 43 +-
.../HTMLEditorApp/nbproject/project.properties | 37 +
.../HTMLEditorApp/nbproject/project.xml | 39 +
javafx2.samples/KeyStrokeMotion/build.xml | 43 +-
.../KeyStrokeMotion/nbproject/project.properties | 37 +
.../KeyStrokeMotion/nbproject/project.xml | 39 +
javafx2.samples/MouseEvents/build.xml | 43 +-
.../MouseEvents/nbproject/project.properties | 37 +
javafx2.samples/MouseEvents/nbproject/project.xml | 39 +
javafx2.samples/PaginationDemo/build.xml | 43 +-
.../PaginationDemo/nbproject/project.properties | 37 +
.../PaginationDemo/nbproject/project.xml | 39 +
javafx2.samples/PuzzlePieces/build.xml | 43 +-
.../PuzzlePieces/nbproject/project.properties | 37 +
javafx2.samples/PuzzlePieces/nbproject/project.xml | 39 +
javafx2.samples/StopWatch/build.xml | 43 +-
.../StopWatch/nbproject/project.properties | 37 +
javafx2.samples/StopWatch/nbproject/project.xml | 39 +
javafx2.samples/SwingInterop/build.xml | 43 +-
.../SwingInterop/nbproject/project.properties | 37 +
javafx2.samples/SwingInterop/nbproject/project.xml | 39 +
.../nbproject/templates/FXSwingTemplate.html | 39 +
.../nbproject/templates/FXSwingTemplateApplet.jnlp | 41 +-
.../templates/FXSwingTemplateApplication.jnlp | 41 +-
javafx2.samples/TimelineEvents/build.xml | 43 +-
.../TimelineEvents/nbproject/project.properties | 37 +
.../TimelineEvents/nbproject/project.xml | 39 +
javafx2.samples/TimelineInterpolator/build.xml | 43 +-
.../nbproject/project.properties | 37 +
.../TimelineInterpolator/nbproject/project.xml | 39 +
javafx2.samples/TransitionPath/build.xml | 43 +-
.../TransitionPath/nbproject/project.properties | 37 +
.../TransitionPath/nbproject/project.xml | 39 +
javafx2.samples/TransitionRotate/build.xml | 43 +-
.../TransitionRotate/nbproject/project.properties | 37 +
.../TransitionRotate/nbproject/project.xml | 39 +
javafx2.samples/WebViewBrowser/build.xml | 43 +-
.../WebViewBrowser/nbproject/project.properties | 37 +
.../WebViewBrowser/nbproject/project.xml | 39 +
javafx2.samples/Xylophone/build.xml | 43 +-
.../Xylophone/nbproject/project.properties | 37 +
javafx2.samples/Xylophone/nbproject/project.xml | 39 +
javafx2.samples/build.xml | 39 +
javafx2.samples/manifest.mf | 2 +-
javafx2.samples/nbproject/project.properties | 37 +
javafx2.samples/nbproject/project.xml | 39 +
.../modules/javafx2/samples/resources/layer.xml | 39 +
javafx2.scenebuilder/build.xml | 39 +
javafx2.scenebuilder/manifest.mf | 2 +-
javafx2.scenebuilder/nbproject/project.xml | 39 +
.../javafx2/scenebuilder/options/Bundle.properties | 37 +
.../javahelp => javahelp}/external/binaries-list | 0
javahelp/manifest.mf | 2 +-
javahelp/src/META-INF/upgrade/Help.hint | 39 +
.../org/netbeans/api/javahelp/doc-files/api.html | 28 +-
.../api/javahelp/doc-files/help-guide.html | 2 +-
.../org/netbeans/modules/javahelp/JavaHelp.java | 3 +-
.../modules/javahelp/resources/helpcontext-1_0.dtd | 39 +
.../modules/javahelp/resources/helpsetref-1_0.dtd | 39 +
javascript.bower/manifest.mf | 2 +-
javascript.bower/nbproject/project.properties | 39 +-
javascript.bower/nbproject/project.xml | 49 +-
.../javascript/bower/exec/BowerExecutable.java | 27 +-
.../javascript/bower/file/ImportantFilesImpl.java | 8 +-
.../bower/misc/SharabilityQueryImpl.java | 29 +-
.../javascript/bower/options/BowerOptions.java | 24 +-
.../bower/options/BowerOptionsValidator.java | 2 +-
.../bower/ui/libraries/DependenciesPanel.java | 6 +-
.../bower/ui/libraries/LibrariesPanel.java | 2 +-
.../javascript/bower/ui/libraries/Library.java | 2 +
.../bower/ui/libraries/LibraryProvider.java | 9 +-
.../javascript/bower/ui/libraries/SearchPanel.java | 10 +-
.../bower/ui/options/BowerOptionsPanel.form | 15 +-
.../bower/ui/options/BowerOptionsPanel.java | 44 +-
.../ui/options/BowerOptionsPanelController.java | 12 +-
.../javascript/bower/ui/options/Bundle.properties | 5 +-
javascript.cdnjs/manifest.mf | 2 +-
javascript.cdnjs/nbproject/project.properties | 2 +-
.../netbeans/modules/javascript/cdnjs/Library.java | 21 +-
.../javascript/cdnjs/LibraryCustomizer.java | 95 +-
.../javascript/cdnjs/LibraryPersistence.java | 11 +-
.../modules/javascript/cdnjs/LibraryProvider.java | 2 +-
.../modules/javascript/cdnjs/LibraryUtils.java | 132 +
.../modules/javascript/cdnjs/ui/Bundle.properties | 1 +
.../modules/javascript/cdnjs/ui/SearchPanel.java | 9 +-
.../javascript/cdnjs/ui/SelectionPanel.form | 24 +-
.../javascript/cdnjs/ui/SelectionPanel.java | 87 +-
.../cdnjs/ui/logicalview/CdnjsLibraries.java | 62 +-
.../javascript/cdnjs/ui/resources/broken-badge.gif | Bin 0 -> 353 bytes
.../javascript/cdnjs/ui/resources/broken.png | Bin 0 -> 3286 bytes
.../cdnjs/{ => ui}/resources/checking.png | Bin
.../cdnjs/{ => ui}/resources/unknown.png | Bin
.../cdnjs/{ => ui}/resources/uptodate.gif | Bin
javascript.grunt/manifest.mf | 2 +-
javascript.grunt/nbproject/project.properties | 39 +-
javascript.grunt/nbproject/project.xml | 60 +-
.../modules/javascript/grunt/GruntBuildTool.java | 68 +-
.../javascript/grunt/GruntBuildToolSupport.java | 174 +
.../javascript/grunt/exec/GruntExecutable.java | 125 +-
.../modules/javascript/grunt/file/GruntTasks.java | 26 +-
.../javascript/grunt/file/ImportantFilesImpl.java | 6 +-
.../grunt/options/GruntOptionsValidator.java | 2 +-
.../grunt/preferences/GruntPreferences.java | 19 +
.../modules/javascript/grunt/resources/layer.xml | 4 +-
.../grunt/ui/actions/RunGruntTaskAction.java | 135 +-
.../grunt/ui/customizer/Bundle.properties | 42 +
.../grunt/ui/customizer/GruntCustomizerPanel.form | 64 +
.../grunt/ui/customizer/GruntCustomizerPanel.java | 189 +
.../ui/customizer/GruntCustomizerPanelImpl.java | 106 +
.../ui/customizer/GruntCustomizerProvider.java | 12 +-
.../ui/navigator/NavigatorPanelSupportImpl.java | 129 +
.../grunt/ui/options/GruntOptionsPanel.java | 8 +-
javascript.gulp/manifest.mf | 2 +-
javascript.gulp/nbproject/project.properties | 39 +-
javascript.gulp/nbproject/project.xml | 60 +-
.../modules/javascript/gulp/GulpBuildTool.java | 72 +-
.../javascript/gulp/GulpBuildToolSupport.java | 175 +
.../javascript/gulp/exec/GulpExecutable.java | 103 +-
.../modules/javascript/gulp/file/GulpTasks.java | 24 +-
.../modules/javascript/gulp/file/Gulpfile.java | 14 +-
.../javascript/gulp/file/ImportantFilesImpl.java | 6 +-
.../gulp/options/GulpOptionsValidator.java | 2 +-
.../modules/javascript/gulp/resources/layer.xml | 4 +-
.../gulp/ui/actions/RunGulpTaskAction.java | 136 +-
.../gulp/ui/customizer/GulpCustomizerProvider.java | 12 +-
.../ui/navigator/NavigatorPanelSupportImpl.java | 129 +
.../gulp/ui/options/GulpOptionsPanel.java | 12 +-
javascript.jstestdriver/build.xml | 39 +
javascript.jstestdriver/manifest.mf | 2 +-
.../nbproject/project.properties | 39 +-
javascript.jstestdriver/nbproject/project.xml | 39 +
.../jstestdriver/JSTestDriverSupport.java | 2 +-
.../modules/javascript/jstestdriver/layer.xml | 39 +
.../jstestdriver/resources/TemplateHelp.html | 16 +-
.../jstestdriver/resources/mime-resolver.xml | 42 +-
.../jstestdriver/wizard/Bundle.properties | 37 +
javascript.karma/build.xml | 39 +
javascript.karma/manifest.mf | 2 +-
javascript.karma/nbproject/project.properties | 39 +-
javascript.karma/nbproject/project.xml | 49 +-
.../javascript/karma/exec/KarmaExecutable.java | 7 +-
.../karma/options/KarmaOptionsValidator.java | 2 +-
.../modules/javascript/karma/run/TestRunner.java | 4 +-
.../karma/ui/options/KarmaOptionsPanel.java | 8 +-
javascript.karma/test/unit/data/log1.txt | 52 +
javascript.karma/test/unit/data/log2.txt | 5852 +++
.../javascript/karma/run/TestRunnerTest.java | 2 +
javascript.nodejs/manifest.mf | 2 +-
javascript.nodejs/nbproject/project.properties | 39 +-
javascript.nodejs/nbproject/project.xml | 50 +-
.../ListDirectory/nbproject/project.properties | 37 +
.../ListDirectory/nbproject/project.xml | 39 +
.../MessagesAngular/nbproject/project.properties | 37 +
.../MessagesAngular/nbproject/project.xml | 39 +
.../MessagesExpress/nbproject/project.properties | 37 +
.../MessagesExpress/nbproject/project.xml | 39 +
.../MessagesKnockout/nbproject/project.properties | 37 +
.../MessagesKnockout/nbproject/project.xml | 39 +
.../nodejs/editor/NodeJsSupportImpl.java | 2 +-
.../javascript/nodejs/exec/ExpressExecutable.java | 2 +-
.../javascript/nodejs/exec/NodeExecutable.java | 83 +-
.../javascript/nodejs/exec/NodeProcesses.java | 154 +
.../javascript/nodejs/exec/NpmExecutable.java | 46 +-
.../javascript/nodejs/file/ImportantFilesImpl.java | 6 +-
.../nodejs/misc/SharabilityQueryImpl.java | 47 +-
.../javascript/nodejs/options/NodeJsOptions.java | 33 +-
.../nodejs/platform/NodeJsPlatformProvider.java | 2 +
.../javascript/nodejs/platform/NodeJsSupport.java | 24 +-
.../nodejs/problems/NodeJsProblemsProvider.java | 4 +-
.../modules/javascript/nodejs/ui/Bundle.properties | 1 -
.../javascript/nodejs/ui/NodeJsPathPanel.form | 12 +-
.../javascript/nodejs/ui/NodeJsPathPanel.java | 70 +-
.../javascript/nodejs/ui/Notifications.java | 31 +
.../nodejs/ui/actions/DebugProjectCommand.java | 6 +-
.../nodejs/ui/actions/ProjectCommand.java | 16 +-
.../nodejs/ui/actions/RunProjectCommand.java | 6 +-
.../nodejs/ui/libraries/DependenciesPanel.java | 7 +-
.../javascript/nodejs/ui/libraries/Library.java | 2 +
.../nodejs/ui/libraries/LibraryProvider.java | 7 +-
.../javascript/nodejs/ui/options/Bundle.properties | 5 +-
.../nodejs/ui/options/NodeJsOptionsPanel.form | 10 +
.../nodejs/ui/options/NodeJsOptionsPanel.java | 30 +-
.../ui/options/NodeJsOptionsPanelController.java | 10 +-
.../nodejs/ui/wizard/ExpressPanelVisual.java | 8 +-
.../modules/javascript/nodejs/util/FileUtils.java | 2 +-
.../javascript/nodejs/util/GraalVmUtils.java | 110 +
.../modules/javascript/nodejs/util/NodeInfo.java | 101 -
.../javascript/nodejs/util/NodeJsUtils.java | 25 +
.../javascript/nodejs/util/ValidationUtils.java | 2 +-
javascript.v8debug.ui/build.xml | 50 +
javascript.v8debug.ui/manifest.mf | 6 +
javascript.v8debug.ui/nbproject/project.properties | 47 +
javascript.v8debug.ui/nbproject/project.xml | 252 +
.../org.netbeans.spi.viewmodel.ColumnModel | 0
.../javascript/v8debug/ui/Bundle.properties | 45 +
.../modules/javascript/v8debug/ui/EditorUtils.java | 127 +
.../v8debug/ui/ErrorMessageHandlerImpl.java | 68 +
.../ui/V8DebuggerEngineComponentsProvider.java | 137 +
.../v8debug/ui/actions/V8DebugActionsProvider.java | 149 +
.../v8debug/ui/annotation/CallStackAnnotation.java | 68 +
.../ui/annotation/CallStackAnnotationListener.java | 240 +
.../ui/annotation/CurrentLineAnnotation.java | 68 +
.../v8debug/ui/attach/AttachCustomizer.form | 160 +
.../v8debug/ui/attach/AttachCustomizer.java | 439 +
.../v8debug/ui}/attach/Bundle.properties | 0
.../javascript/v8debug/ui/attach/V8AttachType.java | 79 +
.../ui/callstack/DebuggingViewSupportImpl.java | 143 +
.../javascript/v8debug/ui/callstack/JSThread.java | 158 +
.../ui/callstack/models/DebuggingActionsModel.java | 188 +
.../ui/callstack/models/DebuggingModel.java | 298 +
.../v8debug/ui/eval/EvaluationResultsModel.java | 334 +
.../v8debug/ui/eval/V8CodeEvaluator.java | 193 +
.../javascript/v8debug/ui/eval/VarOrError.java | 78 +
.../v8debug/ui}/resources/Bundle.properties | 0
.../javascript/v8debug/ui/resources/mf-layer.xml | 197 +
.../ui/vars/models/PinWatchValueProvider.java | 244 +
.../v8debug/ui/vars/models/VariablesModel.java | 629 +
.../v8debug/ui/vars/models/WatchesModel.java | 434 +
.../v8debug/ui/vars/tooltip/ToolTipAnnotation.java | 134 +
javascript.v8debug/manifest.mf | 3 +-
javascript.v8debug/nbproject/project.properties | 4 +-
javascript.v8debug/nbproject/project.xml | 83 +-
.../modules/javascript/v8debug/EditorUtils.java | 121 -
.../modules/javascript/v8debug/ScriptsHandler.java | 139 +-
.../modules/javascript/v8debug/V8Debugger.java | 74 +-
.../V8DebuggerEngineComponentsProvider.java | 136 -
.../v8debug/actions/V8DebugActionsProvider.java | 33 -
.../v8debug/annotation/CallStackAnnotation.java | 68 -
.../annotation/CallStackAnnotationListener.java | 240 -
.../v8debug/annotation/CurrentLineAnnotation.java | 68 -
.../v8debug/attach/AttachCustomizer.form | 160 -
.../v8debug/attach/AttachCustomizer.java | 439 -
.../javascript/v8debug/attach/V8AttachType.java | 79 -
.../v8debug/breakpoints/BreakpointsHandler.java | 67 +-
.../v8debug/breakpoints/JSBreakpointsManager.java | 7 +-
.../v8debug/breakpoints/SubmittedBreakpoint.java | 21 +-
.../breakpoints/V8BreakpointsActiveService.java | 16 +-
.../callstack/DebuggingViewSupportImpl.java | 143 -
.../javascript/v8debug/callstack/JSThread.java | 158 -
.../callstack/models/DebuggingActionsModel.java | 188 -
.../v8debug/callstack/models/DebuggingModel.java | 283 -
.../javascript/v8debug/frames/CallFrame.java | 69 +-
.../javascript/v8debug/frames/CallStack.java | 13 +-
.../javascript/v8debug/resources/mf-layer.xml | 197 -
.../v8debug/sources/SourceMapsTranslator.java | 143 -
.../javascript/v8debug/vars/V8Evaluator.java | 11 +-
.../v8debug/vars/eval/EvaluationResultsModel.java | 334 -
.../v8debug/vars/eval/V8CodeEvaluator.java | 193 -
.../javascript/v8debug/vars/eval/VarOrError.java | 78 -
.../v8debug/vars/models/VariablesModel.java | 613 -
.../v8debug/vars/models/WatchesModel.java | 434 -
.../v8debug/vars/tooltip/ToolTipAnnotation.java | 95 -
.../v8debug/vars/tooltip/ToolTipModel.java | 107 -
.../vars/tooltip/V8DebuggerTooltipSupport.java | 118 -
javascript2.debug.ui/build.xml | 50 +
javascript2.debug.ui/manifest.mf | 6 +
javascript2.debug.ui/nbproject/project.properties | 51 +
javascript2.debug.ui/nbproject/project.xml | 229 +
.../modules/javascript2/debug/ui/Bundle.properties | 45 +
.../javascript2/debug/ui/EditorContextSetter.java | 168 +
.../modules/javascript2/debug/ui/JSUtils.java | 202 +
.../javascript2/debug/ui/TextLineHandler.java | 55 +
.../annotation/BreakpointAnnotationListener.java | 96 +
.../ui/annotation/BreakpointAnnotationManager.java | 284 +
.../ui/annotation/LineBreakpointAnnotation.java | 142 +
.../debug/ui/breakpoints/Bundle.properties | 48 +
.../debug/ui/breakpoints/ControllerProvider.java | 55 +
.../ui/breakpoints/JSLineBreakpointCustomizer.java | 106 +
.../JSLineBreakpointCustomizerPanel.form | 125 +
.../JSLineBreakpointCustomizerPanel.java | 357 +
.../debug/ui/breakpoints/JSLineBreakpointType.java | 109 +
.../ToggleBreakpointActionProvider.java | 108 +
.../ui/editor/EditorLineHandlerFactoryImpl.java | 86 +
.../javascript2/debug/ui/editor/FutureLine.java | 98 +
.../javascript2/debug/ui/editor/LineDelegate.java | 177 +
.../debug/ui/models/ViewModelSupport.java | 134 +
.../breakpoints/BreakpointNodeActionProvider.java | 208 +
.../ui/models/breakpoints/BreakpointNodeModel.java | 239 +
.../debug/ui}/resources/global_variable_16.png | Bin
.../debug/ui}/resources/proto_variable_16.png | Bin
.../ui/tooltip/AbstractJSToolTipAnnotation.java | 299 +
javascript2.debug/manifest.mf | 2 +-
javascript2.debug/nbproject/project.xml | 100 +-
.../javascript2/debug/EditorContextSetter.java | 168 -
.../javascript2/debug/EditorLineHandler.java | 86 +
.../debug/EditorLineHandlerFactory.java | 74 +
.../modules/javascript2/debug/JSUtils.java | 186 -
.../modules/javascript2/debug/NamesTranslator.java | 202 +
.../annotation/BreakpointAnnotationListener.java | 96 -
.../annotation/BreakpointAnnotationManager.java | 283 -
.../debug/annotation/LineBreakpointAnnotation.java | 142 -
.../javascript2/debug/breakpoints/FutureLine.java | 98 -
.../debug/breakpoints/JSBreakpointsInfo.java | 2 -
.../breakpoints/JSBreakpointsInfoManager.java | 12 -
.../debug/breakpoints/JSLineBreakpoint.java | 111 +-
.../breakpoints/JSLineBreakpointBeanInfo.java | 15 +-
.../debug/breakpoints/JSLineBreakpointType.java | 109 -
.../ToggleBreakpointActionProvider.java | 107 -
.../debug/breakpoints/io/JSBreakpointReader.java | 28 +-
.../models/BreakpointNodeActionProvider.java | 207 -
.../breakpoints/models/BreakpointNodeModel.java | 239 -
.../debug/breakpoints/ui/Bundle.properties | 6 -
.../debug/breakpoints/ui/ControllerProvider.java | 55 -
.../breakpoints/ui/JSLineBreakpointCustomizer.java | 107 -
.../ui/JSLineBreakpointCustomizerPanel.form | 125 -
.../ui/JSLineBreakpointCustomizerPanel.java | 356 -
.../javascript2/debug/models/ViewModelSupport.java | 134 -
.../javascript2/debug/sources/SourceURLMapper.java | 6 +-
.../javascript2/debug/spi/SourceElementsQuery.java | 107 +
.../debug/tooltip/AbstractJSToolTipAnnotation.java | 321 -
.../debug/tooltip/DebuggerTooltipSupport.java | 69 -
.../javascript2/debug/tooltip/ToolTipView.java | 352 -
javascript2.doc/build.xml | 44 +
javascript2.doc/manifest.mf | 6 +
javascript2.doc/nbproject/project.properties | 40 +
javascript2.doc/nbproject/project.xml | 245 +
.../modules/javascript2/doc/Bundle.properties | 38 +
.../javascript2/doc/DocumentationUtils.java | 58 +
.../doc/JsDocumentationFallbackHolder.java | 96 +
.../doc/JsDocumentationFallbackProvider.java | 81 +
.../doc/JsDocumentationFallbackSyntaxProvider.java | 77 +
.../javascript2/doc/JsDocumentationReader.java | 87 +
.../javascript2/doc/JsDocumentationResolver.java | 111 +
.../doc/api/JsDocumentationPrinter.java | 380 +
.../doc/api/JsDocumentationSupport.java | 121 +
.../doc/spi/AnnotationCompletionTag.java | 145 +
.../doc/spi/AnnotationCompletionTagProvider.java | 90 +
.../modules/javascript2/doc/spi/DocParameter.java | 85 +
.../doc/spi/DocumentationContainer.java | 67 +
.../modules/javascript2/doc/spi/JsComment.java | 177 +
.../javascript2/doc/spi/JsDocumentationHolder.java | 350 +
.../doc/spi/JsDocumentationProvider.java | 83 +
.../modules/javascript2/doc/spi/JsModifier.java | 83 +
.../javascript2/doc/spi/ParameterFormat.java | 74 +
.../javascript2/doc/spi/SyntaxProvider.java | 99 +
.../test/unit/data/testfiles/doc/commonDocFile.js | 0
.../doc/holder/testGetCommentWhereNotPossible.js | 0
.../testGetCommentWithBracesOnVariousLine.js | 0
.../testfiles/doc/holder/testGetCorrectComment.js | 0
.../javascript2/doc/JsDocumentationReaderTest.java | 90 +
.../javascript2/doc/JsDocumentationTestBase.java | 380 +
.../doc/api/JsDocumentationHolderTest.java | 111 +
javascript2.editor/build.xml | 95 +-
javascript2.editor/external/binaries-list | 3 +
javascript2.editor/manifest.mf | 2 +-
javascript2.editor/nbproject/project.properties | 41 +-
javascript2.editor/nbproject/project.xml | 152 +-
.../editor/CompletionContextFinder.java | 42 +-
.../javascript2/editor/FSCompletionItem.java | 240 +
.../modules/javascript2/editor/FileUtils.java | 201 +
.../javascript2/editor/JsBracesMatcher.java | 77 +-
.../javascript2/editor/JsCamelCaseInterceptor.java | 4 +-
.../javascript2/editor/JsCodeCompletion.java | 244 +-
.../javascript2/editor/JsCodeTemplateFilter.java | 76 +
.../javascript2/editor/JsCompletionItem.java | 110 +-
.../editor/JsDeletedTextInterceptor.java | 8 +-
.../javascript2/editor/JsInstantRenamer.java | 87 +
.../javascript2/editor/JsKeyStrokeHandler.java | 144 +-
.../modules/javascript2/editor/JsKeyWords.java | 98 -
.../modules/javascript2/editor/JsKeywords.java | 139 +
.../modules/javascript2/editor/JsLanguage.java | 5 +-
.../modules/javascript2/editor/JsPreferences.java | 96 +
.../javascript2/editor/JsSemanticAnalyzer.java | 269 +-
.../javascript2/editor/JsStructureScanner.java | 180 +-
.../editor/JsTypedBreakInterceptor.java | 115 +-
.../javascript2/editor/JsTypedTextInterceptor.java | 45 +-
.../modules/javascript2/editor/JsVersion.java | 84 +
.../javascript2/editor/JsonCodeCompletion.java | 350 +
.../javascript2/editor/JsonInstantRenamer.java | 78 +
.../modules/javascript2/editor/JsonLanguage.java | 66 +-
.../netbeans/modules/javascript2/editor/Utils.java | 170 +-
.../editor/actions/InsertSemicolonAction.java | 2 +-
.../javascript2/editor/api/FrameworksUtils.java | 18 +-
.../javascript2/editor/api/lexer/JsTokenId.java | 309 -
.../javascript2/editor/api/lexer/LexUtilities.java | 648 -
.../javascript2/editor/api/package-info.java | 68 -
.../editor/classpath/ClassPathProviderImpl.java | 15 +-
.../javascript2/editor/doc/DocumentationUtils.java | 58 -
.../editor/doc/JsDocCodeTemplateFilter.java | 80 +
.../editor/doc/JsDocumentationCodeCompletion.java | 26 +-
.../editor/doc/JsDocumentationCompleter.java | 107 +-
.../editor/doc/JsDocumentationFallbackHolder.java | 96 -
.../doc/JsDocumentationFallbackProvider.java | 81 -
.../doc/JsDocumentationFallbackSyntaxProvider.java | 77 -
.../editor/doc/JsDocumentationPrinter.java | 344 -
.../editor/doc/JsDocumentationReader.java | 87 -
.../editor/doc/JsDocumentationResolver.java | 111 -
.../editor/doc/api/JsDocumentationSupport.java | 134 -
.../editor/doc/spi/AnnotationCompletionTag.java | 143 -
.../doc/spi/AnnotationCompletionTagProvider.java | 90 -
.../javascript2/editor/doc/spi/DocParameter.java | 85 -
.../javascript2/editor/doc/spi/JsComment.java | 175 -
.../editor/doc/spi/JsDocumentationHolder.java | 337 -
.../editor/doc/spi/JsDocumentationProvider.java | 83 -
.../javascript2/editor/doc/spi/JsModifier.java | 83 -
.../javascript2/editor/doc/spi/SyntaxProvider.java | 99 -
.../editor/embedding/JsEmbeddingProvider.java | 75 +-
.../ExtDocAnnotationCompletionTagProvider.java | 108 -
.../javascript2/editor/extdoc/ExtDocComment.java | 242 -
.../editor/extdoc/ExtDocDocumentationHolder.java | 67 -
.../editor/extdoc/ExtDocDocumentationProvider.java | 96 -
.../javascript2/editor/extdoc/ExtDocParser.java | 158 -
.../editor/extdoc/ExtDocSyntaxProvider.java | 72 -
.../editor/extdoc/completion/DescriptionTag.java | 67 -
.../extdoc/completion/IdentDescribedTag.java | 72 -
.../editor/extdoc/completion/IdentSimpleTag.java | 67 -
.../editor/extdoc/completion/TypeDescribedTag.java | 74 -
.../editor/extdoc/completion/TypeNamedTag.java | 79 -
.../editor/extdoc/completion/TypeSimpleTag.java | 69 -
.../editor/extdoc/model/ExtDocBaseElement.java | 70 -
.../extdoc/model/ExtDocDescriptionElement.java | 78 -
.../editor/extdoc/model/ExtDocElement.java | 56 -
.../editor/extdoc/model/ExtDocElementType.java | 128 -
.../editor/extdoc/model/ExtDocElementUtils.java | 242 -
.../extdoc/model/ExtDocIdentDescribedElement.java | 79 -
.../extdoc/model/ExtDocIdentSimpleElement.java | 78 -
.../editor/extdoc/model/ExtDocSimpleElement.java | 65 -
.../extdoc/model/ExtDocTypeDescribedElement.java | 106 -
.../extdoc/model/ExtDocTypeNamedElement.java | 130 -
.../extdoc/model/ExtDocTypeSimpleElement.java | 105 -
.../javascript2/editor/formatter/CodeStyle.java | 85 +-
.../javascript2/editor/formatter/Defaults.java | 2 +-
.../javascript2/editor/formatter/FmtOptions.java | 26 +-
.../editor/formatter/FormatContext.java | 238 +-
.../javascript2/editor/formatter/FormatToken.java | 113 +-
.../editor/formatter/FormatTokenStream.java | 55 +-
.../editor/formatter/FormatVisitor.java | 1381 -
.../editor/formatter/IndentContext.java | 2 +-
.../editor/formatter/JsFormatVisitor.java | 1570 +
.../javascript2/editor/formatter/JsFormatter.java | 444 +-
.../editor/formatter/JsonFormatVisitor.java | 204 +
.../javascript2/editor/formatter/TokenUtils.java | 245 +
.../javascript2/editor/formatter/ui/BlankLines.js | 81 +
.../javascript2/editor/formatter/ui/Braces.js | 6 +
.../editor/formatter/ui/Bundle.properties | 15 +-
.../editor/formatter/ui/FmtAlignment.java | 2 +-
.../editor/formatter/ui/FmtBlankLines.form | 161 +
.../editor/formatter/ui/FmtBlankLines.java | 199 +
.../javascript2/editor/formatter/ui/FmtBraces.form | 37 +-
.../javascript2/editor/formatter/ui/FmtBraces.java | 24 +-
.../javascript2/editor/formatter/ui/FmtSpaces.java | 7 +-
.../editor/formatter/ui/FmtTabsIndents.java | 2 +-
.../editor/formatter/ui/FmtWrapping.form | 185 +-
.../editor/formatter/ui/FmtWrapping.java | 107 +-
.../javascript2/editor/formatter/ui/Spaces.js | 9 +
.../javascript2/editor/formatter/ui/Wrapping.js | 4 +-
.../editor/formatter/ui/json/BlankLines.json | 17 +
.../editor/formatter/ui/json/Bundle.properties | 5 +
.../editor/formatter/ui/json/FmtBlankLines.form | 136 +
.../editor/formatter/ui/json/FmtBlankLines.java | 180 +
.../editor/formatter/ui/json/FmtSpaces.java | 3 +-
.../editor/formatter/ui/json/FmtTabsIndents.java | 2 +-
.../editor/formatter/ui/json/FmtWrapping.java | 2 +-
.../javascript2/editor/hints/Ecma6Rule.java | 279 +
.../javascript2/editor/hints/Ecma7Rule.java | 275 +
.../javascript2/editor/hints/EcmaLevelRule.java | 114 +
.../editor/hints/GlobalIsNotDefined.java | 34 +-
.../editor/hints/HintsAdvancedOption.java | 2 +-
.../editor/hints/IncorrectReturnStatement.java | 6 +-
.../javascript2/editor/hints/JSHintSupport.java | 62 +-
.../javascript2/editor/hints/JsConventionRule.java | 177 +-
.../editor/hints/JsFunctionDocumentationRule.java | 28 +-
.../javascript2/editor/hints/JsHintsProvider.java | 86 +-
.../javascript2/editor/hints/WeirdAssignment.java | 17 +-
.../javascript2/editor/index/IndexedElement.java | 592 -
.../modules/javascript2/editor/index/JsIndex.java | 582 -
.../javascript2/editor/index/JsIndexer.java | 209 +-
.../editor/index/QuerySupportFactory.java | 9 +-
.../JsDocAnnotationCompletionTagProvider.java | 108 -
.../javascript2/editor/jsdoc/JsDocComment.java | 320 -
.../javascript2/editor/jsdoc/JsDocCommentType.java | 71 -
.../editor/jsdoc/JsDocDocumentationHolder.java | 69 -
.../editor/jsdoc/JsDocDocumentationProvider.java | 92 -
.../javascript2/editor/jsdoc/JsDocParser.java | 203 -
.../editor/jsdoc/JsDocSyntaxProvider.java | 72 -
.../editor/jsdoc/completion/AssingTag.java | 73 -
.../editor/jsdoc/completion/DescriptionTag.java | 67 -
.../editor/jsdoc/completion/LinkTag.java | 67 -
.../editor/jsdoc/completion/TypeDescribedTag.java | 74 -
.../editor/jsdoc/completion/TypeNamedTag.java | 79 -
.../editor/jsdoc/completion/TypeSimpleTag.java | 69 -
.../editor/jsdoc/model/AssignElement.java | 82 -
.../editor/jsdoc/model/DeclarationElement.java | 77 -
.../editor/jsdoc/model/DescriptionElement.java | 78 -
.../editor/jsdoc/model/JsDocElement.java | 69 -
.../editor/jsdoc/model/JsDocElementImpl.java | 65 -
.../editor/jsdoc/model/JsDocElementType.java | 141 -
.../editor/jsdoc/model/JsDocElementUtils.java | 284 -
.../editor/jsdoc/model/LinkElement.java | 72 -
.../javascript2/editor/jsdoc/model/NamePath.java | 64 -
.../editor/jsdoc/model/NamedParameterElement.java | 201 -
.../editor/jsdoc/model/ParameterElement.java | 79 -
.../editor/jsdoc/model/SimpleElement.java | 66 -
.../jsdoc/model/UnnamedParameterElement.java | 88 -
.../editor/lexer/JavaScriptColoringLexer.java | 1705 -
.../editor/lexer/JsDocumentationColoringLexer.java | 823 -
.../editor/lexer/JsDocumentationLexer.java | 103 -
.../editor/lexer/JsDocumentationTokenId.java | 144 -
.../modules/javascript2/editor/lexer/JsLexer.java | 103 -
.../editor/lexer/JsonColoringLexer.java | 771 -
.../javascript2/editor/lexer/JsonLexer.java | 103 -
.../javascript2/editor/model/DeclarationScope.java | 58 -
.../javascript2/editor/model/Identifier.java | 63 -
.../modules/javascript2/editor/model/JsArray.java | 54 -
.../javascript2/editor/model/JsElement.java | 119 -
.../javascript2/editor/model/JsFunction.java | 61 -
.../modules/javascript2/editor/model/JsObject.java | 106 -
.../javascript2/editor/model/JsReference.java | 52 -
.../modules/javascript2/editor/model/JsWith.java | 61 -
.../modules/javascript2/editor/model/Model.java | 918 -
.../javascript2/editor/model/ModelFactory.java | 59 -
.../javascript2/editor/model/Occurrence.java | 54 -
.../editor/model/OccurrencesSupport.java | 154 -
.../modules/javascript2/editor/model/Type.java | 70 -
.../javascript2/editor/model/TypeUsage.java | 52 -
.../editor/model/impl/AnonymousObject.java | 106 -
.../editor/model/impl/CatchBlockImpl.java | 109 -
.../editor/model/impl/DeclarationScopeImpl.java | 111 -
.../model/impl/FunctionArgumentAccessor.java | 91 -
.../FunctionInterceptorRegistrationProcessor.java | 81 -
.../editor/model/impl/IdentifierImpl.java | 104 -
.../javascript2/editor/model/impl/JsArrayImpl.java | 155 -
.../editor/model/impl/JsArrayReference.java | 76 -
.../editor/model/impl/JsElementImpl.java | 263 -
.../editor/model/impl/JsFunctionImpl.java | 366 -
.../editor/model/impl/JsFunctionReference.java | 108 -
.../editor/model/impl/JsInstantRenamer.java | 86 -
.../editor/model/impl/JsObjectImpl.java | 830 -
.../editor/model/impl/JsObjectReference.java | 148 -
.../editor/model/impl/JsWithObjectImpl.java | 243 -
.../editor/model/impl/ModelBuilder.java | 152 -
.../editor/model/impl/ModelElementFactory.java | 304 -
.../model/impl/ModelElementFactoryAccessor.java | 80 -
.../editor/model/impl/ModelExtender.java | 143 -
.../ModelInterceptorRegistrationProcessor.java | 81 -
.../javascript2/editor/model/impl/ModelUtils.java | 1754 -
.../editor/model/impl/ModelVisitor.java | 2535 --
.../ObjectInterceptorRegistrationProcessor.java | 81 -
.../editor/model/impl/OccurrenceBuilder.java | 225 -
.../editor/model/impl/OccurrenceImpl.java | 96 -
.../editor/model/impl/ParameterObject.java | 115 -
.../editor/model/impl/PathNodeVisitor.java | 472 -
.../editor/model/impl/SemiTypeResolverVisitor.java | 492 -
...eDisplayNameConvertorRegistrationProcessor.java | 82 -
.../editor/model/impl/TypeUsageImpl.java | 121 -
.../editor/model/impl/UsageBuilder.java | 50 -
.../editor/navigation/DeclarationFinderImpl.java | 118 +-
.../editor/navigation/JsIndexSearcher.java | 26 +-
.../editor/navigation/JsonOccurrencesFinder.java | 183 +
.../editor/navigation/OccurrencesFinderImpl.java | 28 +-
.../editor/navigation/OccurrencesSupport.java | 157 +
.../javascript2/editor/options/OptionsUtils.java | 2 +-
.../editor/parser/BaseParserResult.java | 150 +
.../javascript2/editor/parser/JsErrorManager.java | 333 +-
.../javascript2/editor/parser/JsParser.java | 101 +-
.../javascript2/editor/parser/JsParserError.java | 12 +-
.../javascript2/editor/parser/JsParserResult.java | 116 +-
.../javascript2/editor/parser/JsonParser.java | 144 +-
.../editor/parser/JsonParserResult.java | 78 +
.../editor/parser/SanitizingParser.java | 132 +-
.../javascript2/editor/resources/Bundle.properties | 2 +
.../editor/resources/DefaultKeyBindings-Mac.xml | 2 -
.../editor/resources/DefaultKeyBindings.xml | 4 +-
.../editor/resources/codetemplates-doc.xml | 72 +-
.../javascript2/editor/resources/codetemplates.xml | 139 +-
.../editor/resources/fontsColors-bluetheme.xml | 49 +-
.../editor/resources/fontsColors-citylights.xml | 45 +-
.../javascript2/editor/resources/fontsColors.xml | 43 +
.../editor/resources/generatorPrivate.png | Bin 0 -> 787 bytes
.../editor/resources/generatorPriviliged.png | Bin 0 -> 744 bytes
.../editor/resources/generatorPublic.png | Bin 0 -> 592 bytes
.../javascript2/editor/resources/javascript.html | 18 +-
.../modules/javascript2/editor/resources/json.html | 18 +-
.../modules/javascript2/editor/resources/layer.xml | 81 +-
.../sdoc/SDocAnnotationCompletionTagProvider.java | 100 -
.../javascript2/editor/sdoc/SDocComment.java | 278 -
.../editor/sdoc/SDocDocumentationHolder.java | 67 -
.../editor/sdoc/SDocDocumentationProvider.java | 96 -
.../javascript2/editor/sdoc/SDocParser.java | 158 -
.../editor/sdoc/SDocSyntaxProvider.java | 72 -
.../editor/sdoc/completion/DescriptionTag.java | 67 -
.../editor/sdoc/completion/IdentifierTag.java | 67 -
.../editor/sdoc/completion/TypeDescribedTag.java | 74 -
.../editor/sdoc/completion/TypeNamedTag.java | 79 -
.../editor/sdoc/completion/TypeSimpleTag.java | 69 -
.../editor/sdoc/elements/SDocBaseElement.java | 69 -
.../sdoc/elements/SDocDescriptionElement.java | 78 -
.../editor/sdoc/elements/SDocElement.java | 56 -
.../editor/sdoc/elements/SDocElementType.java | 127 -
.../editor/sdoc/elements/SDocElementUtils.java | 208 -
.../sdoc/elements/SDocIdentifierElement.java | 78 -
.../editor/sdoc/elements/SDocSimpleElement.java | 65 -
.../sdoc/elements/SDocTypeDescribedElement.java | 106 -
.../editor/sdoc/elements/SDocTypeNamedElement.java | 113 -
.../sdoc/elements/SDocTypeSimpleElement.java | 105 -
.../javascript2/editor/spi/CompletionContext.java | 8 +-
.../javascript2/editor/spi/PostScanProvider.java | 53 +
.../editor/spi/model/FunctionArgument.java | 121 -
.../editor/spi/model/FunctionInterceptor.java | 82 -
.../editor/spi/model/ModelElementFactory.java | 681 -
.../editor/spi/model/ModelInterceptor.java | 66 -
.../editor/spi/model/ObjectInterceptor.java | 65 -
.../editor/spi/model/TypeDisplayNameConvertor.java | 73 -
.../javascript2/editor/ui/Bundle.properties | 44 +
.../javascript2/editor/ui/ECMAScriptPanel.form | 80 +
.../javascript2/editor/ui/ECMAScriptPanel.java | 218 +
.../editor/ui/ECMAVersionCustomizer.java | 94 +
.../javascript2/editor/ui/NumericKeyListener.java | 75 +
.../data/testfiles/coloring/Formatter.js.semantic | 4 +-
.../testfiles/coloring/assignments01.js.structure | 4 +-
.../data/testfiles/coloring/czechChars.js.ast.xml | 366 +
.../data/testfiles/coloring/czechChars.js.model | 48 -
.../testfiles/coloring/issue215839.js.semantic | 2 +-
.../testfiles/coloring/issue224075.js.semantic | 4 +-
.../testfiles/coloring/issue246451.js.structure | 12 +-
.../testfiles/coloring/issue251778.js.semantic | 2 +-
.../testfiles/coloring/issue251819.js.semantic | 10 +-
.../testfiles/coloring/issue252469.js.semantic | 2 +-
.../testfiles/coloring/issue252656.js.semantic | 4 +-
.../testfiles/coloring/issue253129.js.semantic | 2 +-
.../testfiles/coloring/issue253348.js.semantic | 2 +-
.../unit/data/testfiles/coloring/issue254189.js | 12 +
.../testfiles/coloring/issue254189.js.semantic | 12 +
.../issue254189.js.testIssue254189_01.occurrences | 2 +
.../unit/data/testfiles/coloring/issue257509.js | 2 +
.../testfiles/coloring/issue257509.js.semantic | 2 +
.../unit/data/testfiles/coloring/issue258857.js | 10 +
.../testfiles/coloring/issue258857.js.semantic | 10 +
.../unit/data/testfiles/coloring/issue258968.js | 9 +
.../testfiles/coloring/issue258968.js.semantic | 9 +
.../unit/data/testfiles/coloring/issue267423.js | 4 +
.../testfiles/coloring/issue267423.js.semantic | 4 +
.../data/testfiles/coloring/semanticalKeywords.js | 72 +
.../coloring/semanticalKeywords.js.semantic | 72 +
.../completion/arguments/arguments.js.model | 64 -
...ts.js.testFunctionObjectProperties02.completion | 45 +-
...ts.js.testFunctionObjectProperties03.completion | 6 +-
.../arguments.js.testIssue215763.completion | 41 +-
...le.js.testFunctionObjectProperties01.completion | 45 +-
.../arrayliteral.js.testArrayLiteral01.completion | 10 +-
.../arrayliteral.js.testArrayLiteral02.completion | 10 +-
.../arrays/arrays1.js.testArrays01.completion | 75 +-
.../arrays/arrays2.js.testArrays04.completion | 75 +-
.../arrays/arrays3.js.testArrays05.completion | 75 +-
.../issue231267.js.testIssue231267_01.completion | 10 +-
.../issue231267.js.testIssue231267_02.completion | 10 +-
.../issue231449.js.testIssue231449_01.completion | 10 +-
.../issue231449.js.testIssue231449_02.completion | 10 +-
...01.js.testOfferingCallbackFunction01.completion | 94 +-
.../constructors.js.testConstructors_01.completion | 10 +
.../completion/ecmascript6/classes/class01.js | 12 +
.../classes/class01.js.testClassName01.completion | 5 +
.../classes/class01.js.testClassName02.completion | 7 +
.../completion/ecmascript6/classes/class04.js | 25 +
.../class04.js.testClassStaticMethod01.completion | 8 +
...yOffset.js.testFindObjectByOffset_01.completion | 19 +-
...yOffset.js.testFindObjectByOffset_02.completion | 6 +-
...yOffset.js.testFindObjectByOffset_03.completion | 19 +-
...yOffset.js.testFindObjectByOffset_04.completion | 6 +-
.../issue205127.js.testIssue205127_01.completion | 1 +
.../issue214205.js.testIssue214205_01.completion | 59 +-
.../issue214205.js.testIssue214205_02.completion | 48 +-
.../issue215353.js.testIssue215353.completion | 44 +-
.../issue215764.js.testIssue215764_01.completion | 10 +-
.../issue215863.js.testIssue215863_02.completion | 38 +-
.../issue215863.js.testIssue215863_03.completion | 2 +-
.../issue215863.js.testIssue215863_04.completion | 4 +
.../issue215863.js.testIssue215863_05.completion | 2 +
.../issue215863.js.testIssue215863_06.completion | 1 +
.../issue218689.html.testIssue218689.completion | 1 +
.../issue220088.js.testIssue220088_05.completion | 3 +-
.../issue220101.js.testIssue220101.completion | 2 +-
.../issue220621.js.testIssue220621_01.completion | 2 +-
.../issue220917.js.testIssue220917_01.completion | 8 +-
.../issue220917.js.testIssue220917_02.completion | 2 +-
.../issue222601.js.testIssue222601_01.completion | 10 +-
.../issue222993.js.testIssue222993_02.completion | 38 +-
.../issue222993.js.testIssue222993_03.completion | 38 +-
.../issue223037.js.testIssue223037_02.completion | 75 +-
.../issue223311.js.testIssue223311_01.completion | 19 +-
.../issue223681.js.testIssue223681_01.completion | 38 +-
.../issue223967.js.testIssue223967_01.completion | 19 +-
.../issue225986.js.testIssue225986_01.completion | 1 +
.../issue226521.js.testIssue226521_01.completion | 19 +-
.../issue226521.js.testIssue226521_02.completion | 6 +-
.../issue230667.js.testIssue230667_01.completion | 6 +-
.../issue230667.js.testIssue230667_02.completion | 6 +-
.../issue230667.js.testIssue230667_03.completion | 6 +-
.../issue230667.js.testIssue230667_04.completion | 19 +-
.../issue230667.js.testIssue230667_05.completion | 6 +-
.../issue230667.js.testIssue230667_06.completion | 5 +-
.../issue230736.js.testIssue230736_03.completion | 11 +-
.../issue230736.js.testIssue230736_04.completion | 6 +-
.../issue230736.js.testIssue230736_05.completion | 6 +-
.../issue230784.js.testIssue230784_01.completion | 4 +-
.../issue230784.js.testIssue230784_02.completion | 6 +-
.../issue230784.js.testIssue230784_03.completion | 6 +-
.../issue235206.js.testIssue235206_01.completion | 10 +-
.../issue235252.js.testIssue235252.completion | 2 +-
.../issue237421.js.testIssue237421_01.completion | 7 +-
.../issue237421.js.testIssue237421_03.completion | 1 +
.../issue238289.js.testIssue238289.completion | 2 +-
.../issue248132.js.testIssue248132_02.completion | 1 +
.../issue248132.js.testIssue248132_03.completion | 2 +-
.../issue251821.js.testIssue251821_01.completion | 2 +-
.../issue251821.js.testIssue251968_01.completion | 6 +-
.../completion/general/numberLiterals01.js | 6 +
.../general/numberLiterals01.js.semantic | 6 +
...berLiterals01.js.testNumberLiterals.occurrences | 3 +
...erLiterals01.js.testNumberLiterals01.completion | 9 +
...erLiterals01.js.testNumberLiterals02.completion | 9 +
...erLiterals01.js.testNumberLiterals03.completion | 9 +
...erLiterals01.js.testNumberLiterals04.completion | 9 +
.../completion/general/regExpLiterals01.js | 3 +
...xpLiterals01.js.testRegExpLiterals01.completion | 22 +
.../completion/general/stringLiterals01.js | 13 +
...ngLiterals01.js.testStringLiterals01.completion | 50 +
.../issue215746.js.testIssue215746_01.completion | 2 +
.../issue215746.js.testIssue215746_02.completion | 2 +-
.../issue215746.js.testIssue215746_03.completion | 2 +-
.../issue215777.js.testIssue215777_01.completion | 57 +-
.../issue215777.js.testIssue215777_02.completion | 57 +-
.../issue215861.js.testIssue215861_01.completion | 38 +-
.../issue215861.js.testIssue215861_02.completion | 38 +-
.../issue217100_1.js.testIssue217100_01.completion | 1 +
.../issue217100_2.js.testIssue217100_02.completion | 1 +
.../issue217100_3.js.testIssue217100_03.completion | 1 +
.../issue218361_1.js.testIssue218361_01.completion | 38 +-
.../issue218361_2.js.testIssue218361_02.completion | 38 +-
.../issue218361_3.js.testIssue218361_03.completion | 38 +-
.../issue218361_4.js.testIssue218361_04.completion | 38 +-
.../issue224453.js.testIssue224453_01.completion | 1 +
.../issue224453.js.testIssue224453_02.completion | 2 +-
.../issue224453.js.testIssue224453_03.completion | 9 +-
.../issue226650.html.testIssue226650.completion | 10 +
.../issue232178.js.testIssue232178_01.completion | 10 +
.../index.html.testIssue228634_01.completion | 5 +-
.../test.js.testIssue228634_02.completion | 5 +-
.../issue240914.js.testIssue240914_01.completion | 10 +
.../issue240914.js.testIssue240914_04.completion | 10 +
.../testfiles/completion/issue242454A.js.semantic | 2 +-
.../test243647.js.testIssue243647_02.completion | 2 +-
.../issue245252.js.testIssue245252_01.completion | 4 +-
.../app.js.testIssue246060_01.completion | 38 +-
.../unit/data/testfiles/completion/issue258724.js | 12 +
.../issue258724.js.testIssue258724_01.completion | 5 +
.../issue258724.js.testIssue258724_02.completion | 5 +
...1.js.testParameterTypesDocDefinition.completion | 105 +-
...s.testShowMethodDefinedInOtherFile01.completion | 38 +-
.../testFile.js.testGlobalContext01.completion | 2 +-
...meterTypesMethodDefinedInOtherFile01.completion | 38 +-
...s.testShowMethodDefinedInOtherFile02.completion | 38 +-
.../basicDocumentCC.js.testDocument01.completion | 10 +-
.../basicDocumentCC.js.testDocument02.completion | 2 +-
.../basicDocumentCC.js.testDocument03.completion | 2 +-
.../basicDocumentCC.js.testDocument04.completion | 2 +-
.../issue214556.js.testSimple01.completion | 65 +-
.../issue214556.js.testSimple02.completion | 65 +-
.../issue214556.js.testSimple03.completion | 65 +-
.../issue214556_test.js.testFromIndex.completion | 46 +-
...ainSimple.js.testMethodChainSimple01.completion | 38 +-
...ainSimple.js.testMethodChainSimple02.completion | 2 +-
...ainSimple.js.testMethodChainSimple03.completion | 38 +-
...ainSimple.js.testMethodChainSimple04.completion | 8 +-
...ainSimple.js.testMethodChainSimple05.completion | 101 +-
...ainSimple.js.testMethodChainSimple06.completion | 5 +-
.../completion/typeInferenceNew.js.structure | 2 +-
...ferenceNew.js.testTypeInferenceNew01.completion | 12 +-
.../completion/with/with1.js.testWith1.completion | 94 +-
.../completion/with/with2.js.testWith2.completion | 105 +-
.../completion/with/with3.js.testWith3.completion | 94 +-
.../test.js.testWith5.completion | 74 +-
.../test2.js.testProperty01.completion | 2 +
.../test2.js.testProperty02.completion | 3 +-
.../withAnonymous/with5.js.testWith5.completion | 231 +-
.../withAnonymous/with6.js.testWith6.completion | 38 +-
.../withComplex/with4.js.testWith4a.completion | 512 +-
.../withComplex/with4.js.testWith4b.completion | 517 +-
.../withComplex/with4.js.testWith4c.completion | 517 +-
.../completion/withIssue247788/virtualSource.js | 2 +-
.../virtualSource.js.testIssue247788_03.completion | 2 -
.../virtualSource.js.testIssue247788_04.completion | 1 -
.../completion/withIssue247788/virtualSource2.js | 2 +-
...virtualSource2.js.testIssue247788_01.completion | 42 +-
...virtualSource2.js.testIssue247788_02.completion | 38 +-
.../commentGenerator/testIssue218945-expected.js | 2 +-
.../commentGenerator/testIssue231420-expected.js | 2 +-
.../{extdoc => doc/resolver}/classWithExtDoc.js | 0
.../{jsdoc => doc/resolver}/classWithJsDoc.js | 0
.../{sdoc => doc/resolver}/classWithSDoc.js | 0
.../testfiles/ecmascript6/constant/constant01.js | 14 +
.../ecmascript6/constant/constant01.js.structure | 2 +
.../ecmascript6/generators/generator01.js | 9 +
.../ecmascript6/generators/generator01.js.semantic | 9 +
.../generators/generator01.js.structure | 3 +
.../generator01.js.testGenerator01_01.occurrences | 2 +
.../generator01.js.testGenerator01_02.occurrences | 2 +
.../generator01.js.testGenerators01_01.completion | 5 +
.../generator01.js.testGenerators01_02.completion | 7 +
.../ecmascript6/generators/generator02.js | 12 +
.../ecmascript6/generators/generator02.js.semantic | 12 +
.../generators/generator02.js.structure | 3 +
.../generator02.js.testGenerator02_01.occurrences | 4 +
.../generator02.js.testGenerator02_02.occurrences | 4 +
.../generator02.js.testGenerator02_03.occurrences | 3 +
.../generator02.js.testGenerator02_04.occurrences | 2 +
.../generator02.js.testGenerators02_01.completion | 7 +
.../ecmascript6/generators/generator03.js | 29 +
.../ecmascript6/generators/generator03.js.semantic | 29 +
.../generators/generator03.js.structure | 8 +
.../generator03.js.testGenerator03_01.occurrences | 2 +
.../generator03.js.testGenerators03_01.completion | 38 +
.../generator03.js.testGenerators03_02.completion | 38 +
.../ecmascript6/generators/generator04.js | 13 +
.../ecmascript6/generators/generator04.js.semantic | 13 +
.../generators/generator04.js.structure | 3 +
.../generator04.js.testGenerator04_01.occurrences | 2 +
.../generator04.js.testGenerators04_01.completion | 5 +
.../testfiles/ecmascript6/importExport/export01.js | 1 +
.../ecmascript6/importExport/exportdefault01.js | 8 +
.../importExport/exportdefault01.js.ast.xml | 159 +
.../testfiles/ecmascript6/importExport/import01.js | 4 +
.../ecmascript6/importExport/import01.js.structure | 1 +
.../ecmascript6/importExport/importExport01.js | 4 +
.../importExport/importExport01.js.ast.xml | 65 +
.../importExport/importFindDeclaration01.js | 5 +
.../importFindDeclaration01.js.ast.xml | 69 +
.../ecmascript6/importExport/issue262590.js | 7 +
.../importExport/issue262590.js.ast.xml | 77 +
.../importExport/issue262590.js.semantic | 7 +
.../importExport/issue262590.js.structure | 2 +
.../ecmascript6/importExport/issue262590_1.js | 7 +
.../importExport/issue262590_1.js.semantic | 7 +
.../importExport/issue262590_1.js.structure | 2 +
.../ecmascript6/importExport/lib/export02.js | 1 +
.../array-binding-pattern-01.js | 1 +
.../array-binding-pattern-01.js.ast.xml | 57 +
.../array-binding-pattern-02.js | 1 +
.../array-binding-pattern-02.js.ast.xml | 61 +
.../array-binding-pattern-03.js | 1 +
.../array-binding-pattern-03.js.ast.xml | 64 +
.../array-binding-pattern-empty.js | 1 +
.../array-binding-pattern-empty.js.ast.xml | 49 +
.../array-binding-pattern/elision.js | 1 +
.../array-binding-pattern/elision.js.ast.xml | 49 +
.../array-binding-pattern/invalid-dup-param.js | 1 +
.../invalid-dup-param.js.ast.xml | 14 +
.../invalid-elision-after-rest.js | 1 +
.../invalid-elision-after-rest.js.ast.xml | 14 +
.../parser/ES6/arrow-function/arrow-function01.js | 1 +
.../ES6/arrow-function/arrow-function01.js.ast.xml | 25 +
.../parser/ES6/arrow-function/arrow-function02.js | 1 +
.../ES6/arrow-function/arrow-function02.js.ast.xml | 28 +
.../parser/ES6/arrow-function/arrow-function03.js | 1 +
.../ES6/arrow-function/arrow-function03.js.ast.xml | 28 +
.../parser/ES6/arrow-function/arrow-function04.js | 1 +
.../ES6/arrow-function/arrow-function04.js.ast.xml | 31 +
.../parser/ES6/arrow-function/arrow-function05.js | 1 +
.../ES6/arrow-function/arrow-function05.js.ast.xml | 27 +
.../parser/ES6/arrow-function/arrow-function06.js | 1 +
.../ES6/arrow-function/arrow-function06.js.ast.xml | 40 +
.../parser/ES6/arrow-function/arrow-function07.js | 1 +
.../ES6/arrow-function/arrow-function07.js.ast.xml | 33 +
.../parser/ES6/arrow-function/arrow-function08.js | 1 +
.../ES6/arrow-function/arrow-function08.js.ast.xml | 30 +
.../parser/ES6/arrow-function/arrow-function09.js | 1 +
.../ES6/arrow-function/arrow-function09.js.ast.xml | 76 +
.../parser/ES6/arrow-function/arrow-function10.js | 1 +
.../ES6/arrow-function/arrow-function10.js.ast.xml | 28 +
.../parser/ES6/arrow-function/arrow-function11.js | 1 +
.../ES6/arrow-function/arrow-function11.js.ast.xml | 28 +
.../parser/ES6/arrow-function/arrow-function12.js | 1 +
.../ES6/arrow-function/arrow-function12.js.ast.xml | 28 +
.../parser/ES6/arrow-function/arrow-function13.js | 1 +
.../ES6/arrow-function/arrow-function13.js.ast.xml | 31 +
.../parser/ES6/arrow-function/arrow-function14.js | 1 +
.../ES6/arrow-function/arrow-function14.js.ast.xml | 67 +
.../parser/ES6/arrow-function/arrow-function15.js | 1 +
.../ES6/arrow-function/arrow-function15.js.ast.xml | 70 +
.../parser/ES6/arrow-function/arrow-function16.js | 1 +
.../ES6/arrow-function/arrow-function16.js.ast.xml | 30 +
.../parser/ES6/arrow-function/arrow-function17.js | 1 +
.../ES6/arrow-function/arrow-function17.js.ast.xml | 43 +
.../parser/ES6/arrow-function/arrow-function18.js | 1 +
.../ES6/arrow-function/arrow-function18.js.ast.xml | 62 +
.../parser/ES6/arrow-function/arrow-function19.js | 1 +
.../ES6/arrow-function/arrow-function19.js.ast.xml | 28 +
.../parser/ES6/arrow-function/arrow-function20.js | 1 +
.../ES6/arrow-function/arrow-function20.js.ast.xml | 34 +
.../parser/ES6/arrow-function/arrow-function21.js | 1 +
.../ES6/arrow-function/arrow-function21.js.ast.xml | 30 +
.../arrow-function/arrow-rest-forgetting-comma.js | 1 +
.../arrow-rest-forgetting-comma.js.ast.xml | 14 +
.../arrow-with-multiple-arg-and-rest.js | 1 +
.../arrow-with-multiple-arg-and-rest.js.ast.xml | 35 +
.../ES6/arrow-function/arrow-with-multiple-rest.js | 1 +
.../arrow-with-multiple-rest.js.ast.xml | 14 +
.../ES6/arrow-function/arrow-with-only-rest.js | 1 +
.../arrow-function/arrow-with-only-rest.js.ast.xml | 29 +
.../complex-rest-in-arrow-not-allowed.js | 1 +
.../complex-rest-in-arrow-not-allowed.js.ast.xml | 14 +
.../arrow-function/invalid-duplicated-params.js | 1 +
.../invalid-duplicated-params.js.ast.xml | 14 +
.../invalid-line-terminator-arrow.js | 2 +
.../invalid-line-terminator-arrow.js.ast.xml | 18 +
.../arrow-function/invalid-param-strict-mode.js | 1 +
.../invalid-param-strict-mode.js.ast.xml | 14 +
.../non-arrow-param-followed-by-arrow.js | 1 +
.../non-arrow-param-followed-by-arrow.js.ast.xml | 28 +
.../non-arrow-param-followed-by-rest.js | 1 +
.../non-arrow-param-followed-by-rest.js.ast.xml | 32 +
.../object-binding-pattern/invalid-member-expr.js | 1 +
.../invalid-member-expr.js.ast.xml | 14 +
.../invalid-method-in-pattern.js | 1 +
.../invalid-method-in-pattern.js.ast.xml | 14 +
.../object-binding-pattern/invalid-nested-param.js | 1 +
.../invalid-pattern-without-parenthesis.js | 1 +
.../invalid-pattern-without-parenthesis.js.ast.xml | 14 +
.../invalid-rest-in-object-pattern.js | 1 +
.../invalid-rest-in-object-pattern.js.ast.xml | 85 +
.../object-binding-pattern/nested-cover-grammar.js | 1 +
.../nested-cover-grammar.js.ast.xml | 113 +
.../object-binding-pattern-01.js | 1 +
.../object-binding-pattern-01.js.ast.xml | 120 +
.../object-binding-pattern-empty.js | 1 +
.../object-binding-pattern-empty.js.ast.xml | 50 +
.../param-with-rest-without-arrow.js | 1 +
.../param-with-rest-without-arrow.js.ast.xml | 14 +
.../ES6/arrow-function/rest-without-arrow.js | 1 +
.../arrow-function/rest-without-arrow.js.ast.xml | 14 +
.../binary-integer-literal01.js | 1 +
.../binary-integer-literal01.js.ast.xml | 13 +
.../binary-integer-literal02.js | 1 +
.../binary-integer-literal02.js.ast.xml | 13 +
.../binary-integer-literal03.js | 1 +
.../binary-integer-literal03.js.ast.xml | 13 +
.../binary-integer-literal04.js | 1 +
.../binary-integer-literal04.js.ast.xml | 13 +
.../binary-integer-literal05.js | 1 +
.../binary-integer-literal05.js.ast.xml | 13 +
.../binary-integer-literal06.js | 1 +
.../binary-integer-literal06.js.ast.xml | 13 +
.../array-pattern/arrayPattern01.js | 1 +
.../array-pattern/arrayPattern01.js.ast.xml | 23 +
.../array-pattern/arrayPattern02.js | 2 +
.../array-pattern/arrayPattern02.js.ast.xml | 39 +
.../array-pattern/arrayPattern03.js | 1 +
.../array-pattern/arrayPattern03.js.ast.xml | 37 +
.../binding-pattern/array-pattern/dupe-param.js | 4 +
.../array-pattern/dupe-param.js.ast.xml | 21 +
.../ES6/binding-pattern/array-pattern/elision.js | 1 +
.../array-pattern/elision.js.ast.xml | 28 +
.../array-pattern/empty-pattern-catch-param.js | 1 +
.../empty-pattern-catch-param.js.ast.xml | 14 +
.../array-pattern/empty-pattern-fn.js | 1 +
.../array-pattern/empty-pattern-fn.js.ast.xml | 54 +
.../array-pattern/empty-pattern-lexical.js | 1 +
.../array-pattern/empty-pattern-lexical.js.ast.xml | 21 +
.../array-pattern/empty-pattern-var.js | 1 +
.../array-pattern/empty-pattern-var.js.ast.xml | 20 +
.../binding-pattern/array-pattern/for-let-let.js | 1 +
.../array-pattern/for-let-let.js.ast.xml | 20 +
.../ES6/binding-pattern/array-pattern/hole.js | 1 +
.../binding-pattern/array-pattern/hole.js.ast.xml | 36 +
.../array-pattern/invalid-strict-for-let-let.js | 1 +
.../invalid-strict-for-let-let.js.ast.xml | 23 +
.../array-pattern/nested-pattern.js | 1 +
.../array-pattern/nested-pattern.js.ast.xml | 22 +
.../array-pattern/patterned-catch-dupe.js | 1 +
.../array-pattern/patterned-catch-dupe.js.ast.xml | 14 +
.../array-pattern/patterned-catch.js | 1 +
.../array-pattern/patterned-catch.js.ast.xml | 18 +
.../binding-pattern/array-pattern/rest.elision.js | 1 +
.../array-pattern/rest.elision.js.ast.xml | 14 +
.../ES6/binding-pattern/array-pattern/rest.js | 1 +
.../binding-pattern/array-pattern/rest.js.ast.xml | 31 +
.../binding-pattern/array-pattern/tailing-hold.js | 1 +
.../array-pattern/tailing-hold.js.ast.xml | 28 +
.../binding-pattern/array-pattern/var-for-in.js | 1 +
.../array-pattern/var-for-in.js.ast.xml | 45 +
.../binding-pattern/array-pattern/var_let_array.js | 1 +
.../array-pattern/var_let_array.js.ast.xml | 29 +
.../array-pattern/with-default-catch-param-fail.js | 1 +
.../with-default-catch-param-fail.js.ast.xml | 14 +
.../array-pattern/with-default-catch-param.js | 1 +
.../with-default-catch-param.js.ast.xml | 14 +
.../array-pattern/with-default-fn.js | 1 +
.../array-pattern/with-default-fn.js.ast.xml | 66 +
.../array-pattern/with-object-pattern.js | 1 +
.../array-pattern/with-object-pattern.js.ast.xml | 40 +
.../ES6/binding-pattern/object-pattern/elision.js | 1 +
.../object-pattern/elision.js.ast.xml | 38 +
.../object-pattern/empty-catch-param.js | 1 +
.../object-pattern/empty-catch-param.js.ast.xml | 18 +
.../ES6/binding-pattern/object-pattern/empty-fn.js | 1 +
.../object-pattern/empty-fn.js.ast.xml | 55 +
.../object-pattern/empty-for-lex.js | 1 +
.../object-pattern/empty-for-lex.js.ast.xml | 32 +
.../object-pattern/empty-lexical.js | 1 +
.../object-pattern/empty-lexical.js.ast.xml | 21 +
.../binding-pattern/object-pattern/empty-var.js | 1 +
.../object-pattern/empty-var.js.ast.xml | 21 +
.../binding-pattern/object-pattern/for-let-let.js | 1 +
.../object-pattern/for-let-let.js.ast.xml | 20 +
.../object-pattern/invalid-strict-for-let-let.js | 1 +
.../invalid-strict-for-let-let.js.ast.xml | 25 +
.../ES6/binding-pattern/object-pattern/nested.js | 1 +
.../object-pattern/nested.js.ast.xml | 33 +
.../binding-pattern/object-pattern/properties.js | 1 +
.../object-pattern/properties.js.ast.xml | 120 +
.../binding-pattern/object-pattern/var-for-in.js | 1 +
.../object-pattern/var-for-in.js.ast.xml | 64 +
.../ecmascript6/parser/ES6/class/class01.js | 1 +
.../parser/ES6/class/class01.js.ast.xml | 46 +
.../ecmascript6/parser/ES6/class/class02.js | 1 +
.../parser/ES6/class/class02.js.ast.xml | 70 +
.../ecmascript6/parser/ES6/class/class03.js | 1 +
.../parser/ES6/class/class03.js.ast.xml | 46 +
.../ecmascript6/parser/ES6/class/class04.js | 1 +
.../parser/ES6/class/class04.js.ast.xml | 46 +
.../ecmascript6/parser/ES6/class/class05.js | 1 +
.../parser/ES6/class/class05.js.ast.xml | 65 +
.../ecmascript6/parser/ES6/class/class06.js | 1 +
.../parser/ES6/class/class06.js.ast.xml | 84 +
.../ecmascript6/parser/ES6/class/class07.js | 1 +
.../parser/ES6/class/class07.js.ast.xml | 84 +
.../ecmascript6/parser/ES6/class/class08.js | 1 +
.../parser/ES6/class/class08.js.ast.xml | 84 +
.../ecmascript6/parser/ES6/class/class09.js | 1 +
.../parser/ES6/class/class09.js.ast.xml | 84 +
.../ecmascript6/parser/ES6/class/class10.js | 1 +
.../parser/ES6/class/class10.js.ast.xml | 0
.../ecmascript6/parser/ES6/class/class11.js | 1 +
.../parser/ES6/class/class11.js.ast.xml | 87 +
.../ecmascript6/parser/ES6/class/class12.js | 1 +
.../parser/ES6/class/class12.js.ast.xml | 100 +
.../ecmascript6/parser/ES6/class/class13.js | 1 +
.../parser/ES6/class/class13.js.ast.xml | 66 +
.../ecmascript6/parser/ES6/class/class14.js | 1 +
.../parser/ES6/class/class14.js.ast.xml | 66 +
.../ecmascript6/parser/ES6/class/class15.js | 1 +
.../parser/ES6/class/class15.js.ast.xml | 86 +
.../ecmascript6/parser/ES6/class/class16.js | 1 +
.../parser/ES6/class/class16.js.ast.xml | 66 +
.../ecmascript6/parser/ES6/class/class17.js | 1 +
.../parser/ES6/class/class17.js.ast.xml | 69 +
.../ecmascript6/parser/ES6/class/class18.js | 1 +
.../parser/ES6/class/class18.js.ast.xml | 65 +
.../ecmascript6/parser/ES6/class/class19.js | 1 +
.../parser/ES6/class/class19.js.ast.xml | 47 +
.../ecmascript6/parser/ES6/class/class20.js | 1 +
.../parser/ES6/class/class20.js.ast.xml | 61 +
.../ecmascript6/parser/ES6/class/class21.js | 1 +
.../parser/ES6/class/class21.js.ast.xml | 86 +
.../ecmascript6/parser/ES6/class/class22.js | 1 +
.../parser/ES6/class/class22.js.ast.xml | 64 +
.../ecmascript6/parser/ES6/class/class23.js | 1 +
.../parser/ES6/class/class23.js.ast.xml | 36 +
.../ecmascript6/parser/ES6/class/class24.js | 1 +
.../parser/ES6/class/class24.js.ast.xml | 36 +
.../ecmascript6/parser/ES6/class/class25.js | 1 +
.../parser/ES6/class/class25.js.ast.xml | 60 +
.../ecmascript6/parser/ES6/class/class26.js | 1 +
.../parser/ES6/class/class26.js.ast.xml | 60 +
.../ecmascript6/parser/ES6/class/class27.js | 1 +
.../parser/ES6/class/class27.js.ast.xml | 0
.../ecmascript6/parser/ES6/class/class28.js | 22 +
.../parser/ES6/class/class28.js.ast.xml | 285 +
.../default-parameter-value01.js | 1 +
.../default-parameter-value01.js.ast.xml | 74 +
.../default-parameter-value02.js | 1 +
.../default-parameter-value02.js.ast.xml | 76 +
.../default-parameter-value03.js | 1 +
.../default-parameter-value03.js.ast.xml | 86 +
.../array-pattern/dup-assignment.js | 1 +
.../array-pattern/dup-assignment.js.ast.xml | 32 +
.../array-pattern/elision.js | 1 +
.../array-pattern/elision.js.ast.xml | 20 +
.../array-pattern/member-expr-in-rest.js | 1 +
.../array-pattern/member-expr-in-rest.js.ast.xml | 32 +
.../array-pattern/nested-assignment.js | 1 +
.../array-pattern/nested-assignment.js.ast.xml | 57 +
.../array-pattern/nested-cover-grammar.js | 1 +
.../array-pattern/nested-cover-grammar.js.ast.xml | 43 +
.../array-pattern/simple-assignment.js | 1 +
.../array-pattern/simple-assignment.js.ast.xml | 23 +
.../invalid-cover-grammar.js | 1 +
.../invalid-cover-grammar.js.ast.xml | 75 +
.../invalid-group-assignment.js | 1 +
.../invalid-group-assignment.js.ast.xml | 14 +
.../empty-object-pattern-assignment.js | 1 +
.../empty-object-pattern-assignment.js.ast.xml | 21 +
.../object-pattern/invalid-lhs-01.js | 1 +
.../object-pattern/invalid-lhs-01.js.ast.xml | 14 +
.../object-pattern/invalid-lhs-02.js | 1 +
.../object-pattern/invalid-lhs-02.js.ast.xml | 14 +
.../object-pattern/invalid-pattern-with-method.js | 1 +
.../invalid-pattern-with-method.js.ast.xml | 14 +
.../object-pattern/nested-cover-grammar.js | 1 +
.../object-pattern/nested-cover-grammar.js.ast.xml | 87 +
.../object-pattern/object-pattern-assignment.js | 8 +
.../object-pattern-assignment.js.ast.xml | 128 +
.../ES6/export-declaration/export-const-number.js | 1 +
.../export-const-number.js.ast.xml | 40 +
.../export-default-array-no-semicolon.js | 1 +
.../export-default-array-no-semicolon.js.ast.xml | 27 +
.../ES6/export-declaration/export-default-array.js | 1 +
.../export-default-array.js.ast.xml | 27 +
.../ES6/export-declaration/export-default-class.js | 1 +
.../export-default-class.js.ast.xml | 71 +
.../export-default-expression.js | 1 +
.../export-default-expression.js.ast.xml | 35 +
.../export-declaration/export-default-function.js | 1 +
.../export-default-function.js.ast.xml | 21 +
.../export-default-named-function.js | 1 +
.../export-default-named-function.js.ast.xml | 21 +
.../export-declaration/export-default-number.js | 1 +
.../export-default-number.js.ast.xml | 25 +
.../export-declaration/export-default-object.js | 1 +
.../export-default-object.js.ast.xml | 49 +
.../export-default-value-no-semicolon.js | 1 +
.../export-default-value-no-semicolon.js.ast.xml | 29 +
.../ES6/export-declaration/export-default-value.js | 1 +
.../export-default-value.js.ast.xml | 29 +
.../ES6/export-declaration/export-from-batch.js | 1 +
.../export-from-batch.js.ast.xml | 15 +
.../ES6/export-declaration/export-from-default.js | 1 +
.../export-from-default.js.ast.xml | 22 +
.../export-from-named-as-default.js | 1 +
.../export-from-named-as-default.js.ast.xml | 25 +
.../export-from-named-as-specifier.js | 1 +
.../export-from-named-as-specifier.js.ast.xml | 25 +
.../export-from-named-as-specifiers.js | 1 +
.../export-from-named-as-specifiers.js.ast.xml | 30 +
.../export-from-specifier-no-semicolon.js | 1 +
.../export-from-specifier-no-semicolon.js.ast.xml | 22 +
.../export-declaration/export-from-specifier.js | 1 +
.../export-from-specifier.js.ast.xml | 22 +
.../export-declaration/export-from-specifiers.js | 1 +
.../export-from-specifiers.js.ast.xml | 27 +
.../export-function-declaration.js | 1 +
.../export-function-declaration.js.ast.xml | 45 +
.../ES6/export-declaration/export-function.js | 1 +
.../export-declaration/export-function.js.ast.xml | 42 +
.../ES6/export-declaration/export-let-number.js | 1 +
.../export-let-number.js.ast.xml | 40 +
.../export-declaration/export-named-as-default.js | 1 +
.../export-named-as-default.js.ast.xml | 22 +
.../export-named-as-specifier.js | 1 +
.../export-named-as-specifier.js.ast.xml | 22 +
.../export-named-as-specifiers.js | 1 +
.../export-named-as-specifiers.js.ast.xml | 27 +
.../ES6/export-declaration/export-named-empty.js | 1 +
.../export-named-empty.js.ast.xml | 14 +
.../export-declaration/export-named-specifier.js | 1 +
.../export-named-specifier.js.ast.xml | 19 +
.../export-named-specifiers-comma.js | 1 +
.../export-named-specifiers-comma.js.ast.xml | 24 +
.../export-declaration/export-named-specifiers.js | 1 +
.../export-named-specifiers.js.ast.xml | 24 +
.../export-var-anonymous-function.js | 1 +
.../export-var-anonymous-function.js.ast.xml | 52 +
.../ES6/export-declaration/export-var-number.js | 1 +
.../export-var-number.js.ast.xml | 36 +
.../parser/ES6/export-declaration/export-var.js | 1 +
.../ES6/export-declaration/export-var.js.ast.xml | 16 +
.../invalid-export-batch-missing-from-clause.js | 1 +
...lid-export-batch-missing-from-clause.js.ast.xml | 0
.../invalid-export-batch-token.js | 1 +
.../invalid-export-batch-token.js.ast.xml | 0
.../invalid-export-default-equal.js | 1 +
.../invalid-export-default-equal.js.ast.xml | 0
.../invalid-export-default-token.js | 1 +
.../invalid-export-default-token.js.ast.xml | 0
.../export-declaration/invalid-export-default.js | 1 +
.../invalid-export-default.js.ast.xml | 0
.../invalid-export-named-default.js | 1 +
.../invalid-export-named-default.js.ast.xml | 0
.../parser/ES6/for-of/for-of-array-pattern-let.js | 1 +
.../ES6/for-of/for-of-array-pattern-let.js.ast.xml | 49 +
.../parser/ES6/for-of/for-of-array-pattern-var.js | 1 +
.../ES6/for-of/for-of-array-pattern-var.js.ast.xml | 45 +
.../parser/ES6/for-of/for-of-array-pattern.js | 1 +
.../ES6/for-of/for-of-array-pattern.js.ast.xml | 39 +
.../ecmascript6/parser/ES6/for-of/for-of-let.js | 1 +
.../parser/ES6/for-of/for-of-let.js.ast.xml | 32 +
.../ES6/for-of/for-of-object-pattern-const.js | 1 +
.../for-of/for-of-object-pattern-const.js.ast.xml | 68 +
.../parser/ES6/for-of/for-of-object-pattern-var.js | 1 +
.../for-of/for-of-object-pattern-var.js.ast.xml | 64 +
.../parser/ES6/for-of/for-of-object-pattern.js | 1 +
.../ES6/for-of/for-of-object-pattern.js.ast.xml | 58 +
.../parser/ES6/for-of/for-of-with-const.js | 1 +
.../parser/ES6/for-of/for-of-with-const.js.ast.xml | 38 +
.../parser/ES6/for-of/for-of-with-let.js | 1 +
.../parser/ES6/for-of/for-of-with-let.js.ast.xml | 38 +
.../parser/ES6/for-of/for-of-with-var.js | 1 +
.../parser/ES6/for-of/for-of-with-var.js.ast.xml | 36 +
.../ecmascript6/parser/ES6/for-of/for-of.js | 1 +
.../parser/ES6/for-of/for-of.js.ast.xml | 34 +
.../parser/ES6/for-of/invalid-const-init.js | 1 +
.../ES6/for-of/invalid-const-init.js.ast.xml | 14 +
.../ES6/for-of/invalid-for-of-array-pattern.js | 1 +
.../for-of/invalid-for-of-array-pattern.js.ast.xml | 14 +
.../ES6/for-of/invalid-for-of-object-pattern.js | 1 +
.../invalid-for-of-object-pattern.js.ast.xml | 14 +
.../parser/ES6/for-of/invalid-let-init.js | 1 +
.../parser/ES6/for-of/invalid-let-init.js.ast.xml | 14 +
.../parser/ES6/for-of/invalid-lhs-init.js | 1 +
.../parser/ES6/for-of/invalid-lhs-init.js.ast.xml | 14 +
.../parser/ES6/for-of/invalid-strict-for-of-let.js | 1 +
.../for-of/invalid-strict-for-of-let.js.ast.xml | 17 +
.../parser/ES6/for-of/invalid-var-init.js | 1 +
.../parser/ES6/for-of/invalid-var-init.js.ast.xml | 14 +
.../parser/ES6/for-of/invalid_const_let.js | 1 +
.../parser/ES6/for-of/invalid_const_let.js.ast.xml | 14 +
.../parser/ES6/for-of/invalid_let_let.js | 1 +
.../parser/ES6/for-of/invalid_let_let.js.ast.xml | 14 +
.../ecmascript6/parser/ES6/for-of/let-of-of.js | 1 +
.../parser/ES6/for-of/let-of-of.js.ast.xml | 14 +
.../parser/ES6/for-of/unexpected-number.js | 1 +
.../parser/ES6/for-of/unexpected-number.js.ast.xml | 14 +
.../generator/generator-declaration-with-params.js | 1 +
.../generator-declaration-with-params.js.ast.xml | 40 +
.../generator-declaration-with-yield-delegate.js | 1 +
...ator-declaration-with-yield-delegate.js.ast.xml | 37 +
.../generator/generator-declaration-with-yield.js | 1 +
.../generator-declaration-with-yield.js.ast.xml | 37 +
.../parser/ES6/generator/generator-declaration.js | 1 +
.../ES6/generator/generator-declaration.js.ast.xml | 31 +
.../generator/generator-expression-rest-param.js | 1 +
.../generator-expression-rest-param.js.ast.xml | 25 +
.../generator/generator-expression-with-params.js | 1 +
.../generator-expression-with-params.js.ast.xml | 30 +
.../generator-expression-with-yield-delegate.js | 1 +
...rator-expression-with-yield-delegate.js.ast.xml | 38 +
.../generator/generator-expression-with-yield.js | 1 +
.../generator-expression-with-yield.js.ast.xml | 27 +
.../parser/ES6/generator/generator-expression.js | 1 +
.../ES6/generator/generator-expression.js.ast.xml | 21 +
.../generator-method-with-computed-name.js | 3 +
.../generator-method-with-computed-name.js.ast.xml | 18 +
.../generator-method-with-invalid-computed-name.js | 1 +
...or-method-with-invalid-computed-name.js.ast.xml | 0
.../ES6/generator/generator-method-with-params.js | 1 +
.../generator-method-with-params.js.ast.xml | 43 +
.../generator-method-with-yield-delegate.js | 1 +
...generator-method-with-yield-delegate.js.ast.xml | 40 +
.../generator-method-with-yield-expression.js | 1 +
...nerator-method-with-yield-expression.js.ast.xml | 40 +
.../generator-method-with-yield-line-terminator.js | 4 +
...or-method-with-yield-line-terminator.js.ast.xml | 46 +
.../ES6/generator/generator-method-with-yield.js | 1 +
.../generator-method-with-yield.js.ast.xml | 43 +
.../parser/ES6/generator/generator-method.js | 1 +
.../ES6/generator/generator-method.js.ast.xml | 34 +
.../generator-parameter-binding-element.js | 3 +
.../generator-parameter-binding-element.js.ast.xml | 25 +
...enerator-parameter-binding-property-reserved.js | 1 +
...-parameter-binding-property-reserved.js.ast.xml | 60 +
.../generator-parameter-binding-property.js | 3 +
...generator-parameter-binding-property.js.ast.xml | 29 +
.../generator-parameter-computed-property-name.js | 3 +
...tor-parameter-computed-property-name.js.ast.xml | 29 +
.../generator-parameter-invalid-binding-element.js | 3 +
...or-parameter-invalid-binding-element.js.ast.xml | 25 +
...generator-parameter-invalid-binding-property.js | 3 +
...r-parameter-invalid-binding-property.js.ast.xml | 81 +
...tor-parameter-invalid-computed-property-name.js | 3 +
...meter-invalid-computed-property-name.js.ast.xml | 73 +
.../ES6/generator/incomplete-yield-delegate.js | 1 +
.../generator/incomplete-yield-delegate.js.ast.xml | 14 +
.../ES6/generator/malformed-generator-method-2.js | 1 +
.../malformed-generator-method-2.js.ast.xml | 14 +
.../ES6/generator/malformed-generator-method.js | 1 +
.../malformed-generator-method.js.ast.xml | 18 +
.../static-generator-method-with-computed-name.js | 1 +
...-generator-method-with-computed-name.js.ast.xml | 66 +
.../ES6/generator/static-generator-method.js | 1 +
.../generator/static-generator-method.js.ast.xml | 66 +
.../parser/ES6/identifier/dakuten_handakuten.js | 1 +
.../ES6/identifier/dakuten_handakuten.js.ast.xml | 14 +
.../parser/ES6/identifier/escaped_all.js | 1 +
.../parser/ES6/identifier/escaped_all.js.ast.xml | 12 +
.../parser/ES6/identifier/escaped_math_alef.js | 2 +
.../ES6/identifier/escaped_math_alef.js.ast.xml | 12 +
.../parser/ES6/identifier/escaped_math_dal_part.js | 1 +
.../identifier/escaped_math_dal_part.js.ast.xml | 12 +
.../parser/ES6/identifier/escaped_math_kaf_lam.js | 1 +
.../ES6/identifier/escaped_math_kaf_lam.js.ast.xml | 12 +
.../ES6/identifier/escaped_math_zain_start.js | 1 +
.../identifier/escaped_math_zain_start.js.ast.xml | 12 +
.../parser/ES6/identifier/escaped_part.js | 1 +
.../parser/ES6/identifier/escaped_part.js.ast.xml | 12 +
.../parser/ES6/identifier/escaped_start.js | 1 +
.../parser/ES6/identifier/escaped_start.js.ast.xml | 12 +
.../ecmascript6/parser/ES6/identifier/estimated.js | 1 +
.../parser/ES6/identifier/estimated.js.ast.xml | 14 +
.../parser/ES6/identifier/ethiopic_digits.js | 1 +
.../ES6/identifier/ethiopic_digits.js.ast.xml | 16 +
.../identifier/invalid_escaped_surrogate_pairs.js | 1 +
.../invalid_escaped_surrogate_pairs.js.ast.xml | 0
.../ES6/identifier/invalid_expression_await.js | 1 +
.../identifier/invalid_expression_await.js.ast.xml | 50 +
.../parser/ES6/identifier/invalid_function_wait.js | 1 +
.../identifier/invalid_function_wait.js.ast.xml | 31 +
.../parser/ES6/identifier/invalid_id_smp.js | 1 +
.../identifier/invalid_lone_surrogate.source.js | 1 +
.../parser/ES6/identifier/invalid_var_await.js | 1 +
.../ES6/identifier/invalid_var_await.js.ast.xml | 0
.../ecmascript6/parser/ES6/identifier/math_alef.js | 1 +
.../parser/ES6/identifier/math_dal_part.js | 1 +
.../parser/ES6/identifier/math_kaf_lam.js | 1 +
.../parser/ES6/identifier/math_zain_start.js | 1 +
.../parser/ES6/identifier/module_await.js | 1 +
.../parser/ES6/identifier/module_await.js.ast.xml | 21 +
.../parser/ES6/identifier/valid_await.js | 1 +
.../parser/ES6/identifier/valid_await.js.ast.xml | 17 +
.../parser/ES6/identifier/weierstrass.js | 1 +
.../parser/ES6/identifier/weierstrass.js.ast.xml | 14 +
.../ES6/identifier/weierstrass_weierstrass.js | 1 +
.../identifier/weierstrass_weierstrass.js.ast.xml | 0
.../import-default-and-named-specifiers.js | 1 +
.../import-default-and-named-specifiers.js.ast.xml | 27 +
.../import-default-and-namespace-specifiers.js | 1 +
...ort-default-and-namespace-specifiers.js.ast.xml | 25 +
.../import-default-as-no-semicolon.js | 2 +
.../import-default-as-no-semicolon.js.ast.xml | 27 +
.../ES6/import-declaration/import-default-as.js | 1 +
.../import-default-as.js.ast.xml | 27 +
.../import-default-no-semicolon.js | 1 +
.../import-default-no-semicolon.js.ast.xml | 20 +
.../ES6/import-declaration/import-default.js | 1 +
.../import-declaration/import-default.js.ast.xml | 20 +
.../parser/ES6/import-declaration/import-jquery.js | 1 +
.../import-declaration/import-jquery.js.ast.xml | 20 +
.../import-module-no-semicolon.js | 1 +
.../import-module-no-semicolon.js.ast.xml | 13 +
.../parser/ES6/import-declaration/import-module.js | 1 +
.../import-declaration/import-module.js.ast.xml | 13 +
.../import-named-as-specifier.js | 1 +
.../import-named-as-specifier.js.ast.xml | 27 +
.../import-named-as-specifiers.js | 1 +
.../import-named-as-specifiers.js.ast.xml | 32 +
.../ES6/import-declaration/import-named-empty.js | 1 +
.../import-named-empty.js.ast.xml | 19 +
.../import-declaration/import-named-specifier.js | 1 +
.../import-named-specifier.js.ast.xml | 24 +
.../import-named-specifiers-comma.js | 1 +
.../import-named-specifiers-comma.js.ast.xml | 29 +
.../import-declaration/import-named-specifiers.js | 1 +
.../import-named-specifiers.js.ast.xml | 29 +
.../import-namespace-specifier.js | 1 +
.../import-namespace-specifier.js.ast.xml | 22 +
.../ES6/import-declaration/import-null-as-nil.js | 1 +
.../import-null-as-nil.js.ast.xml | 27 +
...lid-import-default-after-named-after-default.js | 1 +
...rt-default-after-named-after-default.js.ast.xml | 0
.../invalid-import-default-after-named.js | 1 +
.../invalid-import-default-after-named.js.ast.xml | 0
...alid-import-default-missing-module-specifier.js | 1 +
...ort-default-missing-module-specifier.js.ast.xml | 0
.../invalid-import-default-module-specifier.js | 1 +
...alid-import-default-module-specifier.js.ast.xml | 0
.../import-declaration/invalid-import-default.js | 1 +
.../invalid-import-default.js.ast.xml | 0
.../invalid-import-missing-comma.js | 1 +
.../invalid-import-missing-comma.js.ast.xml | 0
.../invalid-import-missing-module-specifier.js | 1 +
...alid-import-missing-module-specifier.js.ast.xml | 0
.../invalid-import-module-specifier.js | 1 +
.../invalid-import-module-specifier.js.ast.xml | 0
.../invalid-import-named-after-named.js | 1 +
.../invalid-import-named-after-named.js.ast.xml | 0
.../invalid-import-named-after-namespace.js | 1 +
...invalid-import-named-after-namespace.js.ast.xml | 0
.../invalid-import-named-as-missing-from.js | 1 +
...invalid-import-named-as-missing-from.js.ast.xml | 0
.../invalid-import-namespace-after-named.js | 1 +
...invalid-import-namespace-after-named.js.ast.xml | 0
.../invalid-import-namespace-missing-as.js | 1 +
.../invalid-import-namespace-missing-as.js.ast.xml | 0
.../invalid-import-specifiers.js | 1 +
.../invalid-import-specifiers.js.ast.xml | 0
.../parser/ES6/lexical-declaration/for_let_in.js | 1 +
.../ES6/lexical-declaration/for_let_in.js.ast.xml | 32 +
.../invalid_complex_binding_without_init.js | 1 +
...invalid_complex_binding_without_init.js.ast.xml | 14 +
.../ES6/lexical-declaration/invalid_const_const.js | 1 +
.../invalid_const_const.js.ast.xml | 14 +
.../ES6/lexical-declaration/invalid_const_forin.js | 1 +
.../invalid_const_forin.js.ast.xml | 14 +
.../ES6/lexical-declaration/invalid_const_let.js | 1 +
.../invalid_const_let.js.ast.xml | 14 +
.../invalid_for_const_declarations.js | 1 +
.../invalid_for_const_declarations.js.ast.xml | 22 +
.../lexical-declaration/invalid_for_const_let.js | 1 +
.../invalid_for_const_let.js.ast.xml | 22 +
.../invalid_for_let_declarations.js | 1 +
.../invalid_for_let_declarations.js.ast.xml | 22 +
.../lexical-declaration/invalid_for_let_init.js | 1 +
.../invalid_for_let_init.js.ast.xml | 22 +
.../ES6/lexical-declaration/invalid_for_let_let.js | 1 +
.../invalid_for_let_let.js.ast.xml | 22 +
.../lexical-declaration/invalid_for_let_pattern.js | 1 +
.../invalid_for_let_pattern.js.ast.xml | 22 +
.../lexical-declaration/invalid_forin_const_let.js | 1 +
.../invalid_forin_const_let.js.ast.xml | 14 +
.../lexical-declaration/invalid_forin_let_let.js | 1 +
.../invalid_forin_let_let.js.ast.xml | 14 +
.../invalid_let_declarations.js | 1 +
.../invalid_let_declarations.js.ast.xml | 26 +
.../ES6/lexical-declaration/invalid_let_for_in.js | 1 +
.../invalid_let_for_in.js.ast.xml | 17 +
.../ES6/lexical-declaration/invalid_let_forin.js | 1 +
.../invalid_let_forin.js.ast.xml | 14 +
.../ES6/lexical-declaration/invalid_let_init.js | 1 +
.../invalid_let_init.js.ast.xml | 37 +
.../ES6/lexical-declaration/invalid_let_let.js | 1 +
.../lexical-declaration/invalid_let_let.js.ast.xml | 14 +
.../invalid_strict_const_const.js | 1 +
.../invalid_strict_const_const.js.ast.xml | 17 +
.../invalid_strict_const_let.js | 1 +
.../invalid_strict_const_let.js.ast.xml | 17 +
.../ES6/lexical-declaration/let_identifier.js | 1 +
.../lexical-declaration/let_identifier.js.ast.xml | 16 +
.../parser/ES6/lexical-declaration/let_member.js | 1 +
.../ES6/lexical-declaration/let_member.js.ast.xml | 27 +
.../lexical-declaration/lexical-declaration01.js | 1 +
.../lexical-declaration01.js.ast.xml | 40 +
.../parser/ES6/lexical-declaration/module_let.js | 1 +
.../ES6/lexical-declaration/module_let.js.ast.xml | 14 +
.../parser/ES6/meta-property/assign-new-target.js | 3 +
.../ES6/meta-property/assign-new-target.js.ast.xml | 47 +
.../parser/ES6/meta-property/invalid-dots.js | 1 +
.../ES6/meta-property/invalid-dots.js.ast.xml | 34 +
.../parser/ES6/meta-property/invalid-new-target.js | 1 +
.../meta-property/invalid-new-target.js.ast.xml | 14 +
.../parser/ES6/meta-property/new-new-target.js | 3 +
.../ES6/meta-property/new-new-target.js.ast.xml | 44 +
.../ES6/meta-property/new-target-declaration.js | 3 +
.../new-target-declaration.js.ast.xml | 36 +
.../ES6/meta-property/new-target-expression.js | 1 +
.../meta-property/new-target-expression.js.ast.xml | 35 +
.../parser/ES6/meta-property/new-target-invoke.js | 3 +
.../ES6/meta-property/new-target-invoke.js.ast.xml | 40 +
.../ES6/meta-property/new-target-precedence.js | 3 +
.../meta-property/new-target-precedence.js.ast.xml | 48 +
.../parser/ES6/meta-property/unknown-property.js | 1 +
.../ES6/meta-property/unknown-property.js.ast.xml | 34 +
.../ES6/method-definition/method-definition01.js | 1 +
.../method-definition01.js.ast.xml | 42 +
.../ES6/method-definition/method-definition02.js | 1 +
.../method-definition02.js.ast.xml | 45 +
.../ES6/method-definition/method-definition03.js | 1 +
.../method-definition03.js.ast.xml | 39 +
.../ES6/method-definition/method-definition04.js | 1 +
.../method-definition04.js.ast.xml | 42 +
.../ES6/method-definition/method-definition05.js | 1 +
.../method-definition05.js.ast.xml | 42 +
.../invalid-proto-getter-literal-identifier.js | 1 +
...alid-proto-getter-literal-identifier.js.ast.xml | 52 +
.../invalid-proto-identifier-literal.js | 1 +
.../invalid-proto-identifier-literal.js.ast.xml | 33 +
.../invalid-proto-identifier-shorthand.js | 1 +
.../invalid-proto-identifier-shorthand.js.ast.xml | 38 +
.../invalid-proto-identifiers.js | 1 +
.../invalid-proto-identifiers.js.ast.xml | 18 +
.../invalid-proto-literal-identifier.js | 1 +
.../invalid-proto-literal-identifier.js.ast.xml | 33 +
.../invalid-proto-literal-shorthand.js | 1 +
.../invalid-proto-literal-shorthand.js.ast.xml | 34 +
.../object-initialiser/invalid-proto-literals.js | 1 +
.../invalid-proto-literals.js.ast.xml | 29 +
.../invalid-proto-setter-literal-identifier.js | 1 +
...alid-proto-setter-literal-identifier.js.ast.xml | 55 +
.../invalid-proto-shorthand-identifier.js | 1 +
.../invalid-proto-shorthand-identifier.js.ast.xml | 38 +
.../invalid-proto-shorthand-literal.js | 1 +
.../invalid-proto-shorthand-literal.js.ast.xml | 34 +
.../object-initialiser/invalid-proto-shorthands.js | 1 +
.../invalid-proto-shorthands.js.ast.xml | 39 +
.../proto-identifier-getter-setter.js | 1 +
.../proto-identifier-getter-setter.js.ast.xml | 59 +
.../object-initialiser/proto-identifier-getter.js | 1 +
.../proto-identifier-getter.js.ast.xml | 45 +
.../object-initialiser/proto-identifier-method.js | 1 +
.../proto-identifier-method.js.ast.xml | 45 +
.../object-initialiser/proto-identifier-setter.js | 1 +
.../proto-identifier-setter.js.ast.xml | 48 +
.../proto-literal-getter-setter.js | 1 +
.../proto-literal-getter-setter.js.ast.xml | 55 +
.../ES6/object-initialiser/proto-literal-getter.js | 1 +
.../proto-literal-getter.js.ast.xml | 41 +
.../ES6/object-initialiser/proto-literal-method.js | 1 +
.../proto-literal-method.js.ast.xml | 41 +
.../ES6/object-initialiser/proto-literal-setter.js | 1 +
.../proto-literal-setter.js.ast.xml | 44 +
.../object-literal-property-value-shorthand01.js | 1 +
...t-literal-property-value-shorthand01.js.ast.xml | 47 +
.../octal-integer-literal01.js | 1 +
.../octal-integer-literal01.js.ast.xml | 13 +
.../octal-integer-literal02.js | 1 +
.../octal-integer-literal02.js.ast.xml | 13 +
.../octal-integer-literal03.js | 1 +
.../octal-integer-literal03.js.ast.xml | 37 +
.../octal-integer-literal04.js | 1 +
.../octal-integer-literal04.js.ast.xml | 13 +
.../octal-integer-literal05.js | 1 +
.../octal-integer-literal05.js.ast.xml | 13 +
.../octal-integer-literal06.js | 1 +
.../octal-integer-literal06.js.ast.xml | 13 +
.../octal-integer-literal07.js | 1 +
.../octal-integer-literal07.js.ast.xml | 37 +
.../ES6/rest-parameter/function-declaration.js | 1 +
.../rest-parameter/function-declaration.js.ast.xml | 38 +
.../ES6/rest-parameter/function-expression.js | 1 +
.../rest-parameter/function-expression.js.ast.xml | 36 +
.../parser/ES6/rest-parameter/object-method.js | 1 +
.../ES6/rest-parameter/object-method.js.ast.xml | 48 +
.../ES6/rest-parameter/object-shorthand-method.js | 1 +
.../object-shorthand-method.js.ast.xml | 46 +
.../parser/ES6/spread-element/call-multi-spread.js | 1 +
.../spread-element/call-multi-spread.js.ast.xml | 37 +
.../ES6/spread-element/call-spread-default.js | 1 +
.../spread-element/call-spread-default.js.ast.xml | 36 +
.../parser/ES6/spread-element/call-spread-first.js | 1 +
.../spread-element/call-spread-first.js.ast.xml | 31 +
.../ES6/spread-element/call-spread-number.js | 1 +
.../spread-element/call-spread-number.js.ast.xml | 23 +
.../parser/ES6/spread-element/call-spread.js | 1 +
.../ES6/spread-element/call-spread.js.ast.xml | 25 +
.../ES6/spread-element/invalid-call-dot-dot.js | 1 +
.../spread-element/invalid-call-dot-dot.js.ast.xml | 14 +
.../parser/ES6/spread-element/invalid-call-dots.js | 1 +
.../spread-element/invalid-call-dots.js.ast.xml | 14 +
.../ES6/spread-element/invalid-call-spreads.js | 1 +
.../spread-element/invalid-call-spreads.js.ast.xml | 14 +
.../ES6/spread-element/invalid-new-dot-dot.js | 1 +
.../spread-element/invalid-new-dot-dot.js.ast.xml | 14 +
.../parser/ES6/spread-element/invalid-new-dots.js | 1 +
.../ES6/spread-element/invalid-new-dots.js.ast.xml | 14 +
.../ES6/spread-element/invalid-new-spreads.js | 1 +
.../spread-element/invalid-new-spreads.js.ast.xml | 14 +
.../parser/ES6/spread-element/new-multi-spread.js | 1 +
.../ES6/spread-element/new-multi-spread.js.ast.xml | 41 +
.../ES6/spread-element/new-spread-default.js | 1 +
.../spread-element/new-spread-default.js.ast.xml | 40 +
.../parser/ES6/spread-element/new-spread-first.js | 1 +
.../ES6/spread-element/new-spread-first.js.ast.xml | 35 +
.../parser/ES6/spread-element/new-spread-number.js | 1 +
.../spread-element/new-spread-number.js.ast.xml | 27 +
.../parser/ES6/spread-element/new-spread.js | 1 +
.../ES6/spread-element/new-spread.js.ast.xml | 29 +
.../parser/ES6/super-property/arrow_super.js | 5 +
.../ES6/super-property/arrow_super.js.ast.xml | 74 +
.../parser/ES6/super-property/constructor_super.js | 5 +
.../super-property/constructor_super.js.ast.xml | 62 +
.../ES6/super-property/invalid_super_access.js | 5 +
.../super-property/invalid_super_access.js.ast.xml | 56 +
.../parser/ES6/super-property/invalid_super_id.js | 3 +
.../ES6/super-property/invalid_super_id.js.ast.xml | 14 +
.../invalid_super_not_inside_function.js | 1 +
.../invalid_super_not_inside_function.js.ast.xml | 14 +
.../parser/ES6/super-property/new_super.js | 5 +
.../parser/ES6/super-property/new_super.js.ast.xml | 108 +
.../parser/ES6/super-property/super_computed.js | 5 +
.../ES6/super-property/super_computed.js.ast.xml | 104 +
.../parser/ES6/super-property/super_member.js | 5 +
.../ES6/super-property/super_member.js.ast.xml | 101 +
.../parser/ES6/template-literals/after-switch.js | 1 +
.../ES6/template-literals/after-switch.js.ast.xml | 14 +
.../parser/ES6/template-literals/dollar-sign.js | 1 +
.../ES6/template-literals/dollar-sign.js.ast.xml | 13 +
.../template-literals/escape-sequences.source.js | 1 +
.../parser/ES6/template-literals/invalid-escape.js | 1 +
.../template-literals/invalid-escape.js.ast.xml | 13 +
.../template-literals/line-terminators.source.js | 1 +
.../literal-escape-sequences.source.js | 1 +
.../literal-escape-sequences.source.js.ast.xml | 22 +
.../parser/ES6/template-literals/new-expression.js | 1 +
.../template-literals/new-expression.js.ast.xml | 35 +
.../parser/ES6/template-literals/octal-literal.js | 1 +
.../ES6/template-literals/octal-literal.js.ast.xml | 13 +
.../ES6/template-literals/strict-octal-literal.js | 1 +
.../strict-octal-literal.js.ast.xml | 16 +
.../ES6/template-literals/tagged-interpolation.js | 1 +
.../tagged-interpolation.js.ast.xml | 32 +
.../tagged-nested-with-object-literal.js | 1 +
.../tagged-nested-with-object-literal.js.ast.xml | 49 +
.../parser/ES6/template-literals/tagged.js | 1 +
.../parser/ES6/template-literals/tagged.js.ast.xml | 27 +
.../template-literals/unclosed-interpolation.js | 1 +
.../unclosed-interpolation.js.ast.xml | 0
.../ES6/template-literals/unclosed-nested.js | 1 +
.../parser/ES6/template-literals/unclosed.js | 1 +
.../ES6/template-literals/unclosed.js.ast.xml | 0
.../parser/ES6/template-literals/untagged.js | 1 +
.../ES6/template-literals/untagged.js.ast.xml | 13 +
.../unicode-code-point-escape-sequence01.js | 1 +
...unicode-code-point-escape-sequence01.js.ast.xml | 22 +
.../unicode-code-point-escape-sequence02.js | 1 +
...unicode-code-point-escape-sequence02.js.ast.xml | 22 +
.../unicode-code-point-escape-sequence03.js | 1 +
...unicode-code-point-escape-sequence03.js.ast.xml | 22 +
.../ES6/yield/invalid-yield-binding-property.js | 1 +
.../invalid-yield-binding-property.js.ast.xml | 18 +
.../parser/ES6/yield/invalid-yield-expression.js | 1 +
.../ES6/yield/invalid-yield-expression.js.ast.xml | 25 +
.../yield/invalid-yield-generator-arrow-default.js | 1 +
...nvalid-yield-generator-arrow-default.js.ast.xml | 86 +
.../invalid-yield-generator-arrow-parameter.js | 1 +
...alid-yield-generator-arrow-parameter.js.ast.xml | 14 +
.../invalid-yield-generator-arrow-parameters.js | 1 +
...lid-yield-generator-arrow-parameters.js.ast.xml | 14 +
.../ES6/yield/invalid-yield-generator-catch.js | 1 +
.../yield/invalid-yield-generator-catch.js.ast.xml | 57 +
.../yield/invalid-yield-generator-declaration.js | 1 +
.../invalid-yield-generator-declaration.js.ast.xml | 35 +
.../invalid-yield-generator-export-default.js | 1 +
...valid-yield-generator-export-default.js.ast.xml | 0
.../invalid-yield-generator-expression-name.js | 1 +
...alid-yield-generator-expression-name.js.ast.xml | 18 +
...invalid-yield-generator-expression-parameter.js | 1 +
...yield-generator-expression-parameter.js.ast.xml | 18 +
.../invalid-yield-generator-expression-rest.js | 1 +
...alid-yield-generator-expression-rest.js.ast.xml | 18 +
...invalid-yield-generator-function-declaration.js | 1 +
...yield-generator-function-declaration.js.ast.xml | 35 +
.../invalid-yield-generator-lexical-declaration.js | 1 +
...-yield-generator-lexical-declaration.js.ast.xml | 35 +
.../invalid-yield-generator-member-expression.js | 1 +
...id-yield-generator-member-expression.js.ast.xml | 35 +
.../ES6/yield/invalid-yield-generator-parameter.js | 1 +
.../invalid-yield-generator-parameter.js.ast.xml | 14 +
.../ES6/yield/invalid-yield-generator-rest.js | 1 +
.../yield/invalid-yield-generator-rest.js.ast.xml | 14 +
...d-yield-generator-strict-function-expression.js | 1 +
...generator-strict-function-expression.js.ast.xml | 40 +
...id-yield-generator-strict-function-parameter.js | 1 +
...-generator-strict-function-parameter.js.ast.xml | 38 +
...invalid-yield-generator-variable-declaration.js | 1 +
...yield-generator-variable-declaration.js.ast.xml | 35 +
.../yield/invalid-yield-strict-array-pattern.js | 1 +
.../invalid-yield-strict-array-pattern.js.ast.xml | 17 +
...invalid-yield-strict-arrow-parameter-default.js | 1 +
...yield-strict-arrow-parameter-default.js.ast.xml | 17 +
.../invalid-yield-strict-arrow-parameter-name.js | 1 +
...id-yield-strict-arrow-parameter-name.js.ast.xml | 17 +
.../yield/invalid-yield-strict-binding-element.js | 1 +
...invalid-yield-strict-binding-element.js.ast.xml | 21 +
.../yield/invalid-yield-strict-catch-parameter.js | 1 +
...invalid-yield-strict-catch-parameter.js.ast.xml | 17 +
.../yield/invalid-yield-strict-formal-parameter.js | 1 +
...nvalid-yield-strict-formal-parameter.js.ast.xml | 17 +
.../invalid-yield-strict-function-declaration.js | 1 +
...id-yield-strict-function-declaration.js.ast.xml | 14 +
.../invalid-yield-strict-function-expression.js | 1 +
...lid-yield-strict-function-expression.js.ast.xml | 14 +
.../ES6/yield/invalid-yield-strict-identifier.js | 1 +
.../invalid-yield-strict-identifier.js.ast.xml | 17 +
.../invalid-yield-strict-lexical-declaration.js | 1 +
...lid-yield-strict-lexical-declaration.js.ast.xml | 17 +
.../yield/invalid-yield-strict-rest-parameter.js | 1 +
.../invalid-yield-strict-rest-parameter.js.ast.xml | 17 +
.../invalid-yield-strict-variable-declaration.js | 1 +
...id-yield-strict-variable-declaration.js.ast.xml | 17 +
.../parser/ES6/yield/yield-array-pattern.js | 1 +
.../ES6/yield/yield-array-pattern.js.ast.xml | 26 +
.../parser/ES6/yield/yield-arrow-concise-body.js | 1 +
.../ES6/yield/yield-arrow-concise-body.js.ast.xml | 38 +
.../parser/ES6/yield/yield-arrow-function-body.js | 1 +
.../ES6/yield/yield-arrow-function-body.js.ast.xml | 37 +
.../ES6/yield/yield-arrow-parameter-default.js | 1 +
.../yield/yield-arrow-parameter-default.js.ast.xml | 65 +
.../parser/ES6/yield/yield-arrow-parameter-name.js | 1 +
.../yield/yield-arrow-parameter-name.js.ast.xml | 29 +
.../parser/ES6/yield/yield-binding-element.js | 1 +
.../ES6/yield/yield-binding-element.js.ast.xml | 39 +
.../parser/ES6/yield/yield-binding-property.js | 1 +
.../ES6/yield/yield-binding-property.js.ast.xml | 38 +
.../ES6/yield/yield-call-expression-property.js | 1 +
.../yield-call-expression-property.js.ast.xml | 43 +
.../parser/ES6/yield/yield-catch-parameter.js | 1 +
.../ES6/yield/yield-catch-parameter.js.ast.xml | 36 +
.../ES6/yield/yield-expression-precedence.js | 1 +
.../yield/yield-expression-precedence.js.ast.xml | 72 +
.../yield-function-declaration-formal-parameter.js | 1 +
...unction-declaration-formal-parameter.js.ast.xml | 35 +
.../parser/ES6/yield/yield-function-declaration.js | 1 +
.../yield/yield-function-declaration.js.ast.xml | 32 +
.../yield/yield-function-expression-parameter.js | 1 +
.../yield-function-expression-parameter.js.ast.xml | 25 +
.../parser/ES6/yield/yield-function-expression.js | 1 +
.../ES6/yield/yield-function-expression.js.ast.xml | 21 +
.../yield/yield-generator-arrow-concise-body.js | 1 +
.../yield-generator-arrow-concise-body.js.ast.xml | 59 +
.../ES6/yield/yield-generator-arrow-default.js | 1 +
.../yield/yield-generator-arrow-default.js.ast.xml | 89 +
.../yield/yield-generator-arrow-function-body.js | 1 +
.../yield-generator-arrow-function-body.js.ast.xml | 58 +
.../ES6/yield/yield-generator-declaration.js | 1 +
.../yield/yield-generator-declaration.js.ast.xml | 32 +
.../ES6/yield/yield-generator-default-parameter.js | 1 +
.../yield-generator-default-parameter.js.ast.xml | 14 +
.../yield/yield-generator-function-expression.js | 1 +
.../yield-generator-function-expression.js.ast.xml | 51 +
.../yield/yield-generator-function-parameter.js | 1 +
.../yield-generator-function-parameter.js.ast.xml | 55 +
.../parser/ES6/yield/yield-generator-method.js | 1 +
.../ES6/yield/yield-generator-method.js.ast.xml | 34 +
.../yield-generator-parameter-object-pattern.js | 1 +
...d-generator-parameter-object-pattern.js.ast.xml | 70 +
.../parser/ES6/yield/yield-lexical-declaration.js | 1 +
.../ES6/yield/yield-lexical-declaration.js.ast.xml | 25 +
.../ES6/yield/yield-member-expression-property.js | 1 +
.../yield-member-expression-property.js.ast.xml | 42 +
.../ecmascript6/parser/ES6/yield/yield-method.js | 1 +
.../parser/ES6/yield/yield-method.js.ast.xml | 34 +
.../ES6/yield/yield-parameter-object-pattern.js | 1 +
.../yield-parameter-object-pattern.js.ast.xml | 70 +
.../parser/ES6/yield/yield-rest-parameter.js | 1 +
.../ES6/yield/yield-rest-parameter.js.ast.xml | 36 +
.../ES6/yield/yield-strict-binding-property.js | 1 +
.../yield/yield-strict-binding-property.js.ast.xml | 41 +
.../parser/ES6/yield/yield-strict-method.js | 1 +
.../ES6/yield/yield-strict-method.js.ast.xml | 37 +
.../parser/ES6/yield/yield-super-property.js | 1 +
.../ES6/yield/yield-super-property.js.ast.xml | 100 +
.../parser/ES6/yield/yield-variable-declaration.js | 1 +
.../yield/yield-variable-declaration.js.ast.xml | 12 +
.../ES6/yield/yield-yield-expression-delegate.js | 1 +
.../yield-yield-expression-delegate.js.ast.xml | 43 +
.../parser/ES6/yield/yield-yield-expression.js | 1 +
.../ES6/yield/yield-yield-expression.js.ast.xml | 43 +
.../parser/declaration/const/const01.js | 1 +
.../parser/declaration/const/const01.js.ast.xml | 24 +
.../parser/declaration/const/const02.js | 1 +
.../parser/declaration/const/const02.js.ast.xml | 29 +
.../parser/declaration/const/const03.js | 1 +
.../parser/declaration/const/const03.js.ast.xml | 57 +
.../parser/declaration/function/dupe-param.js | 1 +
.../declaration/function/dupe-param.js.ast.xml | 14 +
.../parser/declaration/function/empty-param.js | 1 +
.../declaration/function/empty-param.js.ast.xml | 74 +
.../parser/declaration/function/function01.js | 1 +
.../declaration/function/function01.js.ast.xml | 40 +
.../parser/declaration/function/function02.js | 1 +
.../declaration/function/function02.js.ast.xml | 31 +
.../parser/declaration/function/function03.js | 1 +
.../declaration/function/function03.js.ast.xml | 31 +
.../parser/declaration/function/function04.js | 1 +
.../declaration/function/function04.js.ast.xml | 37 +
.../parser/declaration/function/function05.js | 1 +
.../declaration/function/function05.js.ast.xml | 27 +
.../parser/declaration/function/function06.js | 1 +
.../declaration/function/function06.js.ast.xml | 55 +
.../parser/declaration/function/function07.js | 1 +
.../declaration/function/function07.js.ast.xml | 43 +
.../parser/declaration/function/function08.js | 1 +
.../declaration/function/function08.js.ast.xml | 46 +
.../parser/declaration/function/function09.js | 1 +
.../declaration/function/function09.js.ast.xml | 39 +
.../parser/declaration/function/function10.js | 1 +
.../declaration/function/function10.js.ast.xml | 30 +
.../parser/declaration/function/function11.js | 1 +
.../declaration/function/function11.js.ast.xml | 30 +
.../parser/declaration/function/function12.js | 1 +
.../declaration/function/function12.js.ast.xml | 39 +
.../parser/declaration/function/function13.js | 1 +
.../declaration/function/function13.js.ast.xml | 21 +
.../parser/declaration/function/function14.js | 1 +
.../declaration/function/function14.js.ast.xml | 34 +
.../parser/declaration/function/function15.js | 1 +
.../declaration/function/function15.js.ast.xml | 39 +
.../parser/declaration/function/function16.js | 4 +
.../declaration/function/function16.js.ast.xml | 91 +
.../ecmascript6/parser/declaration/let/let01.js | 1 +
.../parser/declaration/let/let01.js.ast.xml | 14 +
.../ecmascript6/parser/declaration/let/let02.js | 1 +
.../parser/declaration/let/let02.js.ast.xml | 19 +
.../ecmascript6/parser/declaration/let/let03.js | 1 +
.../parser/declaration/let/let03.js.ast.xml | 29 +
.../ecmascript6/parser/declaration/let/let04.js | 1 +
.../parser/declaration/let/let04.js.ast.xml | 57 +
.../declaration/objectLiteral/objectLiteral01.js | 11 +
.../objectLiteral/objectLiteral01.js.ast.xml | 95 +
.../parser/expression/additive/additive01.js | 1 +
.../expression/additive/additive01.js.ast.xml | 22 +
.../parser/expression/additive/additive02.js | 1 +
.../expression/additive/additive02.js.ast.xml | 22 +
.../parser/expression/additive/additive03.js | 1 +
.../expression/additive/additive03.js.ast.xml | 18 +
.../parser/expression/assignment/assignment01.js | 1 +
.../expression/assignment/assignment01.js.ast.xml | 21 +
.../parser/expression/assignment/assignment02.js | 1 +
.../expression/assignment/assignment02.js.ast.xml | 21 +
.../parser/expression/assignment/assignment03.js | 1 +
.../expression/assignment/assignment03.js.ast.xml | 21 +
.../parser/expression/assignment/assignment04.js | 1 +
.../expression/assignment/assignment04.js.ast.xml | 22 +
.../parser/expression/assignment/assignment05.js | 1 +
.../expression/assignment/assignment05.js.ast.xml | 22 +
.../parser/expression/assignment/assignment06.js | 1 +
.../expression/assignment/assignment06.js.ast.xml | 22 +
.../parser/expression/assignment/assignment07.js | 1 +
.../expression/assignment/assignment07.js.ast.xml | 22 +
.../parser/expression/assignment/assignment08.js | 1 +
.../expression/assignment/assignment08.js.ast.xml | 22 +
.../parser/expression/assignment/assignment09.js | 1 +
.../expression/assignment/assignment09.js.ast.xml | 22 +
.../parser/expression/assignment/assignment10.js | 1 +
.../expression/assignment/assignment10.js.ast.xml | 22 +
.../parser/expression/assignment/assignment11.js | 1 +
.../expression/assignment/assignment11.js.ast.xml | 22 +
.../parser/expression/assignment/assignment12.js | 1 +
.../expression/assignment/assignment12.js.ast.xml | 22 +
.../parser/expression/assignment/assignment13.js | 1 +
.../expression/assignment/assignment13.js.ast.xml | 22 +
.../parser/expression/assignment/assignment14.js | 1 +
.../expression/assignment/assignment14.js.ast.xml | 22 +
.../parser/expression/assignment/assignment15.js | 1 +
.../expression/assignment/assignment15.js.ast.xml | 29 +
.../parser/expression/binary/binary01.js | 1 +
.../parser/expression/binary/binary01.js.ast.xml | 29 +
.../parser/expression/binary/binary02.js | 1 +
.../parser/expression/binary/binary02.js.ast.xml | 29 +
.../parser/expression/binary/binary03.js | 1 +
.../parser/expression/binary/binary03.js.ast.xml | 29 +
.../parser/expression/binary/binary04.js | 1 +
.../parser/expression/binary/binary04.js.ast.xml | 29 +
.../parser/expression/binary/binary05.js | 1 +
.../parser/expression/binary/binary05.js.ast.xml | 29 +
.../parser/expression/binary/binary06.js | 1 +
.../parser/expression/binary/binary06.js.ast.xml | 29 +
.../parser/expression/binary/binary07.js | 1 +
.../parser/expression/binary/binary07.js.ast.xml | 29 +
.../parser/expression/binary/binary08.js | 1 +
.../parser/expression/binary/binary08.js.ast.xml | 29 +
.../parser/expression/binary/binary09.js | 1 +
.../parser/expression/binary/binary09.js.ast.xml | 29 +
.../parser/expression/binary/binary10.js | 1 +
.../parser/expression/binary/binary10.js.ast.xml | 29 +
.../parser/expression/binary/binary11.js | 1 +
.../parser/expression/binary/binary11.js.ast.xml | 29 +
.../parser/expression/binary/binary12.js | 1 +
.../parser/expression/binary/binary12.js.ast.xml | 29 +
.../parser/expression/binary/binary13.js | 1 +
.../parser/expression/binary/binary13.js.ast.xml | 29 +
.../parser/expression/binary/binary14.js | 1 +
.../parser/expression/binary/binary14.js.ast.xml | 29 +
.../parser/expression/binary/binary15.js | 1 +
.../parser/expression/binary/binary15.js.ast.xml | 29 +
.../parser/expression/binary/binary16.js | 1 +
.../parser/expression/binary/binary16.js.ast.xml | 29 +
.../parser/expression/binary/binary17.js | 1 +
.../parser/expression/binary/binary17.js.ast.xml | 29 +
.../parser/expression/binary/binary18.js | 1 +
.../parser/expression/binary/binary18.js.ast.xml | 29 +
.../parser/expression/binary/bitwise01.js | 1 +
.../parser/expression/binary/bitwise01.js.ast.xml | 22 +
.../parser/expression/binary/bitwise02.js | 1 +
.../parser/expression/binary/bitwise02.js.ast.xml | 22 +
.../parser/expression/binary/bitwise03.js | 1 +
.../parser/expression/binary/bitwise03.js.ast.xml | 22 +
.../parser/expression/binary/bitwiseShift01.js | 1 +
.../expression/binary/bitwiseShift01.js.ast.xml | 22 +
.../parser/expression/binary/bitwiseShift02.js | 1 +
.../expression/binary/bitwiseShift02.js.ast.xml | 22 +
.../parser/expression/binary/bitwiseShift03.js | 1 +
.../expression/binary/bitwiseShift03.js.ast.xml | 22 +
.../parser/expression/binary/logical01.js | 1 +
.../parser/expression/binary/logical01.js.ast.xml | 27 +
.../parser/expression/binary/logical02.js | 1 +
.../parser/expression/binary/logical02.js.ast.xml | 27 +
.../parser/expression/binary/logical03.js | 1 +
.../parser/expression/binary/logical03.js.ast.xml | 39 +
.../parser/expression/binary/logical04.js | 1 +
.../parser/expression/binary/logical04.js.ast.xml | 39 +
.../parser/expression/binary/logical05.js | 1 +
.../parser/expression/binary/logical05.js.ast.xml | 39 +
.../parser/expression/binary/logical06.js | 1 +
.../parser/expression/binary/logical06.js.ast.xml | 34 +
.../parser/expression/complex/complex01.js | 1 +
.../parser/expression/complex/complex01.js.ast.xml | 98 +
.../parser/expression/conditional/conditional01.js | 1 +
.../conditional/conditional01.js.ast.xml | 23 +
.../parser/expression/conditional/conditional02.js | 1 +
.../conditional/conditional02.js.ast.xml | 35 +
.../parser/expression/conditional/conditional03.js | 1 +
.../conditional/conditional03.js.ast.xml | 29 +
.../parser/expression/conditional/conditional04.js | 1 +
.../conditional/conditional04.js.ast.xml | 49 +
.../parser/expression/conditional/conditional05.js | 1 +
.../conditional/conditional05.js.ast.xml | 49 +
.../parser/expression/conditional/conditional06.js | 1 +
.../conditional/conditional06.js.ast.xml | 45 +
.../parser/expression/equality/equality01.js | 1 +
.../expression/equality/equality01.js.ast.xml | 23 +
.../parser/expression/equality/equality02.js | 1 +
.../expression/equality/equality02.js.ast.xml | 23 +
.../parser/expression/equality/equality03.js | 1 +
.../expression/equality/equality03.js.ast.xml | 23 +
.../parser/expression/equality/equality04.js | 1 +
.../expression/equality/equality04.js.ast.xml | 23 +
.../parser/expression/grouping/grouping01.js | 1 +
.../expression/grouping/grouping01.js.ast.xml | 23 +
.../parser/expression/grouping/grouping02.js | 1 +
.../expression/grouping/grouping02.js.ast.xml | 23 +
.../expression/leftHandSide/leftHandSide01.js | 1 +
.../leftHandSide/leftHandSide01.js.ast.xml | 23 +
.../expression/leftHandSide/leftHandSide02.js | 1 +
.../leftHandSide/leftHandSide02.js.ast.xml | 23 +
.../expression/leftHandSide/leftHandSide03.js | 1 +
.../leftHandSide/leftHandSide03.js.ast.xml | 31 +
.../expression/leftHandSide/leftHandSide04.js | 1 +
.../leftHandSide/leftHandSide04.js.ast.xml | 31 +
.../expression/leftHandSide/leftHandSide05.js | 1 +
.../leftHandSide/leftHandSide05.js.ast.xml | 30 +
.../expression/leftHandSide/leftHandSide06.js | 1 +
.../leftHandSide/leftHandSide06.js.ast.xml | 31 +
.../expression/leftHandSide/leftHandSide07.js | 1 +
.../leftHandSide/leftHandSide07.js.ast.xml | 26 +
.../expression/leftHandSide/leftHandSide08.js | 1 +
.../leftHandSide/leftHandSide08.js.ast.xml | 30 +
.../expression/leftHandSide/leftHandSide09.js | 1 +
.../leftHandSide/leftHandSide09.js.ast.xml | 25 +
.../expression/leftHandSide/leftHandSide10.js | 1 +
.../leftHandSide/leftHandSide10.js.ast.xml | 19 +
.../expression/leftHandSide/leftHandSide11.js | 1 +
.../leftHandSide/leftHandSide11.js.ast.xml | 18 +
.../expression/leftHandSide/leftHandSide12.js | 1 +
.../leftHandSide/leftHandSide12.js.ast.xml | 21 +
.../expression/leftHandSide/leftHandSide13.js | 1 +
.../leftHandSide/leftHandSide13.js.ast.xml | 24 +
.../expression/leftHandSide/leftHandSide14.js | 1 +
.../leftHandSide/leftHandSide14.js.ast.xml | 30 +
.../expression/leftHandSide/leftHandSide15.js | 1 +
.../leftHandSide/leftHandSide15.js.ast.xml | 23 +
.../expression/leftHandSide/leftHandSide16.js | 1 +
.../leftHandSide/leftHandSide16.js.ast.xml | 24 +
.../expression/leftHandSide/leftHandSide17.js | 1 +
.../leftHandSide/leftHandSide17.js.ast.xml | 23 +
.../expression/leftHandSide/leftHandSide18.js | 1 +
.../leftHandSide/leftHandSide18.js.ast.xml | 33 +
.../expression/leftHandSide/leftHandSide19.js | 1 +
.../leftHandSide/leftHandSide19.js.ast.xml | 29 +
.../expression/leftHandSide/leftHandSide20.js | 1 +
.../leftHandSide/leftHandSide20.js.ast.xml | 18 +
.../expression/leftHandSide/leftHandSide21.js | 1 +
.../leftHandSide/leftHandSide21.js.ast.xml | 18 +
.../expression/leftHandSide/leftHandSide22.js | 1 +
.../leftHandSide/leftHandSide22.js.ast.xml | 18 +
.../expression/leftHandSide/leftHandSide23.js | 1 +
.../leftHandSide/leftHandSide23.js.ast.xml | 18 +
.../expression/leftHandSide/leftHandSide24.js | 1 +
.../leftHandSide/leftHandSide24.js.ast.xml | 32 +
.../parser/expression/primary/array01.js | 1 +
.../parser/expression/primary/array01.js.ast.xml | 22 +
.../parser/expression/primary/array02.js | 1 +
.../parser/expression/primary/array02.js.ast.xml | 22 +
.../parser/expression/primary/array03.js | 1 +
.../parser/expression/primary/array03.js.ast.xml | 23 +
.../parser/expression/primary/array04.js | 1 +
.../parser/expression/primary/array04.js.ast.xml | 23 +
.../parser/expression/primary/array05.js | 1 +
.../parser/expression/primary/array05.js.ast.xml | 23 +
.../parser/expression/primary/array06.js | 1 +
.../parser/expression/primary/array06.js.ast.xml | 25 +
.../parser/expression/primary/array07.js | 1 +
.../parser/expression/primary/array07.js.ast.xml | 25 +
.../parser/expression/primary/array08.js | 1 +
.../parser/expression/primary/array08.js.ast.xml | 22 +
.../parser/expression/relational/relational01.js | 1 +
.../expression/relational/relational01.js.ast.xml | 24 +
.../parser/expression/relational/relational02.js | 1 +
.../expression/relational/relational02.js.ast.xml | 24 +
.../parser/expression/relational/relational03.js | 1 +
.../expression/relational/relational03.js.ast.xml | 24 +
.../parser/expression/relational/relational04.js | 1 +
.../expression/relational/relational04.js.ast.xml | 24 +
.../parser/expression/relational/relational05.js | 1 +
.../expression/relational/relational05.js.ast.xml | 22 +
.../parser/expression/relational/relational06.js | 1 +
.../expression/relational/relational06.js.ast.xml | 22 +
.../parser/expression/relational/relational07.js | 1 +
.../expression/relational/relational07.js.ast.xml | 33 +
.../ecmascript6/parser/expression/unary/unary01.js | 1 +
.../parser/expression/unary/unary01.js.ast.xml | 19 +
.../ecmascript6/parser/expression/unary/unary02.js | 1 +
.../parser/expression/unary/unary02.js.ast.xml | 19 +
.../ecmascript6/parser/expression/unary/unary03.js | 1 +
.../parser/expression/unary/unary03.js.ast.xml | 19 +
.../ecmascript6/parser/expression/unary/unary04.js | 1 +
.../parser/expression/unary/unary04.js.ast.xml | 19 +
.../ecmascript6/parser/expression/unary/unary05.js | 1 +
.../parser/expression/unary/unary05.js.ast.xml | 19 +
.../ecmascript6/parser/expression/unary/unary06.js | 1 +
.../parser/expression/unary/unary06.js.ast.xml | 19 +
.../ecmascript6/parser/expression/unary/unary07.js | 1 +
.../parser/expression/unary/unary07.js.ast.xml | 18 +
.../ecmascript6/parser/expression/unary/unary08.js | 1 +
.../parser/expression/unary/unary08.js.ast.xml | 18 +
.../ecmascript6/parser/expression/unary/unary09.js | 1 +
.../parser/expression/unary/unary09.js.ast.xml | 18 +
.../ecmascript6/parser/expression/unary/unary10.js | 1 +
.../parser/expression/unary/unary10.js.ast.xml | 18 +
.../ecmascript6/parser/expression/unary/unary11.js | 1 +
.../parser/expression/unary/unary11.js.ast.xml | 18 +
.../ecmascript6/parser/expression/unary/unary12.js | 1 +
.../parser/expression/unary/unary12.js.ast.xml | 18 +
.../ecmascript6/parser/expression/unary/unary13.js | 1 +
.../parser/expression/unary/unary13.js.ast.xml | 18 +
.../ecmascript6/parser/other/backQuote01.js | 8 +
.../parser/other/backQuote01.js.ast.xml | 105 +
.../testfiles/ecmascript6/parser/other/member01.js | 5 +
.../ecmascript6/parser/other/member01.js.ast.xml | 110 +
.../parser/other/objectPropertyAssignment.js | 29 +
.../other/objectPropertyAssignment.js.semantic | 29 +
.../other/objectPropertyAssignment.js.structure | 10 +
...s.testObjectPropertyAssignment01_01.occurrences | 0
...s.testObjectPropertyAssignment01_02.occurrences | 3 +
.../ecmascript6/parser/statement/block/block01.js | 1 +
.../parser/statement/block/block01.js.ast.xml | 20 +
.../ecmascript6/parser/statement/block/block02.js | 1 +
.../parser/statement/block/block02.js.ast.xml | 33 +
.../ecmascript6/parser/statement/block/block03.js | 1 +
.../parser/statement/block/block03.js.ast.xml | 15 +
.../ecmascript6/parser/statement/block/block04.js | 3 +
.../parser/statement/block/block04.js.ast.xml | 22 +
.../ecmascript6/parser/statement/break/break01.js | 1 +
.../parser/statement/break/break01.js.ast.xml | 21 +
.../ecmascript6/parser/statement/break/break02.js | 1 +
.../parser/statement/break/break02.js.ast.xml | 27 +
.../ecmascript6/parser/statement/break/break03.js | 1 +
.../parser/statement/break/break03.js.ast.xml | 27 +
.../ecmascript6/parser/statement/break/break04.js | 1 +
.../parser/statement/break/break04.js.ast.xml | 27 +
.../parser/statement/break/semicolon_newline.js | 5 +
.../statement/break/semicolon_newline.js.ast.xml | 0
.../parser/statement/continue/continue01.js | 1 +
.../statement/continue/continue01.js.ast.xml | 21 +
.../parser/statement/continue/continue02.js | 1 +
.../statement/continue/continue02.js.ast.xml | 21 +
.../parser/statement/continue/continue03.js | 1 +
.../statement/continue/continue03.js.ast.xml | 27 +
.../parser/statement/continue/continue04.js | 1 +
.../statement/continue/continue04.js.ast.xml | 27 +
.../parser/statement/continue/continue05.js | 1 +
.../statement/continue/continue05.js.ast.xml | 27 +
.../parser/statement/debugger/debugger01.js | 1 +
.../statement/debugger/debugger01.js.ast.xml | 12 +
.../parser/statement/debugger/debugger02.js | 1 +
.../statement/debugger/debugger02.js.ast.xml | 12 +
.../ecmascript6/parser/statement/empty/empty01.js | 1 +
.../parser/statement/empty/empty01.js.ast.xml | 12 +
.../parser/statement/expression/expression01.js | 1 +
.../statement/expression/expression01.js.ast.xml | 15 +
.../parser/statement/expression/expression02.js | 1 +
.../statement/expression/expression02.js.ast.xml | 22 +
.../ecmascript6/parser/statement/if/if01.js | 1 +
.../parser/statement/if/if01.js.ast.xml | 28 +
.../ecmascript6/parser/statement/if/if02.js | 1 +
.../parser/statement/if/if02.js.ast.xml | 30 +
.../ecmascript6/parser/statement/if/if03.js | 1 +
.../parser/statement/if/if03.js.ast.xml | 31 +
.../ecmascript6/parser/statement/if/if04.js | 1 +
.../parser/statement/if/if04.js.ast.xml | 14 +
.../ecmascript6/parser/statement/if/if05.js | 1 +
.../parser/statement/if/if05.js.ast.xml | 41 +
.../ecmascript6/parser/statement/if/if06.js | 2 +
.../parser/statement/if/if06.js.ast.xml | 32 +
.../ecmascript6/parser/statement/if/if07.js | 1 +
.../parser/statement/if/if07.js.ast.xml | 32 +
.../parser/statement/iteration/const_forin.js | 1 +
.../statement/iteration/const_forin.js.ast.xml | 48 +
.../parser/statement/iteration/doWhileBlock01.js | 3 +
.../statement/iteration/doWhileBlock01.js.ast.xml | 41 +
.../parser/statement/iteration/for-in-let.js | 1 +
.../statement/iteration/for-in-let.js.ast.xml | 32 +
.../parser/statement/iteration/for-let-let.js | 1 +
.../statement/iteration/for-let-let.js.ast.xml | 40 +
.../statement/iteration/for-statement-with-seq.js | 1 +
.../iteration/for-statement-with-seq.js.ast.xml | 43 +
.../iteration/invalid-strict-for-in-let.js | 1 +
.../iteration/invalid-strict-for-in-let.js.ast.xml | 17 +
.../parser/statement/iteration/iteration01.js | 1 +
.../statement/iteration/iteration01.js.ast.xml | 28 +
.../parser/statement/iteration/iteration02.js | 1 +
.../statement/iteration/iteration02.js.ast.xml | 28 +
.../parser/statement/iteration/iteration03.js | 1 +
.../statement/iteration/iteration03.js.ast.xml | 45 +
.../parser/statement/iteration/iteration04.js | 1 +
.../statement/iteration/iteration04.js.ast.xml | 26 +
.../parser/statement/iteration/iteration05.js | 1 +
.../statement/iteration/iteration05.js.ast.xml | 28 +
.../parser/statement/iteration/iteration06.js | 2 +
.../statement/iteration/iteration06.js.ast.xml | 28 +
.../parser/statement/iteration/iteration07.js | 1 +
.../statement/iteration/iteration07.js.ast.xml | 28 +
.../parser/statement/iteration/iteration08.js | 1 +
.../statement/iteration/iteration08.js.ast.xml | 45 +
.../parser/statement/iteration/iteration09.js | 1 +
.../statement/iteration/iteration09.js.ast.xml | 26 +
.../parser/statement/iteration/iteration10.js | 1 +
.../statement/iteration/iteration10.js.ast.xml | 23 +
.../parser/statement/iteration/iteration11.js | 1 +
.../statement/iteration/iteration11.js.ast.xml | 35 +
.../parser/statement/iteration/iteration12.js | 1 +
.../statement/iteration/iteration12.js.ast.xml | 38 +
.../parser/statement/iteration/iteration13.js | 1 +
.../statement/iteration/iteration13.js.ast.xml | 40 +
.../parser/statement/iteration/iteration14.js | 1 +
.../statement/iteration/iteration14.js.ast.xml | 50 +
.../parser/statement/iteration/iteration15.js | 1 +
.../statement/iteration/iteration15.js.ast.xml | 45 +
.../parser/statement/iteration/iteration16.js | 1 +
.../statement/iteration/iteration16.js.ast.xml | 54 +
.../parser/statement/iteration/iteration17.js | 1 +
.../statement/iteration/iteration17.js.ast.xml | 64 +
.../parser/statement/iteration/iteration18.js | 1 +
.../statement/iteration/iteration18.js.ast.xml | 44 +
.../parser/statement/iteration/iteration19.js | 1 +
.../statement/iteration/iteration19.js.ast.xml | 46 +
.../parser/statement/iteration/iteration20.js | 1 +
.../statement/iteration/iteration20.js.ast.xml | 56 +
.../parser/statement/iteration/iteration21.js | 1 +
.../statement/iteration/iteration21.js.ast.xml | 48 +
.../parser/statement/iteration/iteration22.js | 1 +
.../statement/iteration/iteration22.js.ast.xml | 56 +
.../parser/statement/iteration/iteration23.js | 1 +
.../statement/iteration/iteration23.js.ast.xml | 71 +
.../parser/statement/iteration/iteration24.js | 1 +
.../statement/iteration/iteration24.js.ast.xml | 74 +
.../parser/statement/iteration/iteration25.js | 1 +
.../statement/iteration/iteration25.js.ast.xml | 49 +
.../parser/statement/iteration/iteration26.js | 1 +
.../statement/iteration/iteration26.js.ast.xml | 54 +
.../parser/statement/iteration/iteration27.js | 1 +
.../statement/iteration/iteration27.js.ast.xml | 37 +
.../parser/statement/iteration/iteration34.js | 1 +
.../statement/iteration/iteration34.js.ast.xml | 28 +
.../statement/iteration/pattern-in-for-in.js | 1 +
.../iteration/pattern-in-for-in.js.ast.xml | 120 +
.../parser/statement/labelled/labelled01.js | 1 +
.../statement/labelled/labelled01.js.ast.xml | 34 +
.../parser/statement/labelled/labelled02.js | 1 +
.../statement/labelled/labelled02.js.ast.xml | 28 +
.../parser/statement/labelled/labelled03.js | 1 +
.../statement/labelled/labelled03.js.ast.xml | 21 +
.../parser/statement/return/return01.js | 1 +
.../parser/statement/return/return01.js.ast.xml | 24 +
.../parser/statement/return/return02.js | 1 +
.../parser/statement/return/return02.js.ast.xml | 24 +
.../parser/statement/return/return03.js | 1 +
.../parser/statement/return/return03.js.ast.xml | 27 +
.../parser/statement/return/return04.js | 1 +
.../parser/statement/return/return04.js.ast.xml | 34 +
.../parser/statement/switch/switch01.js | 1 +
.../parser/statement/switch/switch01.js.ast.xml | 21 +
.../parser/statement/switch/switch02.js | 1 +
.../parser/statement/switch/switch02.js.ast.xml | 35 +
.../parser/statement/switch/switch03.js | 1 +
.../parser/statement/switch/switch03.js.ast.xml | 41 +
.../ecmascript6/parser/statement/throw/throw01.js | 1 +
.../parser/statement/throw/throw01.js.ast.xml | 16 +
.../ecmascript6/parser/statement/throw/throw02.js | 1 +
.../parser/statement/throw/throw02.js.ast.xml | 23 +
.../ecmascript6/parser/statement/throw/throw03.js | 1 +
.../parser/statement/throw/throw03.js.ast.xml | 26 +
.../ecmascript6/parser/statement/try/try01.js | 1 +
.../parser/statement/try/try01.js.ast.xml | 35 +
.../ecmascript6/parser/statement/try/try02.js | 1 +
.../parser/statement/try/try02.js.ast.xml | 35 +
.../ecmascript6/parser/statement/try/try03.js | 1 +
.../parser/statement/try/try03.js.ast.xml | 35 +
.../ecmascript6/parser/statement/try/try04.js | 1 +
.../parser/statement/try/try04.js.ast.xml | 47 +
.../ecmascript6/parser/statement/try/try05.js | 1 +
.../parser/statement/try/try05.js.ast.xml | 36 +
.../ecmascript6/parser/statement/try/try06.js | 1 +
.../parser/statement/try/try06.js.ast.xml | 56 +
.../ecmascript6/parser/statement/try/try07.js | 1 +
.../parser/statement/try/try07.js.ast.xml | 71 +
.../variable/complex-pattern-requires-init.js | 1 +
.../complex-pattern-requires-init.js.ast.xml | 14 +
.../parser/statement/variable/var_let.js | 1 +
.../parser/statement/variable/var_let.js.ast.xml | 12 +
.../parser/statement/variable/variable01.js | 1 +
.../statement/variable/variable01.js.ast.xml | 12 +
.../parser/statement/variable/variable02.js | 1 +
.../statement/variable/variable02.js.ast.xml | 14 +
.../parser/statement/variable/variable03.js | 1 +
.../statement/variable/variable03.js.ast.xml | 22 +
.../parser/statement/variable/variable04.js | 1 +
.../statement/variable/variable04.js.ast.xml | 34 +
.../parser/statement/variable/variable05.js | 1 +
.../statement/variable/variable05.js.ast.xml | 46 +
.../parser/statement/variable/variable06.js | 1 +
.../statement/variable/variable06.js.ast.xml | 16 +
.../parser/statement/variable/variable07.js | 1 +
.../statement/variable/variable07.js.ast.xml | 18 +
.../parser/statement/variable/variable10.js | 1 +
.../statement/variable/variable10.js.ast.xml | 30 +
.../ecmascript6/parser/statement/with/with01.js | 1 +
.../parser/statement/with/with01.js.ast.xml | 32 +
.../ecmascript6/parser/statement/with/with02.js | 1 +
.../parser/statement/with/with02.js.ast.xml | 32 +
.../ecmascript6/parser/statement/with/with03.js | 1 +
.../parser/statement/with/with03.js.ast.xml | 31 +
.../shorthands/computedPropertyNames.js | 9 +
.../shorthands/computedPropertyNames.js.semantic | 9 +
.../shorthands/computedPropertyNames.js.structure | 3 +
...ames.js.testComputedPropertyNames01.occurrences | 2 +
...ames.js.testComputedPropertyNames02.occurrences | 2 +
.../ecmascript6/shorthands/shorthandMethodNames.js | 19 +
.../shorthands/shorthandMethodNames.js.semantic | 19 +
.../shorthands/shorthandMethodNames.js.structure | 7 +
...Names.js.testShorthandMethodNames01.occurrences | 4 +
...Names.js.testShorthandMethodNames02.occurrences | 4 +
...Names.js.testShorthandMethodNames03.occurrences | 2 +
...Names.js.testShorthandMethodNames04.occurrences | 4 +
...Names.js.testShorthandMethodNames05.occurrences | 2 +
.../shorthands/shorthandPropertyNames.js | 24 +
.../shorthands/shorthandPropertyNames.js.semantic | 24 +
.../shorthands/shorthandPropertyNames.js.structure | 11 +
...ames.js.testShorthandPropertyNames01.completion | 8 +
...mes.js.testShorthandPropertyNames01.occurrences | 10 +
...ames.js.testShorthandPropertyNames02.completion | 8 +
...mes.js.testShorthandPropertyNames02.occurrences | 2 +
...mes.js.testShorthandPropertyNames03.occurrences | 3 +
...mes.js.testShorthandPropertyNames04.occurrences | 2 +
...mes.js.testShorthandPropertyNames05.occurrences | 3 +
...classWithExtDoc.js.testAllCompletion.completion | 22 -
.../testfiles/formatter/arrays3.js.formatTokens | 27 +-
.../test/unit/data/testfiles/formatter/arrays5.js | 4 +
.../formatter/arrays5.js.wrapAlways.formatted | 14 +
.../formatter/arrays5.js.wrapIfLong.formatted | 5 +
.../formatter/arrays5.js.wrapNever.formatted | 4 +
.../test/unit/data/testfiles/formatter/arrays6.js | 8 +
.../arrays6.js.allEmptyLinesRemoval.formatted | 4 +
.../testfiles/formatter/arrays6.js.formatTokens | 57 +
.../data/testfiles/formatter/arrays6.js.formatted | 6 +
.../arrays6.js.noEmptyLinesRemoval.formatted | 8 +
.../test/unit/data/testfiles/formatter/arrow1.js | 5 +
.../testfiles/formatter/arrow1.js.formatTokens | 201 +
.../data/testfiles/formatter/arrow1.js.formatted | 7 +
.../formatter/arrow1.js.inverted.formatted | 7 +
.../test/unit/data/testfiles/formatter/arrow2.js | 3 +
.../testfiles/formatter/arrow2.js.formatTokens | 173 +
.../formatter/arrow2.js.wrapAlways.formatted | 5 +
.../formatter/arrow2.js.wrapIfLong.formatted | 4 +
.../formatter/arrow2.js.wrapNever.formatted | 3 +
.../test/unit/data/testfiles/formatter/arrow3.js | 7 +
.../testfiles/formatter/arrow3.js.formatTokens | 184 +
.../formatter/arrow3.js.wrapAlways.formatted | 6 +
.../formatter/arrow3.js.wrapIfLong.formatted | 6 +
.../formatter/arrow3.js.wrapNever.formatted | 5 +
.../test/unit/data/testfiles/formatter/arrow4.js | 5 +
.../testfiles/formatter/arrow4.js.formatTokens | 127 +
.../data/testfiles/formatter/arrow4.js.formatted | 5 +
.../formatter/arrow4.js.wrapObjectAlways.formatted | 11 +
.../test/unit/data/testfiles/formatter/class1.js | 8 +
.../testfiles/formatter/class1.js.formatTokens | 150 +
.../data/testfiles/formatter/class1.js.formatted | 10 +
.../data/testfiles/formatter/class1.js.indented | 8 +
.../test/unit/data/testfiles/formatter/class2.js | 7 +
.../testfiles/formatter/class2.js.formatTokens | 147 +
.../data/testfiles/formatter/class2.js.formatted | 10 +
.../test/unit/data/testfiles/formatter/class3.js | 10 +
.../class3.js.allEmptyLinesRemoval.formatted | 9 +
.../testfiles/formatter/class3.js.formatTokens | 105 +
.../data/testfiles/formatter/class3.js.formatted | 10 +
.../test/unit/data/testfiles/formatter/class4.js | 11 +
.../formatter/class4.js.braceIndented.formatted | 12 +
.../testfiles/formatter/class4.js.formatTokens | 154 +
.../data/testfiles/formatter/class4.js.formatted | 11 +
.../test/unit/data/testfiles/formatter/class5.js | 5 +
.../formatter/class5.js.default.formatted | 5 +
.../testfiles/formatter/class5.js.formatTokens | 64 +
.../formatter/class5.js.wrapAlways.formatted | 6 +
.../formatter/class5.js.wrapIfLong.formatted | 6 +
.../test/unit/data/testfiles/formatter/class6.js | 7 +
.../testfiles/formatter/class6.js.formatTokens | 104 +
.../data/testfiles/formatter/class6.js.formatted | 8 +
.../data/testfiles/formatter/classProperty1.js | 12 +
.../formatter/classProperty1.js.formatTokens | 104 +
.../formatter/classProperty1.js.formatted | 12 +
.../unit/data/testfiles/formatter/comments4.js | 10 +
.../testfiles/formatter/comments4.js.formatTokens | 81 +
.../testfiles/formatter/comments4.js.formatted | 10 +
.../unit/data/testfiles/formatter/decorators1.js | 5 +
.../formatter/decorators1.js.formatTokens | 55 +
.../testfiles/formatter/decorators1.js.formatted | 7 +
.../unit/data/testfiles/formatter/decorators2.js | 12 +
.../formatter/decorators2.js.formatTokens | 92 +
.../testfiles/formatter/decorators2.js.formatted | 15 +
.../unit/data/testfiles/formatter/decorators3.js | 5 +
.../formatter/decorators3.js.wrapAlways.formatted | 7 +
.../formatter/decorators3.js.wrapIfLong.formatted | 7 +
.../formatter/decorators3.js.wrapNever.formatted | 6 +
.../formatter/destructuringAssignment1.js | 1 +
.../destructuringAssignment1.js.formatTokens | 89 +
.../destructuringAssignment1.js.formatted | 1 +
.../formatter/destructuringAssignment2.js | 1 +
.../destructuringAssignment2.js.formatTokens | 91 +
.../destructuringAssignment2.js.formatted | 1 +
.../data/testfiles/formatter/embeddedSimple7.html | 0
.../formatter/embeddedSimple7.html.formatted | 0
.../formatter/formatting1.js.formatTokens | 4 +-
.../formatter/formatting2.js.formatTokens | 4 +-
.../formatter/functionDeclaration4.js.formatTokens | 4 +-
.../testfiles/formatter/functionDeclaration6.js | 4 +
.../functionDeclaration6.js.default.formatted | 4 +
.../formatter/functionDeclaration6.js.formatTokens | 93 +
.../testfiles/formatter/functionDeclaration7.js | 7 +
.../functionDeclaration7.js.default.formatted | 7 +
.../functionDeclaration7.js.wrapAlways.formatted | 11 +
.../testfiles/formatter/functions6.js.formatTokens | 4 +-
.../unit/data/testfiles/formatter/generator1.js | 13 +
.../generator1.js.binaryAfter.wrapAlways.formatted | 17 +
...generator1.js.binaryBefore.wrapAlways.formatted | 17 +
.../formatter/generator1.js.default.formatted | 13 +
.../testfiles/formatter/generator1.js.formatTokens | 176 +
.../formatter/generator1.js.wrapAlways.formatted | 14 +
.../unit/data/testfiles/formatter/generator2.js | 14 +
.../formatter/generator2.js.default.formatted | 14 +
.../testfiles/formatter/generator2.js.formatTokens | 210 +
.../data/testfiles/formatter/if9.js.formatTokens | 3 +-
.../unit/data/testfiles/formatter/importExport1.js | 6 +
.../formatter/importExport1.js.formatTokens | 66 +
.../testfiles/formatter/importExport1.js.formatted | 6 +
.../data/testfiles/formatter/importExport10.js | 3 +
.../formatter/importExport10.js.formatTokens | 51 +
.../formatter/importExport10.js.formatted | 3 +
.../unit/data/testfiles/formatter/importExport2.js | 8 +
.../formatter/importExport2.js.formatTokens | 91 +
.../testfiles/formatter/importExport2.js.formatted | 8 +
.../unit/data/testfiles/formatter/importExport3.js | 18 +
.../formatter/importExport3.js.formatTokens | 210 +
.../testfiles/formatter/importExport3.js.formatted | 18 +
.../unit/data/testfiles/formatter/importExport4.js | 8 +
.../formatter/importExport4.js.formatTokens | 153 +
.../testfiles/formatter/importExport4.js.formatted | 10 +
.../unit/data/testfiles/formatter/importExport5.js | 8 +
.../formatter/importExport5.js.formatTokens | 60 +
.../testfiles/formatter/importExport5.js.formatted | 8 +
.../unit/data/testfiles/formatter/importExport6.js | 15 +
.../formatter/importExport6.js.formatTokens | 117 +
.../testfiles/formatter/importExport6.js.formatted | 15 +
.../unit/data/testfiles/formatter/importExport7.js | 27 +
.../formatter/importExport7.js.formatTokens | 214 +
.../testfiles/formatter/importExport7.js.formatted | 27 +
.../unit/data/testfiles/formatter/importExport8.js | 15 +
.../formatter/importExport8.js.formatTokens | 180 +
.../testfiles/formatter/importExport8.js.formatted | 15 +
.../unit/data/testfiles/formatter/importExport9.js | 16 +
.../formatter/importExport9.js.formatTokens | 193 +
.../testfiles/formatter/importExport9.js.formatted | 16 +
.../formatter/issue220920.js.formatTokens | 770 +
.../testfiles/formatter/issue220920.js.formatted | 3 +-
.../unit/data/testfiles/formatter/issue257144.js | 3 +
.../formatter/issue257144.js.formatTokens | 62 +
.../testfiles/formatter/issue257144.js.formatted | 3 +
.../unit/data/testfiles/formatter/issue258858.js | 3 +
.../formatter/issue258858.js.formatTokens | 60 +
.../testfiles/formatter/issue258858.js.formatted | 3 +
.../data/testfiles/formatter/issue258858_stable.js | 3 +
.../formatter/issue258858_stable.js.formatTokens | 59 +
.../formatter/issue258858_stable.js.formatted | 3 +
.../unit/data/testfiles/formatter/issue258872.js | 13 +
.../formatter/issue258872.js.formatTokens | 160 +
.../testfiles/formatter/issue258872.js.formatted | 13 +
.../test/unit/data/testfiles/formatter/jsx1.js | 6 +
.../data/testfiles/formatter/jsx1.js.formatTokens | 44 +
.../data/testfiles/formatter/jsx1.js.formatted | 6 +
.../test/unit/data/testfiles/formatter/jsx2.js | 7 +
.../data/testfiles/formatter/jsx2.js.formatTokens | 58 +
.../data/testfiles/formatter/jsx2.js.formatted | 7 +
.../test/unit/data/testfiles/formatter/jsx3.js | 6 +
.../data/testfiles/formatter/jsx3.js.formatTokens | 51 +
.../data/testfiles/formatter/jsx3.js.formatted | 6 +
.../test/unit/data/testfiles/formatter/jsx4.js | 14 +
.../data/testfiles/formatter/jsx4.js.formatTokens | 124 +
.../data/testfiles/formatter/jsx4.js.formatted | 14 +
.../test/unit/data/testfiles/formatter/jsx5.js | 1 +
.../data/testfiles/formatter/jsx5.js.formatTokens | 24 +
.../data/testfiles/formatter/jsx5.js.formatted | 1 +
.../test/unit/data/testfiles/formatter/jsx6.js | 2 +
.../data/testfiles/formatter/jsx6.js.formatTokens | 46 +
.../data/testfiles/formatter/jsx6.js.formatted | 2 +
.../test/unit/data/testfiles/formatter/jsx7.js | 3 +
.../formatter/jsx7.js.binaryAfter.IfLong.formatted | 4 +
.../jsx7.js.binaryBefore.IfLong.formatted | 4 +
.../data/testfiles/formatter/jsx7.js.formatTokens | 26 +
.../test/unit/data/testfiles/formatter/jsx8.js | 2 +
.../formatter/jsx8.js.binaryAfter.IfLong.formatted | 3 +
.../jsx8.js.binaryBefore.IfLong.formatted | 3 +
.../data/testfiles/formatter/jsx8.js.formatTokens | 25 +
.../test/unit/data/testfiles/formatter/jsx9.js | 4 +
.../data/testfiles/formatter/jsx9.js.formatTokens | 29 +
.../data/testfiles/formatter/jsx9.js.formatted | 4 +
.../test/unit/data/testfiles/formatter/let1.js | 8 +
.../formatter/let1.js.forWrapAlways.formatted | 12 +
.../formatter/let1.js.forWrapIfLong.formatted | 10 +
.../formatter/let1.js.forWrapNever.formatted | 8 +
.../data/testfiles/formatter/let1.js.formatTokens | 170 +
.../test/unit/data/testfiles/formatter/let2.js | 4 +
.../data/testfiles/formatter/let2.js.formatTokens | 55 +
.../data/testfiles/formatter/let2.js.formatted | 4 +
.../test/unit/data/testfiles/formatter/node1.js | 12 +
.../data/testfiles/formatter/node1.js.formatTokens | 125 +
.../data/testfiles/formatter/node1.js.formatted | 12 +
.../testfiles/formatter/objects1.js.formatTokens | 4 +-
.../unit/data/testfiles/formatter/objects10.js | 5 +
.../testfiles/formatter/objects10.js.formatTokens | 102 +
.../objects10.js.objectOnlyWrapAlways.formatted | 11 +
.../objects10.js.objectOnlyWrapIfLong.formatted | 7 +
.../objects10.js.objectOnlyWrapNever.formatted | 5 +
...objects10.js.propertiesOnlyWrapAlways.formatted | 8 +
...objects10.js.propertiesOnlyWrapIfLong.formatted | 6 +
.../objects10.js.propertiesOnlyWrapNever.formatted | 5 +
.../unit/data/testfiles/formatter/objects11.js | 1 +
.../objects11.js.objectOnlyWrapIfLong.formatted | 3 +
.../unit/data/testfiles/formatter/objects12.js | 2 +
.../testfiles/formatter/objects12.js.formatTokens | 31 +
.../objects12.js.objectOnlyWrapIfLong.formatted | 3 +
.../unit/data/testfiles/formatter/objects13.js | 12 +
.../testfiles/formatter/objects13.js.formatTokens | 193 +
.../objects13.js.objectOnlyWrapAlways.formatted | 13 +
.../objects13.js.objectOnlyWrapIfLong.formatted | 13 +
.../objects13.js.objectOnlyWrapNever.formatted | 12 +
...objects13.js.propertiesOnlyWrapAlways.formatted | 13 +
...objects13.js.propertiesOnlyWrapIfLong.formatted | 13 +
.../objects13.js.propertiesOnlyWrapNever.formatted | 12 +
.../unit/data/testfiles/formatter/objects14.js | 7 +
.../objects14.js.allEmptyLinesRemoval.formatted | 4 +
.../testfiles/formatter/objects14.js.formatTokens | 53 +
.../testfiles/formatter/objects14.js.formatted | 6 +
.../objects14.js.noEmptyLinesRemoval.formatted | 7 +
.../unit/data/testfiles/formatter/objects15.js | 4 +
.../testfiles/formatter/objects15.js.formatTokens | 43 +
.../testfiles/formatter/objects15.js.formatted | 4 +
.../testfiles/formatter/objects2.js.formatTokens | 4 +-
.../testfiles/formatter/objects3.js.formatTokens | 26 +-
.../testfiles/formatter/objects4.js.formatTokens | 8 +-
.../formatter/parentheses1.js.formatTokens | 6 +-
.../testfiles/formatter/prototype.js.formatted | 200 +
.../testfiles/formatter/spaces1.js.formatTokens | 6 +-
.../test/unit/data/testfiles/formatter/spread1.js | 6 +
.../formatter/spread1.js.wrapAlways.formatted | 18 +
.../formatter/spread1.js.wrapIfLong.formatted | 7 +
.../formatter/spread1.js.wrapNever.formatted | 6 +
.../testfiles/formatter/switch1.js.formatTokens | 5 -
.../testfiles/formatter/switch2.js.formatTokens | 5 -
.../testfiles/formatter/switch3.js.formatTokens | 12 -
.../testfiles/formatter/switch4.js.formatTokens | 6 -
.../testfiles/formatter/switch5.js.formatTokens | 10 +-
.../testfiles/formatter/switch6.js.formatTokens | 10 +-
.../formatter/tabsIndents1.js.formatTokens | 6 +-
.../unit/data/testfiles/formatter/templates1.js | 11 +
.../testfiles/formatter/templates1.js.formatTokens | 215 +
.../testfiles/formatter/templates1.js.formatted | 11 +
.../unit/data/testfiles/formatter/templates2.js | 7 +
.../testfiles/formatter/templates2.js.formatTokens | 141 +
.../testfiles/formatter/templates2.js.formatted | 7 +
.../templates2.js.objectOnlyWrapAlways.formatted | 9 +
.../unit/data/testfiles/formatter/templates3.js | 5 +
.../testfiles/formatter/templates3.js.formatTokens | 34 +
.../testfiles/formatter/templates3.js.formatted | 5 +
.../unit/data/testfiles/formatter/templates4.js | 5 +
.../testfiles/formatter/templates4.js.formatTokens | 39 +
.../testfiles/formatter/templates4.js.formatted | 5 +
.../data/testfiles/formatter/var2.js.formatTokens | 239 +
.../data/testfiles/formatter/var3.js.formatTokens | 165 +
.../unit/data/testfiles/hints/arrowFunction.js | 4 +
.../data/testfiles/hints/arrowFunction.js.semantic | 4 +
.../unit/data/testfiles/hints/classDeclaration.js | 3 +
...lassDeclaration.js.testClassDeclaration01.hints | 0
.../unit/data/testfiles/hints/defaultParameters.js | 4 +
...aultParameters.js.testDefaultParameters01.hints | 0
.../test/unit/data/testfiles/hints/docComment1.js | 9 +
.../hints/docComment1.js.testSemicolon04.hints | 0
.../test/unit/data/testfiles/hints/docComment2.js | 12 +
.../hints/docComment2.js.testSemicolon05.hints | 3 +
.../globalIsNotDeclared.js.testSimple01.hints | 4 +-
.../hints/issue225048.js.testIssue225048.hints | 4 +-
.../issue225048_01.js.testIssue225048_01.hints | 4 +-
.../issue233813/test.js.testIssue233813.hints | 2 +-
.../data/testfiles/hints/issue248696_01.js.model | 26 -
.../issue248696_01.js.testIssue248696_01.hints | 2 +-
.../issue248696_02.js.testIssue248696_02.hints | 14 +-
.../unit/data/testfiles/hints/issue252022.js.model | 22 -
.../data/testfiles/hints/issue252022.js.semantic | 2 +-
.../data/testfiles/hints/issue252022.js.structure | 7 +-
.../test/unit/data/testfiles/hints/issue258874.js | 54 +
.../hints/issue258874.js.testIssue258874.hints | 3 +
.../unit/data/testfiles/hints/issue258901_01.js | 6 +
.../issue258901_01.js.testIssue258901_01.hints | 0
.../unit/data/testfiles/hints/issue258901_02.js | 9 +
.../issue258901_02.js.testIssue258901_02.hints | 0
.../unit/data/testfiles/hints/issue258901_03.js | 5 +
.../issue258901_03.js.testIssue258901_03.hints | 0
.../unit/data/testfiles/hints/issue258901_04.js | 5 +
.../issue258901_04.js.testIssue258901_04.hints | 0
.../unit/data/testfiles/hints/issue258901_05.js | 6 +
.../issue258901_05.js.testIssue258901_05.hints | 0
.../test/unit/data/testfiles/hints/issue262468.js | 5 +
.../issue262468.js.testSemicolonIssue262468.hints | 3 +
.../unit/data/testfiles/issue230784.js.structure | 10 -
.../unit/data/testfiles/issue249068.js.structure | 5 -
.../simple01.js.testFLR_01.logicalRange | 4 +-
.../simple01.js.testFLR_02.logicalRange | 10 +-
.../simple01.js.testFLR_03.logicalRange | 8 +-
.../simple01.js.testFLR_04.logicalRange | 14 +-
.../markoccurences/blockscope/arrayLiteral01.js | 31 +
.../blockscope/arrayLiteral01.js.semantic | 31 +
...s.testArrayLiteralInBlockScope01_01.occurrences | 4 +
...s.testArrayLiteralInBlockScope01_02.occurrences | 4 +
...s.testArrayLiteralInBlockScope01_03.occurrences | 4 +
.../testfiles/markoccurences/blockscope/scope01.js | 11 +
.../scope01.js.testBlockScope01_01.occurrences | 2 +
.../scope01.js.testBlockScope01_02.occurrences | 2 +
.../scope01.js.testBlockScope01_03.occurrences | 2 +
.../testfiles/markoccurences/blockscope/scope02.js | 19 +
.../scope02.js.testBlockScope02_01.occurrences | 2 +
.../scope02.js.testBlockScope02_02.occurrences | 2 +
.../scope02.js.testBlockScope02_03.occurrences | 2 +
.../testfiles/markoccurences/blockscope/scope03.js | 10 +
.../scope03.js.testBlockScope03_01.occurrences | 3 +
.../scope03.js.testBlockScope03_02.occurrences | 2 +
.../testfiles/markoccurences/blockscope/scope04.js | 18 +
.../scope04.js.testBlockScope04_01.occurrences | 3 +
.../scope04.js.testBlockScope04_02.occurrences | 3 +
.../scope04.js.testBlockScope04_03.occurrences | 2 +
.../testfiles/markoccurences/blockscope/scope05.js | 13 +
.../markoccurences/blockscope/scope05.js.semantic | 13 +
.../scope05.js.testBlockScope05_01.occurrences | 2 +
.../scope05.js.testBlockScope05_02.occurrences | 3 +
.../scope05.js.testBlockScope05_03.occurrences | 2 +
.../scope05.js.testBlockScope05_04.occurrences | 2 +
.../testfiles/markoccurences/classes/class01.js | 12 +
.../markoccurences/classes/class01.js.semantic | 12 +
.../markoccurences/classes/class01.js.structure | 5 +
.../classes/class01.js.testClass01_01.occurrences | 3 +
.../classes/class01.js.testClass01_02.occurrences | 2 +
.../classes/class01.js.testClass01_03.occurrences | 2 +
.../classes/class01.js.testClass01_04.occurrences | 2 +
.../classes/class01.js.testClass01_05.occurrences | 2 +
.../classes/class01.js.testClass01_06.occurrences | 1 +
.../testfiles/markoccurences/classes/class02.js | 12 +
.../markoccurences/classes/class02.js.semantic | 12 +
.../markoccurences/classes/class02.js.structure | 5 +
.../classes/class02.js.testClass02_01.occurrences | 3 +
.../classes/class02.js.testClass02_02.occurrences | 2 +
.../classes/class02.js.testClass02_03.occurrences | 2 +
.../classes/class02.js.testClass02_04.occurrences | 2 +
.../classes/class02.js.testClass02_05.occurrences | 2 +
.../classes/class02.js.testClass02_06.occurrences | 1 +
.../testfiles/markoccurences/classes/class03.js | 22 +
.../markoccurences/classes/class03.js.semantic | 22 +
.../markoccurences/classes/class03.js.structure | 7 +
.../classes/class03.js.testClass03_01.occurrences | 3 +
.../classes/class03.js.testClass03_02.occurrences | 3 +
.../classes/class03.js.testClass03_03.occurrences | 1 +
.../classes/class03.js.testClass03_04.occurrences | 2 +
.../classes/class03.js.testClass03_05.occurrences | 2 +
.../classes/class03.js.testClass03_06.occurrences | 1 +
.../classes/class03.js.testClass03_07.occurrences | 2 +
.../testfiles/markoccurences/classes/class04.js | 25 +
.../markoccurences/classes/class04.js.semantic | 25 +
.../markoccurences/classes/class04.js.structure | 7 +
.../classes/class04.js.testClass04_01.occurrences | 6 +
.../classes/class04.js.testClass04_02.occurrences | 2 +
.../classes/class04.js.testClass04_03.occurrences | 2 +
.../classes/class04.js.testClass04_04.occurrences | 2 +
.../classes/class04.js.testClass04_05.occurrences | 4 +
.../classes/class04.js.testClass04_06.occurrences | 2 +
.../classes/class04.js.testClass04_07.occurrences | 2 +
.../classes/class04.js.testClass04_08.occurrences | 2 +
.../classes/class04.js.testClass04_09.occurrences | 2 +
.../arrayDestructuring01.js | 9 +
.../arrayDestructuring01.js.ast.xml | 124 +
.../arrayDestructuring01.js.semantic | 9 +
.../arrayDestructuring01.js.structure | 4 +
...uring01.js.testArrayDestructuring01.occurrences | 3 +
...uring01.js.testArrayDestructuring02.occurrences | 3 +
...uring01.js.testArrayDestructuring03.occurrences | 3 +
...uring01.js.testArrayDestructuring04.occurrences | 3 +
.../arrayDestructuring02.js | 6 +
.../arrayDestructuring02.js.ast.xml | 101 +
...ng02.js.testArrayDestructuring02_01.occurrences | 2 +
...ng02.js.testArrayDestructuring02_02.occurrences | 2 +
...ng02.js.testArrayDestructuring02_03.occurrences | 2 +
...ng02.js.testArrayDestructuring02_04.occurrences | 2 +
.../arrayDestructuring03.js | 8 +
...ng03.js.testArrayDestructuring03_01.occurrences | 3 +
...ng03.js.testArrayDestructuring03_02.occurrences | 3 +
...ng03.js.testArrayDestructuring03_03.occurrences | 2 +
.../arrayDestructuring04.js | 9 +
...ng04.js.testArrayDestructuring01_01.occurrences | 2 +
...ng04.js.testArrayDestructuring01_02.occurrences | 2 +
...ng04.js.testArrayDestructuring01_03.occurrences | 3 +
.../destructuringAssignments/example01.js | 13 +
.../destructuringAssignments/example01.js.ast.xml | 356 +
.../destructuringAssignments/example01.js.semantic | 13 +
.../example01.js.structure | 5 +
.../example01.js.testExample01_01.occurrences | 3 +
.../example01.js.testExample01_02.occurrences | 2 +
.../example01.js.testExample01_03.occurrences | 3 +
.../example01.js.testExample01_04.occurrences | 2 +
.../example01.js.testExample01_05.occurrences | 2 +
.../example01.js.testExample01_06.occurrences | 1 +
.../example01.js.testExample01_07.occurrences | 2 +
.../example01.js.testExample01_08.occurrences | 0
.../example01.js.testExample01_09.occurrences | 0
.../objectDestructuring01.js | 5 +
.../objectDestructuring01.js.ast.xml | 117 +
.../objectDestructuring01.js.semantic | 5 +
.../objectDestructuring01.js.structure | 5 +
...g01.js.testObjectDestructuring01_01.occurrences | 2 +
...g01.js.testObjectDestructuring01_02.occurrences | 2 +
...g01.js.testObjectDestructuring01_03.occurrences | 2 +
.../objectDestructuring02.js | 7 +
.../objectDestructuring02.js.semantic | 7 +
.../objectDestructuring02.js.structure | 3 +
...g02.js.testObjectDestructuring02_01.occurrences | 3 +
...g02.js.testObjectDestructuring02_02.occurrences | 3 +
...g02.js.testObjectDestructuring02_03.occurrences | 3 +
...g02.js.testObjectDestructuring02_04.occurrences | 1 +
...g02.js.testObjectDestructuring02_05.occurrences | 1 +
.../objectDestructuring03.js | 7 +
.../objectDestructuring03.js.semantic | 7 +
.../objectDestructuring03.js.structure | 3 +
...g03.js.testObjectDestructuring03_01.occurrences | 3 +
.../objectDestructuring04.js | 6 +
.../objectDestructuring04.js.semantic | 6 +
.../objectDestructuring04.js.structure | 3 +
...g04.js.testObjectDestructuring04_01.occurrences | 1 +
...g04.js.testObjectDestructuring04_02.occurrences | 2 +
...g04.js.testObjectDestructuring04_03.occurrences | 2 +
...g04.js.testObjectDestructuring04_04.occurrences | 1 +
...g04.js.testObjectDestructuring04_05.occurrences | 2 +
.../objectDestructuring05.js | 5 +
.../objectDestructuring05.js.semantic | 5 +
.../objectDestructuring05.js.structure | 5 +
...g05.js.testObjectDestructuring05_01.occurrences | 2 +
...g05.js.testObjectDestructuring05_02.occurrences | 2 +
...g05.js.testObjectDestructuring05_03.occurrences | 2 +
...g05.js.testObjectDestructuring05_04.occurrences | 2 +
...g05.js.testObjectDestructuring05_05.occurrences | 2 +
.../objectDestructuring06.js | 4 +
.../objectDestructuring06.js.semantic | 4 +
...g06.js.testObjectDestructuring06_01.occurrences | 1 +
...g06.js.testObjectDestructuring06_02.occurrences | 2 +
...g06.js.testObjectDestructuring06_03.occurrences | 2 +
.../regExpDestructuring01.js | 10 +
...g01.js.testRegExpDestructuring01_01.occurrences | 2 +
...g01.js.testRegExpDestructuring01_02.occurrences | 2 +
...g01.js.testRegExpDestructuring01_03.occurrences | 2 +
...g01.js.testRegExpDestructuring01_04.occurrences | 3 +
.../functionDeclaration/functionDeclaration01.js | 8 +
...n01.js.testFunctionDeclaration01_01.occurrences | 3 +
...n01.js.testFunctionDeclaration01_02.occurrences | 2 +
.../functionDeclaration/functionDeclaration02.js | 11 +
...n02.js.testFunctionDeclaration02_01.occurrences | 2 +
...n02.js.testFunctionDeclaration02_02.occurrences | 2 +
...n02.js.testFunctionDeclaration02_03.occurrences | 2 +
.../functionDeclaration/functionDeclaration03.js | 12 +
...n03.js.testFunctionDeclaration03_01.occurrences | 2 +
...n03.js.testFunctionDeclaration03_02.occurrences | 2 +
...n03.js.testFunctionDeclaration03_03.occurrences | 2 +
.../functionDeclaration/functionDeclaration04.js | 15 +
...n04.js.testFunctionDeclaration04_01.occurrences | 2 +
...n04.js.testFunctionDeclaration04_02.occurrences | 2 +
...n04.js.testFunctionDeclaration04_03.occurrences | 2 +
...n04.js.testFunctionDeclaration04_04.occurrences | 2 +
...n04.js.testFunctionDeclaration04_05.occurrences | 2 +
.../functionDeclaration/functionDeclaration05.js | 15 +
.../functionDeclaration05.js.semantic | 15 +
...n05.js.testFunctionDeclaration05_01.occurrences | 3 +
...n05.js.testFunctionDeclaration05_02.occurrences | 2 +
...n05.js.testFunctionDeclaration05_03.occurrences | 1 +
.../functionDeclaration/functionDeclaration06.js | 13 +
...n06.js.testFunctionDeclaration06_01.occurrences | 2 +
...n06.js.testFunctionDeclaration06_02.occurrences | 3 +
...n06.js.testFunctionDeclaration06_03.occurrences | 4 +
.../issue222964.js.testIssue222964_01.completion | 38 +-
.../issue222964.js.testIssue222964_02.completion | 38 +-
.../issue222964.js.testIssue222964_03.completion | 38 +-
.../issue222964.js.testIssue222964_05.completion | 38 +-
.../data/testfiles/markoccurences/issue223970.js | 16 +
.../issue223970.js.testIssue223970_01.occurrences | 3 +
.../issue223970.js.testIssue223970_02.occurrences | 2 +
.../markoccurences/issue225399.js.structure | 2 +-
.../data/testfiles/markoccurences/issue231627.js | 8 +
.../markoccurences/issue231627.js.semantic | 8 +
.../issue231627.js.testIssue231627_01.occurrences | 2 +
.../issue232792.js.testCCinWith01.completion | 10 +
.../testfiles/markoccurences/issue241171.js.model | 64 -
.../testfiles/markoccurences/issue242421.js.model | 36 -
.../markoccurences/issue242421.js.semantic | 2 +-
.../markoccurences/issue244344.js.semantic | 2 +-
.../markoccurences/issue244344.js.structure | 5 +-
.../markoccurences/issue245488.js.structure | 3 +-
.../data/testfiles/markoccurences/issue246239.js | 7 +
.../markoccurences/issue246239.js.semantic | 7 +
.../issue246239.js.testIssue246239_01.occurrences | 2 +
.../issue246239.js.testIssue246239_02.occurrences | 2 +
.../issue249487.js.testIssue249487.hints | 2 +-
.../issue251823.js.testIssue251892_01.occurrences | 2 +-
.../data/testfiles/markoccurences/issue251853.js | 2 +-
.../issue251853.js.testIssue251853_02.occurrences | 2 +-
.../markoccurences/issue251984.js.semantic | 2 +-
.../testfiles/markoccurences/issue252135.js.model | 22 -
.../markoccurences/issue252375.js.structure | 2 +-
.../testfiles/markoccurences/issue252755_01.js | 8 +
.../markoccurences/issue252755_01.js.semantic | 8 +
...ssue252755_01.js.testIssue252755_01.occurrences | 2 +
...ssue252755_01.js.testIssue252755_02.occurrences | 2 +
.../testfiles/markoccurences/issue252755_02.js | 12 +
.../markoccurences/issue252755_02.js.semantic | 12 +
...ssue252755_02.js.testIssue252755_03.occurrences | 4 +
.../data/testfiles/markoccurences/issue258724.js | 12 +
.../issue258724.js.testIssue258724_01.occurrences | 2 +
.../issue258724.js.testIssue258724_02.occurrences | 2 +
.../data/testfiles/markoccurences/issue262469.js | 8 +
.../markoccurences/issue262469.js.ast.xml | 102 +
.../issue262469.js.testIssue262469_01.occurrences | 2 +
.../data/testfiles/markoccurences/issue267694.js | 15 +
.../markoccurences/issue267694.js.semantic | 15 +
.../issue267694.js.testIssue267694_01.occurrences | 3 +
.../issue267694.js.testIssue267694_02.occurrences | 3 +
.../data/testfiles/markoccurences/issue267974.js | 21 +
.../markoccurences/issue267974.js.structure | 3 +
.../issue267974.js.testIssue267974_01.occurrences | 6 +
.../testfiles/markoccurences/issue267974_01.js | 8 +
.../markoccurences/issue267974_01.js.structure | 0
...ssue267974_01.js.testIssue267974_02.occurrences | 3 +
.../parser => markoccurences/jsdoc}/issue252873.js | 0
.../issue252873.js.testIssue252873_01.occurrences | 0
.../issue252873.js.testIssue252873_02.occurrences | 0
.../testfiles/markoccurences/strangeMethodName.js | 6 +
.../markoccurences/strangeMethodName.js.structure | 3 +
...odName.js.testStrangeMethodNames_01.occurrences | 2 +
.../testfiles/model/anonymousFunction.js.model | 22 -
.../testfiles/model/anonymousFunction2.js.model | 32 -
.../unit/data/testfiles/model/arrowFunction.js | 54 +
...rrowFunction.js.testArrowFunction01.occurrences | 1 +
...rrowFunction.js.testArrowFunction02.occurrences | 2 +
...rrowFunction.js.testArrowFunction03.occurrences | 1 +
...rrowFunction.js.testArrowFunction04.occurrences | 2 +
...rrowFunction.js.testArrowFunction05.occurrences | 2 +
...rrowFunction.js.testArrowFunction06.occurrences | 1 +
.../unit/data/testfiles/model/closers01.js.model | 57 -
.../unit/data/testfiles/model/defaultParameters.js | 46 +
...rameters.js.testDefaultParameters01.occurrences | 2 +
...rameters.js.testDefaultParameters02.occurrences | 3 +
.../getterSettterInObjectLiteral.js.structure | 4 +-
.../data/testfiles/model/issue236141_01.js.model | 29 -
.../data/testfiles/model/issue236141_02.js.model | 31 -
.../unit/data/testfiles/model/issue242454.js.model | 24 -
.../data/testfiles/model/issue242454.js.semantic | 2 +-
.../data/testfiles/model/issue242454.js.structure | 8 +-
.../unit/data/testfiles/model/issue247834.js.model | 36 -
.../unit/data/testfiles/model/issue251911.js.model | 43 -
.../data/testfiles/model/issue251911.js.semantic | 2 +-
.../data/testfiles/model/jQueryFragment01.js.model | 59 -
.../testfiles/model/jQueryFragment01.js.structure | 2 +-
.../data/testfiles/model/jQueryFragment02.js.model | 48 -
.../test/unit/data/testfiles/model/person.js.model | 155 -
.../data/testfiles/model/person.js.model.revert | 155 -
.../unit/data/testfiles/model/property03.js.model | 18 -
.../unit/data/testfiles/navigation/issue227972.js | 6 +-
.../parser/asyncFunctions/asyncFunctions1.js | 10 +
.../asyncFunctions/asyncFunctions1.js.ast.xml | 135 +
.../asyncFunctions/asyncFunctions1.js.semantic | 10 +
.../parser/asyncFunctions/asyncFunctions2.js | 5 +
.../asyncFunctions/asyncFunctions2.js.ast.xml | 64 +
.../asyncFunctions/asyncFunctions2.js.semantic | 5 +
.../parser/asyncFunctions/asyncFunctions3.js | 17 +
.../asyncFunctions/asyncFunctions3.js.ast.xml | 146 +
.../asyncFunctions/asyncFunctions3.js.semantic | 17 +
.../parser/asyncFunctions/asyncFunctions4.js | 3 +
.../asyncFunctions/asyncFunctions4.js.ast.xml | 0
.../asyncFunctions/asyncFunctions4.js.semantic | 3 +
.../parser/asyncFunctions/asyncFunctions5.js | 4 +
.../asyncFunctions/asyncFunctions5.js.ast.xml | 39 +
.../asyncFunctions/asyncFunctions5.js.semantic | 4 +
.../parser/asyncFunctions/asyncFunctions6.js | 10 +
.../asyncFunctions/asyncFunctions6.js.ast.xml | 93 +
.../asyncFunctions/asyncFunctions6.js.semantic | 10 +
.../parser/asyncFunctions/asyncFunctions7.js | 4 +
.../asyncFunctions/asyncFunctions7.js.ast.xml | 45 +
.../asyncFunctions/asyncFunctions7.js.semantic | 4 +
.../unit/data/testfiles/parser/classProperty1.js | 13 +
.../testfiles/parser/classProperty1.js.ast.xml | 103 +
.../testfiles/parser/decorators/decorators1.js | 8 +
.../parser/decorators/decorators1.js.ast.xml | 0
.../testfiles/parser/decorators/decorators10.js | 10 +
.../parser/decorators/decorators10.js.ast.xml | 124 +
.../testfiles/parser/decorators/decorators2.js | 9 +
.../parser/decorators/decorators2.js.ast.xml | 0
.../testfiles/parser/decorators/decorators3.js | 9 +
.../parser/decorators/decorators3.js.ast.xml | 140 +
.../testfiles/parser/decorators/decorators4.js | 9 +
.../parser/decorators/decorators4.js.ast.xml | 154 +
.../testfiles/parser/decorators/decorators5.js | 9 +
.../parser/decorators/decorators5.js.ast.xml | 71 +
.../testfiles/parser/decorators/decorators6.js | 9 +
.../parser/decorators/decorators6.js.ast.xml | 0
.../testfiles/parser/decorators/decorators7.js | 12 +
.../parser/decorators/decorators7.js.ast.xml | 99 +
.../testfiles/parser/decorators/decorators8.js | 7 +
.../parser/decorators/decorators8.js.ast.xml | 87 +
.../parser/decorators/decorators8.js.semantic | 7 +
.../decorators8.js.testDecorators8_01.occurrences | 2 +
.../testfiles/parser/decorators/decorators9.js | 9 +
.../parser/decorators/decorators9.js.ast.xml | 118 +
.../unit/data/testfiles/parser/exponentiation.js | 5 +
.../testfiles/parser/exponentiation.js.ast.xml | 53 +
.../test/unit/data/testfiles/parser/jsx/jsx1.js | 13 +
.../unit/data/testfiles/parser/jsx/jsx1.js.ast.xml | 143 +
.../test/unit/data/testfiles/parser/jsx/jsx10.js | 1 +
.../data/testfiles/parser/jsx/jsx10.js.ast.xml | 24 +
.../test/unit/data/testfiles/parser/jsx/jsx11.js | 1 +
.../data/testfiles/parser/jsx/jsx11.js.ast.xml | 24 +
.../test/unit/data/testfiles/parser/jsx/jsx12.js | 1 +
.../data/testfiles/parser/jsx/jsx12.js.ast.xml | 14 +
.../test/unit/data/testfiles/parser/jsx/jsx13.js | 1 +
.../data/testfiles/parser/jsx/jsx13.js.ast.xml | 14 +
.../test/unit/data/testfiles/parser/jsx/jsx2.js | 6 +
.../unit/data/testfiles/parser/jsx/jsx2.js.ast.xml | 51 +
.../test/unit/data/testfiles/parser/jsx/jsx3.js | 30 +
.../unit/data/testfiles/parser/jsx/jsx3.js.ast.xml | 150 +
.../test/unit/data/testfiles/parser/jsx/jsx4.js | 10 +
.../unit/data/testfiles/parser/jsx/jsx4.js.ast.xml | 75 +
.../test/unit/data/testfiles/parser/jsx/jsx5.js | 9 +
.../unit/data/testfiles/parser/jsx/jsx5.js.ast.xml | 101 +
.../test/unit/data/testfiles/parser/jsx/jsx6.js | 12 +
.../unit/data/testfiles/parser/jsx/jsx6.js.ast.xml | 167 +
.../test/unit/data/testfiles/parser/jsx/jsx7.js | 5 +
.../unit/data/testfiles/parser/jsx/jsx7.js.ast.xml | 39 +
.../test/unit/data/testfiles/parser/jsx/jsx8.js | 5 +
.../unit/data/testfiles/parser/jsx/jsx8.js.ast.xml | 67 +
.../test/unit/data/testfiles/parser/jsx/jsx9.js | 5 +
.../unit/data/testfiles/parser/jsx/jsx9.js.ast.xml | 47 +
.../test/unit/data/testfiles/parser/node01.js | 13 +
.../unit/data/testfiles/parser/node01.js.structure | 3 +
.../unit/data/testfiles/parser/regexpInTemplate.js | 3 +
.../testfiles/parser/regexpInTemplate.js.ast.xml | 149 +
.../restSpreadProperties/restSpreadProperties1.js | 3 +
.../restSpreadProperties1.js.ast.xml | 88 +
.../restSpreadProperties/restSpreadProperties2.js | 3 +
.../restSpreadProperties2.js.ast.xml | 181 +
.../restSpreadProperties/restSpreadProperties3.js | 1 +
.../restSpreadProperties3.js.ast.xml | 26 +
.../restSpreadProperties/restSpreadProperties4.js | 1 +
.../restSpreadProperties4.js.ast.xml | 20 +
.../restSpreadProperties/restSpreadProperties5.js | 1 +
.../restSpreadProperties5.js.ast.xml | 128 +
.../parser/trailingCommas/trailingCommas1.js | 7 +
.../trailingCommas/trailingCommas1.js.ast.xml | 59 +
.../parser/trailingCommas/trailingCommas2.js | 4 +
.../trailingCommas/trailingCommas2.js.ast.xml | 58 +
.../parser/trailingCommas/trailingCommas3.js | 3 +
.../trailingCommas/trailingCommas3.js.ast.xml | 0
.../parser/trailingCommas/trailingCommas4.js | 1 +
.../trailingCommas/trailingCommas4.js.ast.xml | 30 +
.../parser/trailingCommas/trailingCommas5.js | 3 +
.../trailingCommas/trailingCommas5.js.ast.xml | 0
.../parser/trailingCommas/trailingCommas6.js | 3 +
.../trailingCommas/trailingCommas6.js.ast.xml | 56 +
.../parser/trailingCommas/trailingCommas7.js | 1 +
.../trailingCommas/trailingCommas7.js.ast.xml | 40 +
.../parser/trailingCommas/trailingCommas8.js | 1 +
.../trailingCommas/trailingCommas8.js.ast.xml | 14 +
.../parser/trailingCommas/trailingCommas9.js | 6 +
.../trailingCommas/trailingCommas9.js.ast.xml | 71 +
.../unit/data/testfiles/scriptInput.js.tokens.txt | 33 -
.../data/testfiles/scriptInputBroken.js.tokens.txt | 44 -
.../classWithSDoc.js.testAllCompletion.completion | 26 -
.../test/unit/data/testfiles/simple.json.structure | 11 +-
.../testfiles/structure/issue217011.js.structure | 10 +-
.../testfiles/structure/issue222177.js.structure | 4 +-
.../issue223602.js.testIssue223602_01.completion | 38 +-
.../issue223602.js.testIssue223602_02.completion | 6 +-
.../issue223602.js.testIssue223602_03.completion | 6 +-
.../issue223891.js.testIssue223891_01.completion | 6 +-
.../testfiles/structure/issue224796.js.structure | 2 +-
.../testfiles/structure/issue226480.js.structure | 2 +-
.../testfiles/structure/issue226490.js.structure | 2 +-
.../testfiles/structure/issue226930.js.structure | 18 +-
.../testfiles/structure/issue231815.js.structure | 48 +-
.../testfiles/structure/issue232910.js.structure | 6 +-
.../structure/issue243140_01.js.structure | 5 +-
.../testfiles/structure/issue245519.js.structure | 2 +-
.../testfiles/structure/issue246896.js.semantic | 4 +-
.../testfiles/structure/issue246896.js.structure | 8 +-
.../testfiles/structure/issue247365.js.structure | 4 +-
.../data/testfiles/structure/issue250392.js.model | 22 -
.../testfiles/structure/issue250392.js.structure | 5 +-
.../testfiles/structure/issue252028.js.structure | 4 +-
.../unit/data/testfiles/structure/issue262549.js | 5 +
.../testfiles/structure/issue262549.js.structure | 2 +
.../structure/semitypes/semiTypes.js.model | 73 -
.../structure/semitypes/semiTypes.js.structure | 18 -
.../test/unit/data/testfiles/testInput.js | 84 -
.../unit/data/testfiles/testInput.js.tokens.txt | 604 -
.../unit/data/testfiles/testInput.json.tokens.txt | 157 -
.../issue234373.js.testIssue234373_02.completion | 10 +
.../issue234375.js.testIssue234375_01.completion | 10 +-
.../issue234375.js.testIssue234375_03.completion | 8 +-
.../data/testfiles/with/issue234381.js.structure | 2 +-
.../issue234381.js.testIssue234381_03.completion | 12 +-
.../unit/data/testfiles/with/woman.js.structure | 11 +
.../editor/CompletionContextFinderTest.java | 4 +-
.../javascript2/editor/JsBracesMatcherTest.java | 7 +
.../editor/JsCamelCaseInterceptorTest.java | 2 +-
.../editor/JsCodeCompletionArgumentsTest.java | 6 +-
.../editor/JsCodeCompletionES6Test.java | 71 +
.../editor/JsCodeCompletionGeneralTest.java | 30 +-
.../editor/JsCodeCompletionGeneratorsTest.java | 104 +
.../editor/JsCodeCompletionPrototypeChain01.java | 112 -
.../JsCodeCompletionPrototypeChain01Test.java | 112 +
.../javascript2/editor/JsCodeCompletionTest.java | 16 +
.../editor/JsCodeCompletionWithAnonymProperty.java | 92 -
.../JsCodeCompletionWithAnonymPropertyTest.java | 92 +
.../editor/JsCodeCompletionWithAnonymous.java | 87 -
.../editor/JsCodeCompletionWithAnonymousTest.java | 87 +
.../editor/JsCodeCompletionWithComplex.java | 91 -
.../editor/JsCodeCompletionWithComplexTest.java | 91 +
.../editor/JsDeletedTextInterceptorTest.java | 15 +-
.../javascript2/editor/JsSemanticAnalyzerTest.java | 188 +-
.../javascript2/editor/JsStructureScannerTest.java | 122 +
.../modules/javascript2/editor/JsTestBase.java | 2 +-
.../JsTypedBreakInterceptorEmbeddedTest.java | 2 +-
.../editor/JsTypedBreakInterceptorTest.java | 6 +-
.../editor/JsTypedTextInterceptorTest.java | 56 +-
.../modules/javascript2/editor/JsWithBase.java | 7 +-
.../modules/javascript2/editor/JsonTestBase.java | 2 +-
.../editor/JsonTypedBreakInterceptorTest.java | 2 +-
.../editor/doc/JsCommentGeneratorEmbeddedTest.java | 188 +
.../editor/doc/JsCommentGeneratorTest.java | 16 -
.../editor/doc/JsDocumentationHolderTest.java | 111 -
.../editor/doc/JsDocumentationReaderTest.java | 90 -
.../editor/doc/JsDocumentationResolutionTest.java | 114 +
.../editor/doc/JsDocumentationSupportTest.java | 116 -
.../editor/doc/JsDocumentationTestBase.java | 372 -
.../editor/embedding/JsEmbeddingProviderTest.java | 120 +
.../editor/extdoc/ExtDocCodeCompletionTest.java | 92 -
.../extdoc/ExtDocCompletionDocumentationTest.java | 109 -
.../extdoc/ExtDocDocumentationProviderTest.java | 309 -
.../javascript2/editor/extdoc/ExtDocModelTest.java | 395 -
.../editor/extdoc/ExtDocParserTest.java | 117 -
.../editor/formatter/JsFormatterEmbeddedTest.java | 108 +-
.../editor/formatter/JsFormatterTest.java | 864 +-
.../editor/formatter/JsFormatterTestBase.java | 250 +
.../editor/formatter/PackageFormatterTest.java | 2 +-
.../editor/hint/JsConventionHintTest.java | 44 +
.../editor/jsdoc/JsDocCodeCompletionTest.java | 97 -
.../jsdoc/JsDocCompletionDocumentationTest.java | 150 -
.../jsdoc/JsDocDocumentationProviderTest.java | 406 -
.../javascript2/editor/jsdoc/JsDocModelTest.java | 498 -
.../javascript2/editor/jsdoc/JsDocParserTest.java | 213 -
.../editor/jsdoc/TypeDefIssue249068.java | 66 -
.../lexer/JsDocumentationLexerRandomTest.java | 111 -
.../editor/lexer/JsDocumentationLexerTest.java | 398 -
.../editor/lexer/JsLexerRandomTest.java | 123 -
.../javascript2/editor/lexer/JsLexerTest.java | 594 -
.../javascript2/editor/lexer/JsTokenDumpTest.java | 80 -
.../editor/lexer/JsonTokenDumpTest.java | 70 -
.../editor/model/impl/MarkOccurrenceTest.java | 1617 -
.../javascript2/editor/model/impl/ModelTest.java | 298 -
.../editor/model/impl/ModelTestBase.java | 103 -
.../editor/navigation/GoToDeclarationTest.java | 18 +-
.../editor/navigation/MarkOccurrenceTest.java | 2284 ++
.../modules/javascript2/editor/parser/AstTest.java | 3142 ++
.../javascript2/editor/parser/AstXmlVisitor.java | 493 +
.../javascript2/editor/parser/Ecma6TestSuite.java | 65 +
.../editor/parser/JsParserEmbeddedTest.java | 2 +-
.../javascript2/editor/parser/JsParserTest.java | 29 +-
.../javascript2/editor/parser/JsonParserTest.java | 81 +-
.../editor/sdoc/SDocCodeCompletionTest.java | 92 -
.../sdoc/SDocCompletionDocumentationTest.java | 145 -
.../editor/sdoc/SDocDocumentationProviderTest.java | 330 -
.../javascript2/editor/sdoc/SDocModelTest.java | 400 -
.../javascript2/editor/sdoc/SDocParserTest.java | 118 -
.../tools/JavaScriptColoringScanner.flex | 570 -
javascript2.editor/tools/JsDocColoringScanner.flex | 228 -
.../tools/JsDocumentationColoringScanner.flex | 228 -
javascript2.editor/tools/JsonColoringScanner.flex | 254 -
javascript2.editor/tools/SDocColoringScanner.flex | 220 -
javascript2.editor/tools/lexer-js.patch | 104 -
javascript2.editor/tools/lexer-jsdoc.patch | 112 -
javascript2.editor/tools/lexer-sdoc.patch | 112 -
javascript2.extdoc/build.xml | 44 +
javascript2.extdoc/manifest.mf | 7 +
javascript2.extdoc/nbproject/project.properties | 39 +
javascript2.extdoc/nbproject/project.xml | 217 +
.../modules/javascript2/extdoc/Bundle.properties | 38 +
.../ExtDocAnnotationCompletionTagProvider.java | 108 +
.../modules/javascript2/extdoc/ExtDocComment.java | 247 +
.../extdoc/ExtDocDocumentationHolder.java | 67 +
.../extdoc/ExtDocDocumentationProvider.java | 96 +
.../modules/javascript2/extdoc/ExtDocParser.java | 158 +
.../javascript2/extdoc/ExtDocSyntaxProvider.java | 72 +
.../extdoc/completion/DescriptionTag.java | 66 +
.../extdoc/completion/IdentDescribedTag.java | 69 +
.../extdoc/completion/IdentSimpleTag.java | 66 +
.../extdoc/completion/TypeDescribedTag.java | 69 +
.../extdoc/completion/TypeNamedTag.java | 70 +
.../extdoc/completion/TypeSimpleTag.java | 66 +
.../netbeans/modules/javascript2/extdoc/layer.xml | 52 +
.../extdoc/model/ExtDocBaseElement.java | 70 +
.../extdoc/model/ExtDocDescriptionElement.java | 78 +
.../javascript2/extdoc/model/ExtDocElement.java | 56 +
.../extdoc/model/ExtDocElementType.java | 129 +
.../extdoc/model/ExtDocElementUtils.java | 241 +
.../extdoc/model/ExtDocIdentDescribedElement.java | 79 +
.../extdoc/model/ExtDocIdentSimpleElement.java | 78 +
.../extdoc/model/ExtDocSimpleElement.java | 65 +
.../extdoc/model/ExtDocTypeDescribedElement.java | 106 +
.../extdoc/model/ExtDocTypeNamedElement.java | 130 +
.../extdoc/model/ExtDocTypeSimpleElement.java | 105 +
.../data/testfiles/extdoc/allTypesAsterisks.js | 0
.../data/testfiles/extdoc/allTypesNoAsterisks.js | 0
.../unit/data/testfiles/extdoc/blockComment.js | 0
.../unit/data/testfiles/extdoc/classWithExtDoc.js | 0
...classWithExtDoc.js.testAllCompletion.completion | 23 +
...sWithExtDoc.js.testMethodCompletion1.completion | 0
...sWithExtDoc.js.testMethodCompletion2.completion | 0
.../classWithExtDoc.js.testNoCompletion.completion | 0
...ssWithExtDoc.js.testParamCompletion2.completion | 0
...ssWithExtDoc.js.testParamCompletion3.completion | 0
...ssWithExtDoc.js.testParamCompletion4.completion | 0
...ssWithExtDoc.js.testParamCompletion5.completion | 0
...ssWithExtDoc.js.testParamCompletion6.completion | 0
.../completionDocumentation01.js | 0
...testCompletionDocumentation01completionDoc.html | 0
...testCompletionDocumentation02completionDoc.html | 0
...testCompletionDocumentation03completionDoc.html | 0
...testCompletionDocumentation04completionDoc.html | 0
...testCompletionDocumentation05completionDoc.html | 0
.../unit/data/testfiles/extdoc/modelTestFile.js | 0
.../unit/data/testfiles/extdoc/parameterTypes.js | 0
.../extdoc/ExtDocCodeCompletionTest.java | 93 +
.../extdoc/ExtDocCompletionDocumentationTest.java | 109 +
.../extdoc/ExtDocDocumentationProviderTest.java | 306 +
.../javascript2/extdoc/ExtDocModelTest.java | 400 +
.../javascript2/extdoc/ExtDocParserTest.java | 117 +
javascript2.extjs/build.xml | 39 +
javascript2.extjs/manifest.mf | 2 +-
javascript2.extjs/nbproject/project.properties | 37 +
javascript2.extjs/nbproject/project.xml | 82 +-
.../modules/javascript2/extjs/Bundle.properties | 37 +
.../javascript2/extjs/ExtJsCodeCompletion.java | 5 +-
.../extjs/model/ExtApplyFunctionInterceptor.java | 14 +-
.../extjs/model/ExtDefineFunctionInterceptor.java | 14 +-
.../model/ExtNamespaceFunctionInterceptor.java | 14 +-
.../completion/applyMethod/ClassManager.js.model | 1722 +-
.../applyMethod/ClassManager.js.structure | 72 +-
.../defineMethod/issue237938.js.semantic | 2 +-
...02.js.testDefineMethodInterceptor_02.completion | 2 +-
...03.js.testDefineMethodInterceptor_03.completion | 1 +
...04.js.testDefineMethodInterceptor_04.completion | 4 +-
...05.js.testDefineMethodInterceptor_05.completion | 1 +
.../javascript2/extjs/model/ExtModelTest.java | 2 +-
javascript2.jade/build.xml | 43 +-
javascript2.jade/manifest.mf | 2 +-
javascript2.jade/nbproject/project.properties | 37 +
javascript2.jade/nbproject/project.xml | 52 +-
.../jade/editor/JadeCompletionContext.java | 2 +-
.../jade/editor/lexer/JadeColoringLexer.java | 995 +-
.../javascript2/jade/editor/lexer/JadeTokenId.java | 2 +-
.../netbeans/modules/javascript2/jade/layer.xml | 2 -
.../javascript2/jade/resources/Bundle.properties | 2 -
.../javascript2/jade/resources/fontsColors.xml | 39 +
.../unit/data/testfiles/lexer/issue258274_01.jade | 1 +
.../data/testfiles/lexer/issue258274_01.jade.lexer | 1 +
.../unit/data/testfiles/lexer/issue258274_02.jade | 1 +
.../data/testfiles/lexer/issue258274_02.jade.lexer | 1 +
.../unit/data/testfiles/lexer/issue258274_03.jade | 1 +
.../data/testfiles/lexer/issue258274_03.jade.lexer | 1 +
.../jade/editor/lexer/JadeLexerTest.java | 12 +
javascript2.jade/tools/JadeColoringScanner.flex | 5 +-
javascript2.jquery/build.xml | 39 +
.../external/jquery-propertyNames.xml | 3 -
javascript2.jquery/manifest.mf | 2 +-
javascript2.jquery/nbproject/project.properties | 37 +
javascript2.jquery/nbproject/project.xml | 75 +
.../modules/javascript2/jquery/Bundle.properties | 37 +
.../javascript2/jquery/SelectorsLoader.java | 74 +-
.../jquery/editor/JQueryCodeCompletion.java | 6 +-
.../jquery/editor/JQueryDeclarationFinder.java | 4 +-
.../jquery/model/JQueryExtendInterceptor.java | 66 +-
.../javascript2/jquery/model/JQueryModel.java | 19 +-
.../jquery/model/JQueryModelInterceptor.java | 6 +-
.../javascript2/jquery/model/JQueryUtils.java | 4 +-
.../jquery/model/JQueryWidgetInterceptor.java | 12 +-
.../jQuery/issue223963.js.testIssue223963.html | 10 +-
.../jQueryFragment01.js.testProperty01.completion | 10 +
.../data/testfiles/jquery/issue236722.js.structure | 10 +-
.../data/testfiles/jquery/issue238856.js.structure | 36 +-
.../jquery/JQueryCodeCompletionTest.java | 2 +-
javascript2.jsdoc/build.xml | 44 +
javascript2.jsdoc/manifest.mf | 7 +
javascript2.jsdoc/nbproject/project.properties | 39 +
javascript2.jsdoc/nbproject/project.xml | 217 +
.../modules/javascript2/jsdoc/Bundle.properties | 38 +
.../JsDocAnnotationCompletionTagProvider.java | 108 +
.../modules/javascript2/jsdoc/JsDocComment.java | 325 +
.../javascript2/jsdoc/JsDocCommentType.java | 71 +
.../jsdoc/JsDocDocumentationHolder.java | 69 +
.../jsdoc/JsDocDocumentationProvider.java | 92 +
.../modules/javascript2/jsdoc/JsDocParser.java | 232 +
.../javascript2/jsdoc/JsDocSyntaxProvider.java | 72 +
.../javascript2/jsdoc/completion/AssingTag.java | 69 +
.../jsdoc/completion/DescriptionTag.java | 66 +
.../javascript2/jsdoc/completion/LinkTag.java | 66 +
.../jsdoc/completion/TypeDescribedTag.java | 69 +
.../javascript2/jsdoc/completion/TypeNamedTag.java | 70 +
.../jsdoc/completion/TypeSimpleTag.java | 66 +
.../netbeans/modules/javascript2/jsdoc/layer.xml | 52 +
.../javascript2/jsdoc/model/AssignElement.java | 82 +
.../jsdoc/model/DeclarationElement.java | 77 +
.../jsdoc/model/DescriptionElement.java | 78 +
.../javascript2/jsdoc/model/JsDocElement.java | 69 +
.../javascript2/jsdoc/model/JsDocElementImpl.java | 65 +
.../javascript2/jsdoc/model/JsDocElementType.java | 141 +
.../javascript2/jsdoc/model/JsDocElementUtils.java | 283 +
.../javascript2/jsdoc/model/LinkElement.java | 72 +
.../modules/javascript2/jsdoc/model/NamePath.java | 64 +
.../jsdoc/model/NamedParameterElement.java | 200 +
.../javascript2/jsdoc/model/ParameterElement.java | 79 +
.../javascript2/jsdoc/model/SimpleElement.java | 66 +
.../jsdoc/model/UnnamedParameterElement.java | 88 +
.../unit/data/testfiles/jsdoc/allTypesAsterisks.js | 0
.../data/testfiles/jsdoc/allTypesNoAsterisk.js | 0
.../test/unit/data/testfiles/jsdoc/blockComment.js | 0
.../unit/data/testfiles/jsdoc/classWithJsDoc.js | 0
.../classWithJsDoc.js.testAllCompletion.completion | 0
...ssWithJsDoc.js.testMethodCompletion1.completion | 0
...ssWithJsDoc.js.testMethodCompletion2.completion | 0
.../classWithJsDoc.js.testNoCompletion.completion | 0
...assWithJsDoc.js.testParamCompletion2.completion | 0
...assWithJsDoc.js.testParamCompletion3.completion | 0
...assWithJsDoc.js.testParamCompletion4.completion | 0
...assWithJsDoc.js.testParamCompletion5.completion | 0
...assWithJsDoc.js.testParamCompletion6.completion | 0
...assWithJsDoc.js.testReturnCompletion.completion | 0
.../completionDocumentation01.js | 0
...testCompletionDocumentation01completionDoc.html | 0
...testCompletionDocumentation02completionDoc.html | 0
...testCompletionDocumentation03completionDoc.html | 0
...testCompletionDocumentation04completionDoc.html | 0
...testCompletionDocumentation05completionDoc.html | 0
...testCompletionDocumentation06completionDoc.html | 0
...testCompletionDocumentation07completionDoc.html | 0
...testCompletionDocumentation08completionDoc.html | 0
...testCompletionDocumentation09completionDoc.html | 0
...testCompletionDocumentation10completionDoc.html | 0
...testCompletionDocumentation11completionDoc.html | 0
...testCompletionDocumentation12completionDoc.html | 0
...testCompletionDocumentation13completionDoc.html | 0
.../test/unit/data/testfiles/jsdoc/issue233176.js | 0
.../test/unit/data/testfiles/jsdoc/issue249068.js | 0
.../data/testfiles/jsdoc/issue249068.js.semantic | 0
.../unit/data/testfiles/jsdoc/modelTestFile.js | 0
.../unit/data/testfiles/jsdoc/parameterTypes.js | 0
.../data/testfiles/jsdoc/parser/issue188091.js | 0
.../data/testfiles/jsdoc/parser/issue217857.js | 0
.../data/testfiles/jsdoc/parser/issue224205.js | 0
.../data/testfiles/jsdoc/parser/issue224265.js | 0
.../data/testfiles/jsdoc/parser/issue224552.js | 0
.../data/testfiles/jsdoc/parser/issue249834.js | 0
.../jsdoc/parser/paramGoogleCompilerSyntax.js | 0
.../test/unit/data/testfiles/jsdoc/returnTypes.js | 0
.../test/unit/data/testfiles/jsdoc/windowStub.js | 0
.../javascript2/jsdoc/JsDocCodeCompletionTest.java | 97 +
.../jsdoc/JsDocCompletionDocumentationTest.java | 150 +
.../jsdoc/JsDocDocumentationProviderTest.java | 405 +
.../modules/javascript2/jsdoc/JsDocModelTest.java | 503 +
.../modules/javascript2/jsdoc/JsDocParserTest.java | 212 +
.../javascript2/jsdoc/TypeDefIssue249068.java | 66 +
javascript2.json/build.xml | 44 +
javascript2.json/manifest.mf | 6 +
javascript2.json/nbproject/project.properties | 40 +
javascript2.json/nbproject/project.xml | 139 +
.../modules/javascript2/json/Bundle.properties | 39 +
.../json/GlobalJsonOptionsQueryImpl.java | 112 +
.../modules/javascript2/json/MergedResult.java | 97 +
.../json/ProjectJsonOptionsQueryImpl.java | 140 +
.../javascript2/json/api/JsonOptionsQuery.java | 119 +
.../javascript2/json/parser/JsonBaseListener.java | 154 +
.../javascript2/json/parser/JsonBaseVisitor.java | 99 +
.../modules/javascript2/json/parser/JsonLexer.java | 415 +
.../javascript2/json/parser/JsonListener.java | 113 +
.../javascript2/json/parser/JsonParser.java | 565 +
.../javascript2/json/parser/JsonVisitor.java | 92 +
.../javascript2/json/parser/ParseTreeToXml.java | 209 +
.../modules/javascript2/json/parser/Recovery.java | 152 +
.../json/spi/JsonOptionsQueryImplementation.java | 64 +
.../json/spi/support/JsonPreferences.java | 159 +
.../javascript2/json/api/JsonOptionsQueryTest.java | 159 +
.../javascript2/json/parser/JsonLexerTest.java | 150 +
.../json/parser/JsonParserPerfTest.java | 102 +
.../json/parser/ParseTreeToXmlTest.java | 196 +
javascript2.json/tools/Json.g4 | 272 +
javascript2.kit/build.xml | 39 +
javascript2.kit/manifest.mf | 4 +-
javascript2.kit/nbproject/project.xml | 66 +
javascript2.knockout/build.xml | 39 +
javascript2.knockout/manifest.mf | 2 +-
javascript2.knockout/nbproject/project.properties | 37 +
javascript2.knockout/nbproject/project.xml | 72 +-
.../modules/javascript2/knockout/Bundle.properties | 37 +
.../knockout/index/KnockoutIndexer.java | 56 +-
.../modules/javascript2/knockout/layer.xml | 39 +
.../model/KnockoutApplyBindingsInterceptor.java | 14 +-
.../knockout/model/KnockoutExportInterceptor.java | 16 +-
.../knockout/model/KnockoutExtendInterceptor.java | 14 +-
.../knockout/model/KnockoutModelInterceptor.java | 6 +-
.../model/KnockoutRegisterInterceptor.java | 16 +-
.../javascript2/knockout/model/ModelUtils.java | 6 +-
.../completion/simple.js.testSimple1.completion | 2 +-
.../completion/simple.js.testSimple2.completion | 2 +-
.../unit/data/testfiles/model/bindings2.js.model | 94 +-
.../unit/data/testfiles/model/bindings3.js.model | 94 +-
.../data/testfiles/model/bindingsExpenses.js.model | 194 +-
.../knockout/model/KnockoutModelTest.java | 38 +-
javascript2.lexer/build.xml | 85 +
javascript2.lexer/manifest.mf | 6 +
javascript2.lexer/nbproject/project.properties | 40 +
javascript2.lexer/nbproject/project.xml | 174 +
.../modules/javascript2/lexer/Bundle.properties | 38 +
.../modules/javascript2/lexer/JsColoringLexer.java | 1961 +
.../lexer/JsDocumentationColoringLexer.java | 845 +
.../javascript2/lexer/JsDocumentationLexer.java | 104 +
.../modules/javascript2/lexer/JsLexer.java | 103 +
.../modules/javascript2/lexer/JsonLexer.java | 129 +
.../javascript2/lexer/NbLexerCharStream.java | 142 +
.../lexer/api/JsDocumentationTokenId.java | 145 +
.../modules/javascript2/lexer/api/JsTokenId.java | 327 +
.../javascript2/lexer/api/LexUtilities.java | 600 +
.../test/unit/data/testfiles/comments.js | 16 +
.../unit/data/testfiles/comments.js.tokens.txt | 41 +
.../test/unit/data/testfiles/exponentiation.js | 5 +
.../data/testfiles/exponentiation.js.tokens.txt | 32 +
.../test/unit/data/testfiles/importExport01.js | 4 +
.../data/testfiles/importExport01.js.tokens.txt | 30 +
.../test/unit/data/testfiles/issue262621.js | 1 +
.../unit/data/testfiles/issue262621.js.tokens.txt | 13 +
.../test/unit/data/testfiles/jsx/inner01.js | 8 +
.../unit/data/testfiles/jsx/inner01.js.tokens.txt | 72 +
.../test/unit/data/testfiles/jsx/issue267422.js | 3 +
.../data/testfiles/jsx/issue267422.js.tokens.txt | 21 +
.../test/unit/data/testfiles/jsx/simple01.js | 12 +
.../unit/data/testfiles/jsx/simple01.js.tokens.txt | 45 +
.../test/unit/data/testfiles/jsx/simple02.js | 2 +
.../unit/data/testfiles/jsx/simple02.js.tokens.txt | 30 +
.../test/unit/data/testfiles/jsx/simple03.js | 7 +
.../unit/data/testfiles/jsx/simple03.js.tokens.txt | 69 +
.../test/unit/data/testfiles/jsx/simple04.js | 3 +
.../unit/data/testfiles/jsx/simple04.js.tokens.txt | 34 +
.../test/unit/data/testfiles/jsx/simple05.js | 4 +
.../unit/data/testfiles/jsx/simple05.js.tokens.txt | 26 +
.../test/unit/data/testfiles/jsx/templates01.js | 5 +
.../data/testfiles/jsx/templates01.js.tokens.txt | 41 +
.../test/unit/data/testfiles/keywordsAsIdent.js | 47 +
.../data/testfiles/keywordsAsIdent.js.tokens.txt | 426 +
.../test/unit/data/testfiles/regularExpression.js | 1 +
.../data/testfiles/regularExpression.js.tokens.txt | 13 +
.../test/unit/data/testfiles/scriptInput.js | 4 +
.../unit/data/testfiles/scriptInput.js.tokens.txt | 33 +
.../test/unit/data/testfiles/scriptInputBroken.js | 6 +
.../data/testfiles/scriptInputBroken.js.tokens.txt | 44 +
.../test/unit/data/testfiles/spread.js | 2 +
.../test/unit/data/testfiles/spread.js.tokens.txt | 42 +
.../test/unit/data/testfiles/templates.js | 48 +
.../unit/data/testfiles/templates.js.tokens.txt | 328 +
.../test/unit/data/testfiles/testInput.js | 86 +
.../unit/data/testfiles/testInput.js.tokens.txt | 637 +
.../test/unit/data/testfiles/testInput.json | 0
.../unit/data/testfiles/testInput.json.tokens.txt | 101 +
.../lexer/JsDocumentationLexerRandomTest.java | 112 +
.../lexer/JsDocumentationLexerTest.java | 399 +
.../modules/javascript2/lexer/JsLexerJsxTest.java | 103 +
.../javascript2/lexer/JsLexerRandomTest.java | 123 +
.../modules/javascript2/lexer/JsLexerTest.java | 729 +
.../modules/javascript2/lexer/JsTokenDumpTest.java | 120 +
.../javascript2/lexer/JsonTokenDumpTest.java | 70 +
javascript2.lexer/tools/JsColoringScanner.flex | 759 +
.../tools/JsDocumentationColoringScanner.flex | 229 +
javascript2.lexer/tools/JsonColoringScanner.flex | 254 +
javascript2.lexer/tools/lexer-js.patch | 104 +
.../tools/lexer-jsdocumentation.patch | 0
.../tools/lexer-json.patch | 0
javascript2.model/build.xml | 44 +
javascript2.model/manifest.mf | 6 +
javascript2.model/nbproject/project.properties | 40 +
javascript2.model/nbproject/project.xml | 296 +
.../modules/javascript2/model/AnonymousObject.java | 106 +
.../modules/javascript2/model/Bundle.properties | 38 +
.../modules/javascript2/model/CatchBlockImpl.java | 109 +
.../javascript2/model/DeclarationScopeImpl.java | 109 +
.../modules/javascript2/model/EmbeddingHelper.java | 63 +
.../model/FunctionArgumentAccessor.java | 90 +
.../FunctionInterceptorRegistrationProcessor.java | 81 +
.../modules/javascript2/model/JsArrayImpl.java | 156 +
.../javascript2/model/JsArrayReference.java | 75 +
.../modules/javascript2/model/JsElementImpl.java | 271 +
.../modules/javascript2/model/JsFunctionImpl.java | 410 +
.../javascript2/model/JsFunctionReference.java | 107 +
.../modules/javascript2/model/JsObjectImpl.java | 864 +
.../javascript2/model/JsObjectReference.java | 148 +
.../javascript2/model/JsWithObjectImpl.java | 243 +
.../javascript2/model/JsonModelResolver.java | 401 +
.../modules/javascript2/model/ModelAccessor.java | 81 +
.../modules/javascript2/model/ModelBuilder.java | 163 +
.../javascript2/model/ModelElementFactory.java | 309 +
.../model/ModelElementFactoryAccessor.java | 80 +
.../modules/javascript2/model/ModelExtender.java | 143 +
.../ModelInterceptorRegistrationProcessor.java | 81 +
.../modules/javascript2/model/ModelResolver.java | 88 +
.../modules/javascript2/model/ModelVisitor.java | 3553 ++
.../ObjectInterceptorRegistrationProcessor.java | 81 +
.../javascript2/model/OccurrenceBuilder.java | 230 +
.../modules/javascript2/model/ParameterObject.java | 116 +
.../javascript2/model/SemiTypeResolverVisitor.java | 566 +
.../TypeNameConvertorRegistrationProcessor.java | 82 +
.../modules/javascript2/model/UsageBuilder.java | 50 +
.../modules/javascript2/model/api/Index.java | 599 +
.../javascript2/model/api/IndexedElement.java | 462 +
.../modules/javascript2/model/api/JsArray.java | 55 +
.../modules/javascript2/model/api/JsElement.java | 123 +
.../modules/javascript2/model/api/JsFunction.java | 63 +
.../modules/javascript2/model/api/JsObject.java | 110 +
.../modules/javascript2/model/api/JsReference.java | 52 +
.../modules/javascript2/model/api/JsWith.java | 62 +
.../modules/javascript2/model/api/Model.java | 926 +
.../modules/javascript2/model/api/ModelUtils.java | 1848 +
.../modules/javascript2/model/api/Occurrence.java | 95 +
.../javascript2/model/spi/FunctionArgument.java | 121 +
.../javascript2/model/spi/FunctionInterceptor.java | 82 +
.../javascript2/model/spi/IndexChangeSupport.java | 55 +
.../javascript2/model/spi/ModelContainer.java | 78 +
.../javascript2/model/spi/ModelElementFactory.java | 690 +
.../javascript2/model/spi/ModelInterceptor.java | 66 +
.../javascript2/model/spi/ObjectInterceptor.java | 65 +
.../javascript2/model/spi/PathNodeVisitor.java | 646 +
.../javascript2/model/spi/PlatformProvider.java | 55 +
.../javascript2/model/spi/QuerySupportFactory.java | 55 +
.../javascript2/model/spi/TypeNameConvertor.java | 73 +
.../unit/data/testfiles/coloring/czechChars.js | 30 +
.../data/testfiles/coloring/czechChars.js.model | 48 +
.../unit/data/testfiles/coloring/issue252655.js | 5 +
.../data/testfiles/coloring/issue252655.js.model | 0
.../testfiles/completion/arguments/arguments.js | 29 +
.../completion/arguments/arguments.js.model | 65 +
.../data/testfiles/completion/typeInferenceNew.js | 40 +
.../testfiles/completion/typeInferenceNew.js.model | 0
.../unit/data/testfiles/hints/issue248696_01.js | 3 +
.../data/testfiles/hints/issue248696_01.js.model | 26 +
.../test/unit/data/testfiles/hints/issue252022.js | 18 +
.../unit/data/testfiles/hints/issue252022.js.model | 24 +
.../data/testfiles/markoccurences/issue231782.js | 7 +
.../testfiles/markoccurences/issue231782.js.model | 0
.../data/testfiles/markoccurences/issue241171.js | 16 +
.../testfiles/markoccurences/issue241171.js.model | 64 +
.../data/testfiles/markoccurences/issue242421.js | 10 +
.../testfiles/markoccurences/issue242421.js.model | 37 +
.../data/testfiles/markoccurences/issue244861.js | 14 +
.../testfiles/markoccurences/issue244861.js.model | 0
.../data/testfiles/markoccurences/issue252135.js | 10 +
.../testfiles/markoccurences/issue252135.js.model | 23 +
.../unit/data/testfiles/model/anonymousFunction.js | 0
.../testfiles/model/anonymousFunction.js.model | 22 +
.../data/testfiles/model/anonymousFunction2.js | 0
.../testfiles/model/anonymousFunction2.js.model | 32 +
.../unit/data/testfiles/model/arrowFunction.js | 54 +
...rrowFunction.js.testArrowFunction01.occurrences | 1 +
...rrowFunction.js.testArrowFunction02.occurrences | 2 +
...rrowFunction.js.testArrowFunction03.occurrences | 1 +
...rrowFunction.js.testArrowFunction04.occurrences | 2 +
...rrowFunction.js.testArrowFunction05.occurrences | 2 +
...rrowFunction.js.testArrowFunction06.occurrences | 1 +
.../test/unit/data/testfiles/model/closers01.js | 0
.../unit/data/testfiles/model/closers01.js.model | 57 +
.../unit/data/testfiles/model/defaultParameters.js | 46 +
...rameters.js.testDefaultParameters01.occurrences | 2 +
...rameters.js.testDefaultParameters02.occurrences | 3 +
.../unit/data/testfiles/model/functionInGlobal.js | 21 +
...obal.js.testFunctionInGlobalSpace01.occurrences | 2 +
...obal.js.testFunctionInGlobalSpace02.occurrences | 3 +
.../model/getterSettterInObjectLiteral.js | 23 +
.../model/getterSettterInObjectLiteral.js.semantic | 23 +
.../getterSettterInObjectLiteral.js.structure | 12 +
...s.testGetterSetterInObjectLiteral01.occurrences | 4 +
...s.testGetterSetterInObjectLiteral02.occurrences | 4 +
....js.testGetterSettterInObjectLiteral.completion | 8 +
...ObjectLiteral.js.testIssue218652_01.occurrences | 1 +
...ObjectLiteral.js.testIssue218652_02.occurrences | 1 +
.../test/unit/data/testfiles/model/issue229717.js | 18 +
.../unit/data/testfiles/model/issue229717.js.model | 0
.../data/testfiles/model/issue229717.js.structure | 8 +
.../issue229717.js.testIssue229717_01.completion | 7 +
.../issue229717.js.testIssue229717_01.occurrences | 4 +
.../issue229717.js.testIssue229717_02.completion | 6 +
.../issue229717.js.testIssue229717_03.completion | 7 +
.../test/unit/data/testfiles/model/issue231530.js | 10 +
.../unit/data/testfiles/model/issue231530.js.model | 22 +
.../unit/data/testfiles/model/issue236141_01.js | 0
.../data/testfiles/model/issue236141_01.js.model | 29 +
.../unit/data/testfiles/model/issue236141_02.js | 0
.../data/testfiles/model/issue236141_02.js.model | 31 +
.../unit/data/testfiles/model/issue238685_01.js | 15 +
.../data/testfiles/model/issue238685_01.js.model | 0
.../testfiles/model/issue238685_01.js.structure | 5 +
.../test/unit/data/testfiles/model/issue238693.js | 14 +
.../unit/data/testfiles/model/issue238693.js.model | 0
.../issue238693.js.testIssue238693_01.occurrences | 3 +
.../test/unit/data/testfiles/model/issue242408.js | 17 +
.../unit/data/testfiles/model/issue242408.js.model | 0
.../data/testfiles/model/issue242408.js.semantic | 17 +
.../data/testfiles/model/issue242408.js.structure | 7 +
.../issue242408.js.testIssue242408_01.completion | 5 +
.../issue242408.js.testIssue242408_01.occurrences | 3 +
.../issue242408.js.testIssue242408_02.completion | 5 +
.../issue242408.js.testIssue242408_02.occurrences | 3 +
.../issue242408.js.testIssue242408_03.occurrences | 2 +
.../issue242408.js.testIssue242408_04.occurrences | 3 +
.../issue242408.js.testIssue242408_05.occurrences | 2 +
.../test/unit/data/testfiles/model/issue242454.js | 16 +
.../unit/data/testfiles/model/issue242454.js.model | 25 +
.../data/testfiles/model/issue242454.js.semantic | 16 +
.../data/testfiles/model/issue242454.js.structure | 4 +
.../issue242454.js.testIssue242454_01.completion | 5 +
.../issue242454.js.testIssue242454_01.occurrences | 2 +
.../test/unit/data/testfiles/model/issue243449.js | 12 +
.../data/testfiles/model/issue243449.js.semantic | 12 +
.../data/testfiles/model/issue243449.js.structure | 9 +
.../issue243449.js.testIssue243449_01.occurrences | 2 +
.../issue243449.js.testIssue243449_02.occurrences | 2 +
.../issue243449.js.testIssue243449_03.occurrences | 2 +
.../test/unit/data/testfiles/model/issue247834.js | 0
.../unit/data/testfiles/model/issue247834.js.model | 36 +
.../test/unit/data/testfiles/model/issue251911.js | 21 +
.../unit/data/testfiles/model/issue251911.js.model | 45 +
.../data/testfiles/model/issue251911.js.semantic | 21 +
.../issue251911.js.testIssue251911_01.occurrences | 2 +
.../issue251911.js.testIssue251911_02.occurrences | 2 +
.../issue251911.js.testIssue251911_03.occurrences | 2 +
.../issue251911.js.testIssue251911_04.occurrences | 2 +
.../issue251911.js.testIssue251911_05.occurrences | 3 +
.../issue251911.js.testIssue251911_06.occurrences | 5 +
.../issue251911.js.testIssue251911_07.occurrences | 2 +
.../unit/data/testfiles/model/jQueryFragment01.js | 41 +
.../data/testfiles/model/jQueryFragment01.js.model | 59 +
.../testfiles/model/jQueryFragment01.js.semantic | 41 +
.../testfiles/model/jQueryFragment01.js.structure | 15 +
.../unit/data/testfiles/model/jQueryFragment02.js | 0
.../data/testfiles/model/jQueryFragment02.js.model | 48 +
.../test/unit/data/testfiles/model/kolo.js | 0
.../test/unit/data/testfiles/model/kolo.js.model | 0
.../test/unit/data/testfiles/model/namespaces01.js | 0
.../data/testfiles/model/namespaces01.js.model | 0
.../unit/data/testfiles/model/objectAsParameter.js | 64 +
.../testfiles/model/objectAsParameter.js.model | 0
.../testfiles/model/objectAsParameter.js.semantic | 64 +
.../unit/data/testfiles/model/objectMethods01.js | 0
.../data/testfiles/model/objectMethods01.js.model | 0
.../unit/data/testfiles/model/objectNames01.js | 0
.../data/testfiles/model/objectNames01.js.model | 0
.../test/unit/data/testfiles/model/parameters01.js | 77 +
.../parameters01.js.testAssignments01.occurrences | 4 +
.../parameters01.js.testAssignments02.occurrences | 4 +
...eters01.js.testFunctionParameters01.occurrences | 3 +
...eters01.js.testFunctionParameters02.occurrences | 3 +
...eters01.js.testFunctionParameters03.occurrences | 2 +
.../model/parameters01.js.testMethod01.occurrences | 2 +
.../test/unit/data/testfiles/model/person.js | 111 +
.../test/unit/data/testfiles/model/person.js.model | 153 +
.../data/testfiles/model/person.js.model.revert | 153 +
.../unit/data/testfiles/model/person.js.semantic | 111 +
.../unit/data/testfiles/model/person.js.structure | 25 +
.../model/person.js.testIssue217086_02.occurrences | 5 +
.../model/person.js.testIssue241171_03.occurrences | 3 +
.../model/person.js.testIssue249454.completion | 16 +
.../model/person.js.testPrototype01.completion | 6 +
.../model/person.js.testPrototype02.completion | 21 +
.../model/person.js.testPrototype03.completion | 5 +
.../model/person.js.testPrototype04.completion | 6 +
.../model/person.js.testPrototype05.completion | 21 +
.../model/person.js.testPrototype06.completion | 5 +
.../unit/data/testfiles/model/privateMethod.js | 0
.../test/unit/data/testfiles/model/property01.js | 0
.../unit/data/testfiles/model/property01.js.model | 0
.../test/unit/data/testfiles/model/property02.js | 0
.../test/unit/data/testfiles/model/property03.js | 0
.../unit/data/testfiles/model/property03.js.model | 18 +
.../unit/data/testfiles/model/propertyWithNew.js | 0
.../data/testfiles/model/propertyWithNew.js.model | 0
.../test/unit/data/testfiles/model/recursion.js | 0
.../unit/data/testfiles/model/recursion.js.model | 0
.../unit/data/testfiles/model/returnTypes01.js | 0
.../data/testfiles/model/returnTypes01.js.model | 0
.../unit/data/testfiles/model/returnTypes02.js | 104 +
.../data/testfiles/model/returnTypes02.js.model | 0
.../returnTypes02.js.testAssignments03.occurrences | 5 +
...Types02.js.testFunctionParameters04.occurrences | 3 +
.../test/unit/data/testfiles/model/simpleCall.js | 0
.../unit/data/testfiles/model/simpleCall.js.model | 0
.../unit/data/testfiles/model/simpleFunction.js | 0
.../data/testfiles/model/simpleFunction.js.model | 0
.../test/unit/data/testfiles/model/simpleObject.js | 62 +
.../data/testfiles/model/simpleObject.js.model | 0
.../simpleObject.js.testSimpleObject01.completion | 8 +
.../simpleObject.js.testSimpleObject01.occurrences | 4 +
.../simpleObject.js.testSimpleObject02.completion | 5 +
.../simpleObject.js.testSimpleObject02.occurrences | 3 +
.../simpleObject.js.testSimpleObject03.completion | 8 +
.../simpleObject.js.testSimpleObject03.occurrences | 3 +
.../simpleObject.js.testSimpleObject04.completion | 5 +
.../simpleObject.js.testSimpleObject04.occurrences | 2 +
.../data/testfiles/model/simpleObjectContinue.js | 52 +
...ObjectContinue.js.testSimpleObject01.completion | 9 +
.../unit/data/testfiles/model/staticMethods01.js | 0
.../data/testfiles/model/staticMethods01.js.model | 0
.../test/unit/data/testfiles/model/ternary.js | 0
.../unit/data/testfiles/model/ternary.js.model | 0
.../unit/data/testfiles/model/testIssue217679.js | 0
.../data/testfiles/model/testIssue217679.js.model | 0
.../test/unit/data/testfiles/model/variables01.js | 33 +
.../unit/data/testfiles/model/variables01.js.model | 0
.../unit/data/testfiles/structure/issue230709.js | 8 +
.../data/testfiles/structure/issue230709.js.model | 0
.../data/testfiles/structure/issue243140_01.js | 22 +
.../testfiles/structure/issue243140_01.js.model | 0
.../unit/data/testfiles/structure/issue250392.js | 14 +
.../data/testfiles/structure/issue250392.js.model | 40 +
.../testfiles/structure/semitypes/semiTypes.js | 34 +
.../structure/semitypes/semiTypes.js.model | 73 +
.../org.netbeans.spi.lexer.LanguageProvider | 0
.../modules/javascript2/model/ModelTest.java | 302 +
.../modules/javascript2/model/ModelTestBase.java | 140 +
javascript2.nodejs/build.xml | 39 +
javascript2.nodejs/manifest.mf | 2 +-
javascript2.nodejs/nbproject/project.properties | 37 +
javascript2.nodejs/nbproject/project.xml | 94 +-
.../nodejs/editor/NodeJsCodeCompletion.java | 12 +-
.../nodejs/editor/NodeJsCompletionItem.java | 2 +-
.../javascript2/nodejs/editor/NodeJsContext.java | 4 +-
.../nodejs/editor/NodeJsDataProvider.java | 6 +-
.../nodejs/editor/NodeJsDeclarationFinder.java | 4 +-
.../javascript2/nodejs/editor/NodeJsUtils.java | 28 +-
.../editor/model/NodeJsModelInterceptor.java | 6 +-
.../editor/model/NodeJsObjectInterceptor.java | 15 +-
.../model/NodeJsRequireFunctionInterceptor.java | 18 +-
.../model/NodeJsTypeDisplayNameConvertor.java | 10 +-
.../modules/javascript2/nodejs/resources/layer.xml | 41 +-
.../public_html/js/cc01/issue249500.js | 2 +-
.../issue249500.js.testIssue249500_01.completion | 2 +
.../issue249500.js.testIssue249500_02.completion | 3 +-
.../issue249626.js.testIssue249626_01.completion | 3 +-
.../issue251777.js.testIssue251777_01.completion | 1 +
.../issue251777.js.testIssue251777_02.completion | 1 -
.../js/foo2.js.testBasicExport01.completion | 2 +-
.../folder/{literal.js => literal247565.js} | 0
.../folder/{literalRef.js => literalRef247565.js} | 0
.../public_html/js/issue247565/issue247565.js | 24 +-
...issue250338_01.js.testIssue250338_01.completion | 3 +-
...issue250338_02.js.testIssue250338_02.completion | 3 +-
...issue250338_03.js.testIssue250338_03.completion | 3 +-
.../inFunction03.js.testIssue250346_03.completion | 2 -
.../unit/data/testfiles/model/issue252218.js.model | 86 +-
.../issue252218.js.testIssue252218_01.completion | 2 +-
.../structure/issue247449_01.js.structure | 4 +-
.../nodejs/editor/NodeJSCodeCompletionTest.java | 2 +-
.../nodejs/editor/NodeJsContextTest.java | 4 +-
.../nodejs/editor/NodeJsDeclarationFinderTest.java | 30 +-
.../javascript2/nodejs/editor/NodeJsModelTest.java | 2 +-
javascript2.prototypejs/build.xml | 39 +
javascript2.prototypejs/manifest.mf | 2 +-
.../nbproject/project.properties | 37 +
javascript2.prototypejs/nbproject/project.xml | 67 +-
.../javascript2/prototypejs/Bundle.properties | 37 +
.../prototypejs/model/CreateInterceptor.java | 22 +-
javascript2.react/build.xml | 44 +
javascript2.react/manifest.mf | 6 +
javascript2.react/nbproject/project.properties | 40 +
javascript2.react/nbproject/project.xml | 209 +
.../modules/javascript2/react/Bundle.properties | 43 +
.../react/ReactEmbeddingProviderPlugin.java | 76 +
.../javascript2/react/ReactHtmlExtension.java | 84 +
.../javascript2/react/resources/Bundle.properties | 39 +
.../javascript2/react/resources/jsxtemplate.jsx | 15 +
.../modules/javascript2/react/resources/layer.xml | 67 +
.../javascript2/react/resources/reactjs.html | 49 +
.../javascript2/react/ReactHtmlExtensionTest.java | 56 +
javascript2.requirejs/build.xml | 39 +
javascript2.requirejs/manifest.mf | 2 +-
javascript2.requirejs/nbproject/project.properties | 37 +
javascript2.requirejs/nbproject/project.xml | 123 +-
.../javascript2/requirejs/Bundle.properties | 37 +
.../javascript2/requirejs/editor/EditorUtils.java | 4 +-
.../requirejs/editor/FSCompletionUtils.java | 11 +-
.../requirejs/editor/RequireJSCodeCompletion.java | 6 +-
.../editor/RequireJsDeclarationFinder.java | 4 +-
.../requirejs/editor/index/IndexElement.java | 2 +-
.../requirejs/editor/index/RequireJsIndex.java | 4 +-
.../requirejs/editor/index/RequireJsIndexer.java | 6 +-
.../requirejs/editor/model/ConfigInterceptor.java | 25 +-
.../requirejs/editor/model/DefineInterceptor.java | 22 +-
.../editor/model/RequireJsModelInterceptor.java | 6 +-
.../html/RequireJsFileReferenceCompletion.java | 6 +-
.../html/RequireJsHtmlCompletionItem.java | 2 +-
.../requirejs/html/RequireJsHtmlExtension.java | 2 -
.../modules/javascript2/requirejs/layer.xml | 41 +-
...s.testObjectCCIssue245156Property_02.completion | 3 +-
.../requirejs/TestCreateModelRequireJs.java | 6 +-
.../editor/RequireJsDeclarationFinderCodeTest.java | 7 -
javascript2.sdoc/build.xml | 44 +
javascript2.sdoc/manifest.mf | 7 +
javascript2.sdoc/nbproject/project.properties | 39 +
javascript2.sdoc/nbproject/project.xml | 217 +
.../modules/javascript2/sdoc/Bundle.properties | 38 +
.../sdoc/SDocAnnotationCompletionTagProvider.java | 100 +
.../modules/javascript2/sdoc/SDocComment.java | 283 +
.../javascript2/sdoc/SDocDocumentationHolder.java | 67 +
.../sdoc/SDocDocumentationProvider.java | 96 +
.../modules/javascript2/sdoc/SDocParser.java | 158 +
.../javascript2/sdoc/SDocSyntaxProvider.java | 72 +
.../sdoc/completion/DescriptionTag.java | 66 +
.../javascript2/sdoc/completion/IdentifierTag.java | 66 +
.../sdoc/completion/TypeDescribedTag.java | 69 +
.../javascript2/sdoc/completion/TypeNamedTag.java | 70 +
.../javascript2/sdoc/completion/TypeSimpleTag.java | 66 +
.../javascript2/sdoc/elements/SDocBaseElement.java | 69 +
.../sdoc/elements/SDocDescriptionElement.java | 78 +
.../javascript2/sdoc/elements/SDocElement.java | 56 +
.../javascript2/sdoc/elements/SDocElementType.java | 128 +
.../sdoc/elements/SDocElementUtils.java | 207 +
.../sdoc/elements/SDocIdentifierElement.java | 78 +
.../sdoc/elements/SDocSimpleElement.java | 65 +
.../sdoc/elements/SDocTypeDescribedElement.java | 106 +
.../sdoc/elements/SDocTypeNamedElement.java | 113 +
.../sdoc/elements/SDocTypeSimpleElement.java | 105 +
.../netbeans/modules/javascript2/sdoc/layer.xml | 52 +
.../unit/data/testfiles/sdoc/allTypesAsterisks.js | 0
.../data/testfiles/sdoc/allTypesNoAsterisks.js | 0
.../test/unit/data/testfiles/sdoc/blockComment.js | 0
.../test/unit/data/testfiles/sdoc/classWithSDoc.js | 0
.../classWithSDoc.js.testAllCompletion.completion | 27 +
...assWithSDoc.js.testMethodCompletion1.completion | 0
...assWithSDoc.js.testMethodCompletion2.completion | 0
.../classWithSDoc.js.testNoCompletion.completion | 0
...lassWithSDoc.js.testParamCompletion2.completion | 0
...lassWithSDoc.js.testParamCompletion3.completion | 0
...lassWithSDoc.js.testParamCompletion4.completion | 0
...lassWithSDoc.js.testParamCompletion5.completion | 0
...lassWithSDoc.js.testParamCompletion6.completion | 0
.../completionDocumentation01.js | 0
...testCompletionDocumentation01completionDoc.html | 0
...testCompletionDocumentation02completionDoc.html | 0
...testCompletionDocumentation03completionDoc.html | 0
...testCompletionDocumentation04completionDoc.html | 0
...testCompletionDocumentation05completionDoc.html | 0
...testCompletionDocumentation06completionDoc.html | 0
...testCompletionDocumentation07completionDoc.html | 0
...testCompletionDocumentation09completionDoc.html | 0
...testCompletionDocumentation10completionDoc.html | 0
...testCompletionDocumentation11completionDoc.html | 0
...testCompletionDocumentation12completionDoc.html | 0
...testCompletionDocumentation13completionDoc.html | 0
.../test/unit/data/testfiles/sdoc/modelTestFile.js | 0
.../unit/data/testfiles/sdoc/parameterTypes.js | 0
.../javascript2/sdoc/SDocCodeCompletionTest.java | 92 +
.../sdoc/SDocCompletionDocumentationTest.java | 144 +
.../sdoc/SDocDocumentationProviderTest.java | 327 +
.../modules/javascript2/sdoc/SDocModelTest.java | 405 +
.../modules/javascript2/sdoc/SDocParserTest.java | 118 +
javascript2.source.query/build.xml | 44 +
javascript2.source.query/manifest.mf | 6 +
.../nbproject/project.properties | 50 +
javascript2.source.query/nbproject/project.xml | 139 +
.../javascript2/source/query/Bundle.properties | 45 +
.../source/query/SourceElementsQueryImpl.java | 117 +
javascript2.types/build.xml | 44 +
javascript2.types/manifest.mf | 6 +
javascript2.types/nbproject/project.properties | 40 +
javascript2.types/nbproject/project.xml | 95 +
.../modules/javascript2/types/Bundle.properties | 38 +
.../javascript2/types/api/DeclarationScope.java | 57 +
.../modules/javascript2/types/api/Identifier.java | 101 +
.../modules/javascript2/types/api/Type.java | 72 +
.../modules/javascript2/types/api/TypeUsage.java | 119 +
.../javascript2/types/spi/ParserResult.java | 57 +
javawebstart/AntTasks/build.xml | 45 +-
javawebstart/AntTasks/nbproject/build-impl.xml | 34 +-
.../AntTasks/nbproject/genfiles.properties | 6 +-
javawebstart/AntTasks/nbproject/project.properties | 50 +-
javawebstart/AntTasks/nbproject/project.xml | 39 +
.../org/netbeans/modules/javawebstart/antlib.xml | 39 +
.../modules/javawebstart/anttasks/antlib.xml | 39 +
javawebstart/manifest.mf | 2 +-
.../netbeans/modules/javawebstart/JWSAntTasks.xml | 43 +-
.../modules/javawebstart/JnlpTemplate.jnlp | 39 +
.../javawebstart/resources/JNLPTemplate.html | 11 +-
.../modules/javawebstart/resources/jnlp-impl.xml_ | 4 +-
.../modules/javawebstart/resources/launch.html | 39 +
jellytools.cnd/build.xml | 39 +
jellytools.cnd/manifest.mf | 2 +-
jellytools.cnd/nbproject/project.properties | 37 +
jellytools.cnd/nbproject/project.xml | 39 +
.../modules/jellytools/cnd/Bundle.properties | 37 +
.../jellytools/CNDBundleKeysTest.properties | 37 +
jellytools.enterprise/build.xml | 39 +
jellytools.enterprise/manifest.mf | 2 +-
jellytools.enterprise/nbproject/project.properties | 37 +
jellytools.enterprise/nbproject/project.xml | 39 +
.../jellytools/enterprise/Bundle.properties | 37 +
.../jellytools/EnterpriseBundleKeysTest.properties | 37 +
jellytools.ide/build.xml | 39 +
.../org-netbeans-modules-jellytools-ide.sig | 91 +-
jellytools.ide/nbproject/project.properties | 39 +-
jellytools.ide/nbproject/project.xml | 39 +
.../modules/jellytools/ide/Bundle.properties | 37 +
.../jellytools/IDEBundleKeysTest.properties | 37 +
jellytools.java/build.xml | 39 +
jellytools.java/manifest.mf | 2 +-
jellytools.java/nbproject/project.properties | 37 +
jellytools.java/nbproject/project.xml | 39 +
.../jellytools/modules/form/actions/package.html | 16 +-
.../netbeans/jellytools/modules/form/package.html | 16 +-
.../modules/form/properties/editors/package.html | 18 +-
.../modules/java/editor/GenerateCodeOperator.java | 14 +-
.../modules/jellytools/java/Bundle.properties | 37 +
.../jellytools/JavaBundleKeysTest.properties | 37 +
jellytools.platform/build.xml | 39 +
jellytools.platform/manifest.mf | 2 +-
.../org-netbeans-modules-jellytools-platform.sig | 78 +-
jellytools.platform/nbproject/project.properties | 37 +
jellytools.platform/nbproject/project.xml | 39 +
.../jellytools/properties/editors/package.html | 16 +-
.../netbeans/jellytools/properties/package.html | 18 +-
.../src/org/netbeans/jellytools/util/package.html | 16 +-
.../modules/jellytools/platform/Bundle.properties | 37 +
.../jellytools/PlatformBundleKeysTest.properties | 37 +
.../jemmy => jemmy}/external/binaries-list | 0
jemmy/manifest.mf | 2 +-
jemmy/nbproject/project.properties | 4 +-
jsp.lexer/manifest.mf | 2 +-
jsp.lexer/src/org/netbeans/lib/jsp/lexer/layer.xml | 39 +
jumpto/LICENSE | 46 -
jumpto/apichanges.xml | 13 +
jumpto/build.xml | 1 -
jumpto/nbproject/project.properties | 7 +-
jumpto/nbproject/project.xml | 3 +-
.../modules/jumpto/common/AbstractModelFilter.java | 9 +-
.../netbeans/modules/jumpto/common/Factory.java | 1 +
.../jumpto/common/HighlightingNameFormatter.java | 45 +-
.../modules/jumpto/common/ItemRenderer.java | 247 +-
.../netbeans/modules/jumpto/file/Bundle.properties | 2 -
.../modules/jumpto/file/FileDescription.java | 14 +-
.../modules/jumpto/file/FileSearchAction.java | 175 +-
.../modules/jumpto/file/FileSearchOptions.java | 2 -
.../modules/jumpto/file/FileSearchPanel.java | 18 +-
.../org/netbeans/modules/jumpto/file/Worker.java | 5 +-
.../modules/jumpto/resources/Bundle.properties | 3 -
.../netbeans/modules/jumpto/resources/layer.xml | 4 +-
.../modules/jumpto/settings/Bundle.properties | 37 +
.../modules/jumpto/settings/JumpToPanel.form | 43 +-
.../modules/jumpto/settings/JumpToPanel.java | 30 +-
.../modules/jumpto/symbol/Bundle.properties | 1 +
.../modules/jumpto/symbol/ContentProviderImpl.java | 160 +-
.../netbeans/modules/jumpto/symbol/GoToPanel.java | 4 +-
.../modules/jumpto/symbol/GoToPanelImpl.java | 31 +-
.../netbeans/modules/jumpto/type/GoToPanel.java | 33 +-
.../modules/jumpto/type/GoToTypeAction.java | 103 +-
.../org/netbeans/spi/jumpto/file/FileProvider.java | 3 +-
.../netbeans/spi/jumpto/support/NameMatcher.java | 4 +
.../jumpto/symbol/ContentProviderImplTest.java | 6 +-
junit.ant.ui/build.xml | 39 +
junit.ant.ui/manifest.mf | 2 +-
junit.ant.ui/nbproject/project.properties | 37 +
junit.ant.ui/nbproject/project.xml | 39 +
.../modules/junit/ant/ui/Bundle.properties | 37 +
junit.ant/build.xml | 39 +
junit.ant/manifest.mf | 2 +-
junit.ant/nbproject/project.properties | 37 +
junit.ant/nbproject/project.xml | 39 +
.../netbeans/modules/junit/ant/Bundle.properties | 37 +
junit.ui/build.xml | 39 +
junit.ui/manifest.mf | 2 +-
junit.ui/nbproject/project.properties | 37 +
junit.ui/nbproject/project.xml | 39 +
.../netbeans/modules/junit/ui/Bundle.properties | 37 +
.../modules/junit/ui/actions/Bundle.properties | 9 +-
.../junit/ui/actions/TestClassInfoTask.java | 9 +-
.../modules/junit/ui/resources/EmptyJUnitTest.html | 16 +-
.../modules/junit/ui/resources/JUnitFolder.html | 16 +-
.../junit/ui/resources/SimpleJUnitTest.html | 16 +-
.../modules/junit/ui/resources/TestSuite.html | 16 +-
junit/arch.xml | 49 +-
junit/arch/arch-junit.xml | 49 +-
junit/manifest.mf | 2 +-
.../org/netbeans/modules/junit/resources/layer.xml | 6 +-
.../data/JunitTestProject/nbproject/build-impl.xml | 2 +-
junitlib/build.xml | 39 +
.../junitlib => junitlib}/external/binaries-list | 0
junitlib/manifest.mf | 2 +-
junitlib/nbproject/project.properties | 41 +-
junitlib/nbproject/project.xml | 39 +
.../netbeans/modules/junitlib/Bundle.properties | 37 +
.../src/org/netbeans/modules/junitlib/hamcrest.xml | 41 +-
.../src/org/netbeans/modules/junitlib/junit_4.xml | 41 +-
.../src/org/netbeans/modules/junitlib/layer.xml | 39 +
keyring.fallback/build.xml | 39 +
keyring.fallback/manifest.mf | 2 +-
keyring.fallback/nbproject/project.properties | 37 +
keyring.fallback/nbproject/project.xml | 39 +
.../modules/keyring/fallback/Bundle.properties | 37 +
keyring.impl/build.xml | 39 +
keyring.impl/manifest.mf | 2 +-
keyring.impl/nbproject/project.properties | 37 +
keyring.impl/nbproject/project.xml | 39 +
.../modules/keyring/impl/Bundle.properties | 37 +
.../modules/keyring/kde/CommonKWalletProvider.java | 250 +
.../modules/keyring/kde/KWalletProvider.java | 216 +-
keyring/arch.xml | 45 +-
keyring/build.xml | 39 +
keyring/manifest.mf | 2 +-
keyring/nbproject/org-netbeans-modules-keyring.sig | 2 +-
keyring/nbproject/project.properties | 37 +
keyring/nbproject/project.xml | 39 +
.../org/netbeans/modules/keyring/Bundle.properties | 37 +
keyring/src/org/netbeans/modules/keyring/layer.xml | 39 +
ko4j.debugging/build.xml | 39 +
ko4j.debugging/manifest.mf | 2 +-
ko4j.debugging/nbproject/project.properties | 37 +
ko4j.debugging/nbproject/project.xml | 39 +
.../modules/ko4j/debugging/Bundle.properties | 37 +
languages.apacheconf/build.xml | 43 +-
languages.apacheconf/manifest.mf | 2 +-
languages.apacheconf/nbproject/project.properties | 37 +
languages.apacheconf/nbproject/project.xml | 66 +-
.../apacheconf/lexer/ApacheConfColoringLexer.java | 206 +-
.../languages/apacheconf/lexer/StateStack.java | 167 -
.../resources/ApacheConfFileDescription.html | 11 +-
.../apacheconf/resources/ApacheConfResolver.xml | 44 +-
.../apacheconf/resources/Bundle.properties | 37 +
.../languages/apacheconf/resources/layer.xml | 39 +
.../tools/ApacheConfColoringLexer.flex | 17 +-
languages.apacheconf/tools/skeleton.netbeans | 41 -
languages.diff/build.xml | 39 +
languages.diff/manifest.mf | 2 +-
languages.diff/nbproject/project.properties | 37 +
languages.diff/nbproject/project.xml | 39 +
.../org/netbeans/modules/languages/diff/layer.xml | 45 +-
languages.ini/build.xml | 44 +-
languages.ini/manifest.mf | 2 +-
languages.ini/nbproject/project.properties | 37 +
languages.ini/nbproject/project.xml | 66 +-
.../languages/ini/lexer/IniColoringLexer.java | 62 +-
.../modules/languages/ini/lexer/StateStack.java | 162 -
.../ini/resources/EmptyINIFileDescription.html | 11 +-
.../modules/languages/ini/resources/layer.xml | 45 +-
languages.ini/tools/IniColoringLexer.flex | 17 +-
languages.ini/tools/skeleton.netbeans | 41 -
languages.manifest/build.xml | 39 +
languages.manifest/manifest.mf | 2 +-
languages.manifest/nbproject/project.properties | 37 +
languages.manifest/nbproject/project.xml | 39 +
.../netbeans/modules/languages/manifest/layer.xml | 45 +-
languages.neon/build.xml | 43 +-
languages.neon/manifest.mf | 2 +-
languages.neon/nbproject/project.properties | 37 +
languages.neon/nbproject/project.xml | 66 +-
.../languages/neon/lexer/NeonColoringLexer.java | 484 +-
.../modules/languages/neon/lexer/StateStack.java | 169 -
.../languages/neon/resources/Bundle.properties | 37 +
.../neon/resources/NeonFileDescription.html | 11 +-
.../modules/languages/neon/resources/layer.xml | 39 +
.../neon/lexer/NeonLexerTest/issue246906.pass | 102 +
.../unit/data/testfiles/lexer/issue246906.neon | 21 +
.../languages/neon/lexer/NeonLexerTest.java | 4 +
languages.neon/tools/NeonColoringLexer.flex | 22 +-
languages.neon/tools/skeleton.netbeans | 41 -
languages.yaml/build.xml | 39 +
languages.yaml/manifest.mf | 2 +-
languages.yaml/nbproject/project.properties | 37 +
languages.yaml/nbproject/project.xml | 48 +
.../languages/yaml/BlueTheme-fontsColors.xml | 39 +
.../languages/yaml/EmptyYAMLFileDescription.html | 20 +-
.../modules/languages/yaml/YamlScanner.java | 4 +-
.../netbeans/modules/languages/yaml/refcard.html | 39 +
languages/arch.xml | 47 +-
languages/build.xml | 39 +
languages/nbproject/project.properties | 39 +-
languages/nbproject/project.xml | 39 +
languages/src/META-INF/netbeans/translate.names | 37 +
.../modules/languages/parser/LLSyntaxAnalyser.java | 12 +-
.../netbeans/modules/languages/parser/Grammar1.nbs | 45 +-
lexer.nbbridge/build.xml | 39 +
lexer.nbbridge/nbproject/project.properties | 39 +-
lexer.nbbridge/nbproject/project.xml | 39 +
.../modules/lexer/nbbridge/Bundle.properties | 37 +
.../lexer/nbbridge/MimeLookupFolderInfo.java | 4 +-
lexer/apichanges.xml | 2 +-
lexer/arch.xml | 85 +-
.../org/netbeans/modules/lexer/demo/antlr/Calc.g | 42 +-
.../modules/lexer/demo/antlr/CalcLanguage.xml | 39 +
.../lexer/demo/handcoded/link/LinkLanguage.xml | 39 +
.../lexer/demo/handcoded/plain/PlainLanguage.xml | 39 +
.../org/netbeans/modules/lexer/demo/javacc/Calc.jj | 40 +-
.../modules/lexer/demo/javacc/CalcLanguage.xml | 39 +
lexer/nbproject/org-netbeans-modules-lexer.sig | 2 +-
lexer/nbproject/project.properties | 2 +-
lexer/src/org/netbeans/api/lexer/package.html | 16 +-
lexer/src/org/netbeans/spi/lexer/package.html | 16 +-
lib.nbjavac/build.xml | 39 +
lib.nbjavac/nbproject/project.properties | 39 +-
lib.nbjavac/nbproject/project.xml | 39 +
.../src/org/netbeans/lib/nbjavac/Bundle.properties | 37 +
.../lib/nbjavac/services/NBClassReader.java | 11 +-
.../lib/nbjavac/services/NBClassWriter.java | 9 +-
.../lib/nbjavac/services/NBParserFactory.java | 4 +-
.../lib/nbjavac/services/PartialReparser.java | 6 +-
.../nbjavac/services/AnonymousNumberingTest.java | 9 -
.../lib/nbjavac/services/CouplingTest.java | 8 +-
.../lib/nbjavac/services/NBClassWriterTest.java | 19 +-
.../netbeans/lib/nbjavac/services/Utilities.java | 6 +-
lib.profiler.charts/manifest.mf | 2 +-
lib.profiler.common/manifest.mf | 2 +-
lib.profiler.common/nbproject/project.xml | 6 +-
.../lib/profiler/common/AttachSettings.java | 93 +-
.../org/netbeans/lib/profiler/common/Profiler.java | 1 +
.../lib/profiler/common/ProfilingSettings.java | 182 +-
.../profiler/common/ProfilingSettingsPresets.java | 3 +
.../lib/profiler/common/filters/Bundle.properties | 48 -
.../lib/profiler/common/filters/FilterSet.java | 331 -
.../lib/profiler/common/filters/FilterUtils.java | 177 -
.../lib/profiler/common/filters/SimpleFilter.java | 190 -
lib.profiler.ui/manifest.mf | 2 +-
lib.profiler.ui/nbproject/project.xml | 14 +-
.../org/netbeans/lib/profiler/ui/UIConstants.java | 3 +-
.../src/org/netbeans/lib/profiler/ui/UIUtils.java | 62 +-
.../lib/profiler/ui/components/HTMLLabel.java | 84 +-
.../profiler/ui/components/JExtendedSpinner.java | 19 +
.../lib/profiler/ui/components/LazyComboBox.java | 16 +-
.../netbeans/lib/profiler/ui/cpu/Bundle.properties | 2 +
.../lib/profiler/ui/cpu/CPUJavaNameRenderer.java | 9 +-
.../netbeans/lib/profiler/ui/cpu/CPUTableView.java | 168 +-
.../lib/profiler/ui/cpu/CPUTreeTableView.java | 75 +-
.../netbeans/lib/profiler/ui/cpu/LiveCPUView.java | 106 +-
.../lib/profiler/ui/cpu/SnapshotCPUView.java | 39 +-
.../lib/profiler/ui/cpu/ThreadsSelector.java | 25 +-
.../lib/profiler/ui/graphs/ColorFactory.java | 10 +-
.../netbeans/lib/profiler/ui/graphs/GraphsUI.java | 3 +-
.../lib/profiler/ui/graphs/XYBackground.java | 7 +-
.../lib/profiler/ui/jdbc/Bundle.properties | 93 +
.../lib/profiler/ui/jdbc/JDBCJavaNameRenderer.java | 162 +
.../lib/profiler/ui/jdbc/JDBCTreeTableView.java | 479 +
.../netbeans/lib/profiler/ui/jdbc/JDBCView.java | 104 +
.../lib/profiler/ui/jdbc/LiveJDBCView.java | 404 +
.../lib/profiler/ui/jdbc/SQLFilterPanel.java | 349 +
.../lib/profiler/ui/jdbc/SQLFormatter.java | 188 +
.../lib/profiler/ui/jdbc/SnapshotJDBCView.java | 367 +
.../lib/profiler/ui/jdbc/TablesSelector.java | 268 +
.../lib/profiler/ui/locks/LockContentionPanel.java | 7 +
.../profiler/ui/locks/LockContentionRenderer.java | 67 +-
.../lib/profiler/ui/memory/AllocTableView.java | 57 +-
.../lib/profiler/ui/memory/AllocTreeTableView.java | 53 +-
.../lib/profiler/ui/memory/LiveMemoryView.java | 24 +-
.../lib/profiler/ui/memory/LivenessTableView.java | 75 +-
.../profiler/ui/memory/LivenessTreeTableView.java | 55 +-
.../lib/profiler/ui/memory/MemoryView.java | 13 +-
.../lib/profiler/ui/memory/SampledTableView.java | 4 +-
.../lib/profiler/ui/memory/SnapshotMemoryView.java | 10 +-
.../lib/profiler/ui/results/Bundle.properties | 47 +
.../lib/profiler/ui/results/ColoredFilter.java | 186 +
.../netbeans/lib/profiler/ui/results/DataView.java | 5 +
.../lib/profiler/ui/results/PackageColorer.java | 204 +
.../lib/profiler/ui/swing/Bundle.properties | 3 +-
.../lib/profiler/ui/swing/FilterUtils.java | 206 +-
.../lib/profiler/ui/swing/GenericToolbar.java | 7 +
.../lib/profiler/ui/swing/InvisibleToolbar.java | 56 +-
.../lib/profiler/ui/swing/PopupButton.java | 18 +-
.../profiler/ui/swing/ProfilerPopupFactory.java | 376 +
.../lib/profiler/ui/swing/ProfilerTable.java | 95 +-
.../profiler/ui/swing/ProfilerTableContainer.java | 16 +-
.../lib/profiler/ui/swing/ProfilerTableHovers.java | 509 +
.../lib/profiler/ui/swing/ProfilerTreeTable.java | 86 +-
.../netbeans/lib/profiler/ui/swing/TextArea.java | 10 +-
.../profiler/ui/swing/renderer/BarRenderer.java | 19 +-
.../profiler/ui/swing/renderer/BaseRenderer.java | 26 +-
.../ui/swing/renderer/JavaNameRenderer.java | 8 +
.../profiler/ui/swing/renderer/LabelRenderer.java | 3 +-
.../ui/swing/renderer/NormalBoldGrayRenderer.java | 38 +-
.../ui/swing/renderer/ProfilerRenderer.java | 3 +-
.../lib/profiler/ui/threads/NameStateRenderer.java | 11 +-
.../lib/profiler/ui/threads/TimelineRenderer.java | 37 +-
.../lib/profiler/ui/threads/ViewManager.java | 9 +-
lib.profiler/manifest.mf | 2 +-
lib.profiler/native/build/buildnative-solaris.sh | 2 +-
lib.profiler/native/build/buildnative-solaris64.sh | 4 +-
lib.profiler/native/src-jdk15/class_file_cache.c | 12 +
lib.profiler/nbproject/project.properties | 2 +-
lib.profiler/nbproject/project.xml | 2 +
.../jdk15/windows-amd64/profilerinterface.map | 66 +-
.../deployed/jdk15/windows/profilerinterface.map | 36 +-
.../jdk16/windows-amd64/profilerinterface.map | 100 +-
.../deployed/jdk16/windows/profilerinterface.map | 78 +-
.../release/remote-pack-defs/calibrate-mac-15.sh | 6 +-
.../release/remote-pack-defs/profile-mac-16.sh | 6 +-
.../lib/profiler/server/system/ThreadDump.java | 2 +-
...profiler.results.cpu.CPUProfilingResultListener | 1 +
.../org/netbeans/lib/profiler/ProfilerClient.java | 55 +-
.../lib/profiler/ProfilerEngineSettings.java | 13 +-
.../org/netbeans/lib/profiler/TargetAppRunner.java | 3 +-
.../lib/profiler/classfile/ClassFileCache.java | 2 +-
.../lib/profiler/classfile/ClassFileParser.java | 8 +-
.../netbeans/lib/profiler/classfile/ClassPath.java | 3 +-
.../lib/profiler/classfile/ClassRepository.java | 4 +-
.../lib/profiler/filters/GenericFilter.java | 360 +
.../profiler/filters/InstrumentationFilter.java | 69 +
.../lib/profiler/filters/JavaTypeFilter.java | 165 +
.../netbeans/lib/profiler/filters/TextFilter.java | 196 +
.../lib/profiler/global/CommonConstants.java | 4 +-
.../lib/profiler/global/InstrumentationFilter.java | 309 -
.../org/netbeans/lib/profiler/global/Platform.java | 6 +-
.../netbeans/lib/profiler/heap/HprofGCRoot.java | 16 +-
.../netbeans/lib/profiler/heap/HprofGCRoots.java | 161 +
.../org/netbeans/lib/profiler/heap/HprofHeap.java | 162 +-
.../org/netbeans/lib/profiler/heap/HprofProxy.java | 95 +-
.../lib/profiler/heap/JavaFrameHprofGCRoot.java | 23 +-
.../netbeans/lib/profiler/heap/NearestGCRoot.java | 25 +-
.../org/netbeans/lib/profiler/heap/NumberList.java | 9 +-
.../lib/profiler/heap/PrimitiveArrayDump.java | 14 +
.../org/netbeans/lib/profiler/heap/StackFrame.java | 3 +-
.../lib/profiler/heap/StackFrameSegment.java | 72 +-
.../lib/profiler/heap/StackTraceSegment.java | 36 +-
.../lib/profiler/heap/ThreadObjectHprofGCRoot.java | 14 +-
.../org/netbeans/lib/profiler/heap/TreeObject.java | 24 +-
.../instrumentation/CPExtensionsRepository.java | 390 +-
.../lib/profiler/instrumentation/ClassManager.java | 8 +-
.../instrumentation/InstrumentationFactory.java | 2 +-
.../lib/profiler/instrumentation/Instrumentor.java | 10 +-
.../instrumentation/JavaClassConstants.java | 438 +-
.../MemoryProfMethodInstrumentor.java | 10 +-
.../MethodEntryExitCallsInjector.java | 275 +-
.../ObjLivenessInstrCallsInjector.java | 10 +-
.../ObjLivenessMethodInstrumentor.java | 4 +-
.../RecursiveMethodInstrumentor.java | 69 +-
.../RecursiveMethodInstrumentor1.java | 79 +-
.../RecursiveMethodInstrumentor2.java | 30 +-
.../RecursiveMethodInstrumentor3.java | 4 +-
.../org/netbeans/lib/profiler/jps/JpsProxy.java | 2 +-
.../netbeans/lib/profiler/marker/ClassMarker.java | 3 +-
.../lib/profiler/marker/CompositeMarker.java | 4 +-
.../netbeans/lib/profiler/marker/MethodMarker.java | 2 +-
.../lib/profiler/marker/PackageMarker.java | 2 +-
.../lib/profiler/results/cpu/CPUCCTContainer.java | 6 +-
.../profiler/results/cpu/CPUCallGraphBuilder.java | 35 +-
.../results/cpu/CPUDataFrameProcessor.java | 128 +-
.../results/cpu/CPUProfilingResultListener.java | 8 +-
.../profiler/results/cpu/CPUResultsSnapshot.java | 10 +-
.../results/cpu/CPUSamplingDataFrameProcessor.java | 22 +-
.../lib/profiler/results/cpu/DiffCPUCCTNode.java | 2 +-
.../results/cpu/FlatProfileContainerFree.java | 1 -
.../lib/profiler/results/cpu/MethodIdMap.java | 5 +-
.../profiler/results/cpu/PrestimeCPUCCTNode.java | 5 +-
.../results/cpu/PrestimeCPUCCTNodeBacked.java | 2 +-
.../results/cpu/StackTraceSnapshotBuilder.java | 20 +-
.../lib/profiler/results/cpu/ThreadInfo.java | 26 +-
.../lib/profiler/results/cpu/ThreadInfos.java | 16 +-
.../lib/profiler/results/cpu/cct/CCTFlattener.java | 67 +-
.../lib/profiler/results/jdbc/JdbcCCTProvider.java | 85 +
.../profiler/results/jdbc/JdbcGraphBuilder.java | 953 +
.../lib/profiler/results/jdbc/JdbcResultsDiff.java | 234 +
.../profiler/results/jdbc/JdbcResultsSnapshot.java | 474 +
.../lib/profiler/results/jdbc/SQLConnection.java | 89 +
.../lib/profiler/results/jdbc/SQLParser.java | 171 +
.../lib/profiler/results/jdbc/SQLStatement.java | 477 +
.../lib/profiler/results/jdbc/StringCache.java | 69 +
.../lib/profiler/results/locks/LockCCTNode.java | 2 +-
.../profiler/results/locks/LockGraphBuilder.java | 6 +-
.../results/memory/AllocMemoryResultsSnapshot.java | 2 +-
.../results/memory/DiffObjAllocCCTNode.java | 6 +-
.../results/memory/DiffObjLivenessCCTNode.java | 2 +-
.../results/memory/HeapHistogramManager.java | 12 +-
.../profiler/results/memory/JMethodIdTable.java | 4 +-
.../results/memory/MemoryResultsSnapshot.java | 2 +-
.../results/memory/PresoObjAllocCCTNode.java | 16 +-
.../results/memory/PresoObjLivenessCCTNode.java | 2 +-
.../results/memory/RuntimeMemoryCCTNode.java | 6 +-
.../results/memory/RuntimeObjAllocTermCCTNode.java | 2 +-
.../memory/SampledMemoryResultsSnapshot.java | 2 +-
.../results/monitor/VMTelemetryDataManager.java | 30 +-
.../lib/profiler/server/ClassBytesLoader.java | 3 +-
.../lib/profiler/server/ClassLoaderManager.java | 26 +-
.../lib/profiler/server/HeapHistogramManager.java | 27 +-
.../lib/profiler/server/ProfilerInterface.java | 46 +-
.../lib/profiler/server/ProfilerRuntime.java | 2 +-
.../lib/profiler/server/ProfilerRuntimeCPU.java | 340 +-
.../server/ProfilerRuntimeCPUFullInstr.java | 8 +
.../server/ProfilerRuntimeCPUSampledInstr.java | 10 +
.../lib/profiler/server/ProfilerRuntimeMemory.java | 44 +-
.../lib/profiler/server/ProfilerServer.java | 14 +-
.../netbeans/lib/profiler/server/ThreadInfo.java | 19 +
.../lib/profiler/utils/MethodNameFormatter.java | 334 -
.../org/netbeans/lib/profiler/utils/MiscUtils.java | 5 +
.../netbeans/lib/profiler/utils/StringUtils.java | 35 +-
.../org/netbeans/lib/profiler/utils/VMUtils.java | 11 +
.../utils/formatting/MethodNameFormatter.java | 1 -
.../formatting/PlainFormattableMethodName.java | 87 +-
.../wireprotocol/RootClassLoadedCommand.java | 12 +-
.../tests/jfluid/perf/InstrumentationTest.java | 8 +-
.../tests/jfluid/CommonProfilerTestCase.java | 9 +-
.../tests/jfluid/benchmarks/JbbTestType.java | 2 +-
.../lib/profiler/tests/jfluid/cpu/BasicTest.java | 7 +-
.../tests/jfluid/monitor/MonitorTestCase.java | 2 +-
.../tests/jfluid/others/MeasureDiffsTestCase.java | 2 +-
.../tests/jfluid/perf/InstrumentationTest.java | 8 +-
.../profilingpoints/ProfilingPointsTestCase.java | 2 +-
.../org/netbeans/lib/profiler/heap/HeapTest.java | 24 -
.../netbeans/lib/profiler/heap/testHeapDumpLog.txt | 294 +-
.../profiler/utils/MethodNameFormatterTest.java | 150 -
.../formatting/PlainFormattableMethodNameTest.java | 150 +
lib.terminalemulator/ReleaseNotes.ivan.txt | 99 +
lib.terminalemulator/arch.xml | 49 +-
lib.terminalemulator/doc-files/func_spec.html | 76 +-
lib.terminalemulator/doc-files/interpreter.html | 78 +-
lib.terminalemulator/doc-files/properties.html | 76 +-
lib.terminalemulator/doc-files/sequences | 25 +-
lib.terminalemulator/examples/TermApp/build.xml | 39 +
.../examples/TermApp/nbproject/build-impl.xml | 152 +-
.../TermApp/nbproject/configs/64bit.properties | 37 +
.../examples/TermApp/nbproject/genfiles.properties | 4 +-
.../examples/TermApp/nbproject/project.properties | 40 +-
.../examples/TermApp/nbproject/project.xml | 39 +
.../examples/TermApp/src/nbterm/TermExecutor.java | 4 +
lib.terminalemulator/examples/TermDriver/build.xml | 48 +-
.../examples/TermDriver/nbproject/build-impl.xml | 148 +-
.../TermDriver/nbproject/genfiles.properties | 8 +-
.../TermDriver/nbproject/project.properties | 37 +
.../examples/TermDriver/nbproject/project.xml | 39 +
.../examples/TermDriver/src/termdriver/Main.java | 1 -
.../examples/TermExample/build.xml | 39 +
.../TermExample/nbproject/genfiles.properties | 4 +-
.../TermExample/nbproject/platform.properties | 38 +
.../TermExample/nbproject/project.properties | 39 +-
.../examples/TermExample/nbproject/project.xml | 47 +
.../TermExample/nbproject/suite.properties | 37 +
.../netbeans/terminal/example/Bundle.properties | 37 +
.../netbeans/terminal/example/TermExecutor.java | 4 +
.../example/TerminalIOProviderSupport.java | 4 +-
.../example/comprehensive/Bundle.properties | 37 +
.../terminal/example/control/Bundle.properties | 37 +
.../terminal/example/control/ControlView.java | 4 +-
.../terminal/example/dedicatedtc/Bundle.properties | 37 +
.../terminal/example/iofeatures/Bundle.properties | 37 +
.../src/org/netbeans/terminal/example/layer.xml | 39 +
.../example/topcomponent/Bundle.properties | 37 +
.../topcomponent/MuxableTerminalTopComponent.form | 5 +-
.../topcomponent/MuxableTerminalTopComponent.java | 2 +-
.../example/topcomponent/TerminalTopComponent.form | 1 +
.../example/topcomponent/TerminalTopComponent.java | 2 +-
lib.terminalemulator/examples/TermSuite/build.xml | 39 +
.../TermSuite/nbproject/genfiles.properties | 8 +-
.../TermSuite/nbproject/platform.properties | 37 +
.../examples/TermSuite/nbproject/platform.xml | 41 +-
.../TermSuite/nbproject/project.properties | 37 +
.../examples/TermSuite/nbproject/project.xml | 39 +
lib.terminalemulator/examples/TermTester/build.xml | 48 +-
.../examples/TermTester/nbproject/build-impl.xml | 148 +-
.../TermTester/nbproject/genfiles.properties | 8 +-
.../TermTester/nbproject/project.properties | 185 +-
.../examples/TermTester/nbproject/project.xml | 39 +
.../examples/TermTester/src/interp/BaseCmdSet.java | 1 -
.../examples/TermTester/src/interp/Cmd.java | 1 -
.../examples/TermTester/src/interp/CmdSet.java | 1 -
.../examples/TermTester/src/interp/Interp.java | 1 -
.../examples/TermTester/src/interp/Listener.java | 1 -
.../TermTester/src/interp/ListenerOutput.java | 1 -
.../examples/TermTester/src/interp/SysCmdSet.java | 1 -
.../examples/TermTester/src/resources/bpt.png | Bin 0 -> 877 bytes
.../TermTester/src/termtester/Context.java | 1 -
.../src/termtester/ExternalTestSubject.java | 1 -
.../src/termtester/InternalTestSubject.java | 1 -
.../examples/TermTester/src/termtester/Main.java | 19 +-
.../TermTester/src/termtester/MainCmdSet.java | 96 +-
.../TermTester/src/termtester/MainFrame.java | 1 -
.../TermTester/src/termtester/SequenceViewer.java | 1 -
.../examples/TermTester/src/termtester/Test.java | 1 -
.../TermTester/src/termtester/TestSubject.java | 1 -
.../examples/TermTester/src/termtester/Util.java | 1 -
.../examples/TermTester/src/tests/Test_acs.java | 1 -
.../examples/TermTester/src/tests/Test_al.java | 1 -
.../examples/TermTester/src/tests/Test_attr.java | 1 -
.../examples/TermTester/src/tests/Test_bc.java | 1 -
.../examples/TermTester/src/tests/Test_cd.java | 1 -
.../examples/TermTester/src/tests/Test_ce.java | 1 -
.../examples/TermTester/src/tests/Test_cha.java | 1 -
.../examples/TermTester/src/tests/Test_cm.java | 1 -
.../examples/TermTester/src/tests/Test_cud.java | 1 -
.../examples/TermTester/src/tests/Test_cuu.java | 1 -
.../examples/TermTester/src/tests/Test_cv.java | 1 -
.../examples/TermTester/src/tests/Test_dc.java | 1 -
.../examples/TermTester/src/tests/Test_dl.java | 1 -
.../examples/TermTester/src/tests/Test_do.java | 1 -
.../examples/TermTester/src/tests/Test_ech.java | 1 -
.../examples/TermTester/src/tests/Test_ed.java | 1 -
.../examples/TermTester/src/tests/Test_el.java | 1 -
.../examples/TermTester/src/tests/Test_el2.java | 1 -
.../examples/TermTester/src/tests/Test_font.java | 1 -
.../examples/TermTester/src/tests/Test_ic.java | 1 -
.../examples/TermTester/src/tests/Test_im.java | 1 -
.../examples/TermTester/src/tests/Test_key.java | 1 -
.../examples/TermTester/src/tests/Test_lf.java | 1 -
.../examples/TermTester/src/tests/Test_misc.java | 1 -
.../examples/TermTester/src/tests/Test_nd.java | 1 -
.../examples/TermTester/src/tests/Test_om.java | 1 -
.../TermTester/src/tests/Test_overstrike.java | 1 -
.../TermTester/src/tests/Test_reverse.java | 1 -
.../examples/TermTester/src/tests/Test_ri.java | 1 -
.../examples/TermTester/src/tests/Test_scrc.java | 1 -
.../examples/TermTester/src/tests/Test_tab.java | 53 +-
.../examples/TermTester/src/tests/Test_txtprm.java | 1 -
.../examples/TermTester/src/tests/Test_up.java | 1 -
.../examples/TermTester/src/tests/Test_vpa.java | 1 -
lib.terminalemulator/examples/buildtool/build.xml | 49 +-
.../examples/lib.richexecution/arch.xml | 49 +-
.../examples/lib.richexecution/build.xml | 41 +-
.../lib.richexecution/maintainers.properties | 37 +
.../nbproject/genfiles.properties | 4 +-
.../nbproject/platform.properties | 38 +
.../lib.richexecution/nbproject/project.properties | 39 +-
.../lib.richexecution/nbproject/project.xml | 39 +
.../lib.richexecution/nbproject/suite.properties | 37 +
.../netbeans/lib/richexecution/Bundle.properties | 37 +
.../org/netbeans/lib/richexecution/package.html | 16 +-
.../examples/telnet/TelnetApp.java | 51 +-
lib.terminalemulator/examples/telnet/build.xml | 49 +-
lib.terminalemulator/manifest.mf | 2 +-
lib.terminalemulator/nbproject/project.properties | 37 +
lib.terminalemulator/nbproject/project.xml | 49 +-
.../lib/terminalemulator/AbstractInterp.java | 17 +-
.../lib/terminalemulator/ActiveRegion.java | 1 -
.../netbeans/lib/terminalemulator/ActiveTerm.java | 10 +-
.../lib/terminalemulator/ActiveTermListener.java | 2 -
.../org/netbeans/lib/terminalemulator/Attr.java | 79 +-
.../org/netbeans/lib/terminalemulator/BCoord.java | 1 -
.../org/netbeans/lib/terminalemulator/BExtent.java | 1 -
.../org/netbeans/lib/terminalemulator/Buffer.java | 83 +-
.../org/netbeans/lib/terminalemulator/Coord.java | 1 -
.../org/netbeans/lib/terminalemulator/Extent.java | 1 -
.../org/netbeans/lib/terminalemulator/Interp.java | 3 +-
.../netbeans/lib/terminalemulator/InterpANSI.java | 25 +-
.../lib/terminalemulator/InterpDtTerm.java | 25 +-
.../netbeans/lib/terminalemulator/InterpDumb.java | 29 +-
.../netbeans/lib/terminalemulator/InterpKit.java | 23 +-
.../lib/terminalemulator/InterpProtoANSI.java | 68 +-
.../lib/terminalemulator/InterpProtoANSIX.java | 26 +-
.../netbeans/lib/terminalemulator/InterpXTerm.java | 19 +-
.../org/netbeans/lib/terminalemulator/Line.java | 2 +-
.../lib/terminalemulator/LineDiscipline.java | 14 +-
.../netbeans/lib/terminalemulator/LineVisitor.java | 1 -
.../lib/terminalemulator/LogicalLineVisitor.java | 1 -
.../lib/terminalemulator/MyFontMetrics.java | 3 +-
.../lib/terminalemulator/NullTermStream.java | 6 +-
.../src/org/netbeans/lib/terminalemulator/Ops.java | 2 +-
.../lib/terminalemulator/RegionException.java | 1 -
.../lib/terminalemulator/RegionManager.java | 2 +-
.../org/netbeans/lib/terminalemulator/Screen.java | 51 +-
.../src/org/netbeans/lib/terminalemulator/Sel.java | 32 +-
.../org/netbeans/lib/terminalemulator/State.java | 1 -
.../netbeans/lib/terminalemulator/StreamTerm.java | 11 +-
.../org/netbeans/lib/terminalemulator/Term.java | 475 +-
.../netbeans/lib/terminalemulator/TermAdapter.java | 71 +
.../lib/terminalemulator/TermInputListener.java | 1 -
.../lib/terminalemulator/TermListener.java | 5 +-
.../netbeans/lib/terminalemulator/TermStream.java | 1 -
.../lib/terminalemulator/WordDelineator.java | 57 +-
.../org/netbeans/lib/terminalemulator/package.html | 16 +-
.../lib/terminalemulator/support/Bundle.properties | 38 +
.../terminalemulator/support/DefaultFindState.java | 51 +-
.../lib/terminalemulator/support/FindBar.java | 47 +-
.../lib/terminalemulator/support/TermOptions.java | 62 +-
.../lib/terminalemulator/support/package.html | 16 +-
lib.uihandler/build.xml | 39 +
lib.uihandler/manifest.mf | 2 +-
.../nbproject/org-netbeans-lib-uihandler.sig | 2 +-
lib.uihandler/nbproject/project.properties | 37 +
lib.uihandler/nbproject/project.xml | 39 +
.../org/netbeans/lib/uihandler/InputGesture.java | 17 +-
.../org/netbeans/lib/uihandler/LogFormatter.java | 23 +-
.../src/org/netbeans/lib/uihandler/LogRecords.java | 29 +-
.../src/org/netbeans/lib/uihandler/ProjectOp.java | 27 +-
.../src/org/netbeans/lib/uihandler/layer.xml | 39 +
.../netbeans/lib/uihandler/LogFormatterTest.java | 27 +-
.../org/netbeans/lib/uihandler/ProjectOpTest.java | 19 +-
.../org/netbeans/lib/uihandler/TestHandler.java | 21 +-
.../lib/uihandlerserver/InputGestureTest.java | 23 +-
.../lib/uihandlerserver/LogRecordsTest.java | 27 +-
.../netbeans/lib/uihandlerserver/Props.properties | 16 +-
.../lib/uihandlerserver/ReadBigDataTest.java | 33 +-
lib.v8debug/arch.xml | 45 +-
lib.v8debug/manifest.mf | 2 +-
lib.v8debug/nbproject/project.xml | 1 +
.../src/org/netbeans/lib/v8debug/JSONReader.java | 17 +-
.../src/org/netbeans/lib/v8debug/JSONWriter.java | 21 +-
.../org/netbeans/lib/v8debug/vars/V8Generator.java | 78 +
.../src/org/netbeans/lib/v8debug/vars/V8Value.java | 3 +-
.../v8debug/client/cmdline/AbstractTestBase.java | 4 +
.../external/binaries-list | 0
libs.amazon/manifest.mf | 2 +-
.../external/binaries-list | 0
.../external/binaries-list | 0
libs.antlr3.runtime/nbproject/project.properties | 2 +-
libs.antlr4.runtime/build.xml | 52 +
.../external/antlr-runtime-4.5.3-license.txt | 37 +
libs.antlr4.runtime/external/binaries-list | 1 +
libs.antlr4.runtime/manifest.mf | 5 +
libs.antlr4.runtime/nbproject/project.properties | 51 +
libs.antlr4.runtime/nbproject/project.xml | 64 +
.../netbeans/libs/antlr4/runtime/Bundle.properties | 49 +
.../libs.asm => libs.asm}/external/binaries-list | 0
libs.asm/manifest.mf | 2 +-
.../external/binaries-list | 0
libs.bytelist/nbproject/project.properties | 2 +-
.../external/binaries-list | 0
libs.cglib/manifest.mf | 2 +-
libs.clank/build.xml | 2 +-
libs.clank/external/binaries-list | 9 +
...k_0.3.6-license.txt => clank_0.3.9-license.txt} | 0
libs.clank/nbproject/project.properties | 11 +-
libs.clank/nbproject/project.xml | 8 +
.../external/binaries-list | 0
libs.commons_compress/nbproject/project.properties | 2 +-
libs.commons_compress/nbproject/project.xml | 1 +
.../external/binaries-list | 0
libs.commons_fileupload/manifest.mf | 2 +-
.../external/binaries-list | 0
libs.commons_net/nbproject/project.properties | 2 +-
.../external/binaries-list | 0
libs.elimpl/nbproject/project.properties | 2 +-
libs.felix/build.xml | 39 +
.../external/binaries-list | 0
libs.felix/manifest.mf | 2 +-
libs.felix/nbproject/project.xml | 39 +
.../external/binaries-list | 0
libs.freemarker/nbproject/project.properties | 2 +-
.../libs/freemarker/FreemarkerResolver.xml | 39 +
.../org/netbeans/libs/freemarker/RsrcLoader.java | 63 +-
libs.git/arch.xml | 51 +-
libs.git/manifest.mf | 2 +-
libs.git/nbproject/org-netbeans-libs-git.sig | 61 +-
.../libs/git/jgit/commands/Bundle.properties | 1 +
.../git/jgit/commands/CreateBranchCommand.java | 19 +-
.../jgit/commands/SetUpstreamBranchCommand.java | 13 +
.../libs/git/jgit/commands/StashListCommand.java | 5 +
.../libs/git/jgit/commands/BranchTest.java | 33 +
.../git/jgit/commands/SetUpstreamBranchTest.java | 25 +-
.../external/binaries-list | 0
.../nbproject/project.properties | 2 +-
libs.groovy/build.xml | 39 +
libs.groovy/external/binaries-list | 1 +
libs.groovy/external/groovy-all-2.1.7-license.txt | 207 -
libs.groovy/external/groovy-all-2.4.5-license.txt | 207 +
libs.groovy/manifest.mf | 2 +-
libs.groovy/nbproject/project.properties | 39 +-
libs.groovy/nbproject/project.xml | 41 +-
.../netbeans/modules/libs/groovy/Bundle.properties | 37 +
.../netbeans/modules/libs/groovy/groovy-all.xml | 2 +-
.../src/org/netbeans/modules/libs/groovy/layer.xml | 39 +
.../external/binaries-list | 0
libs.ini4j/manifest.mf | 2 +-
libs.javacapi/external/binaries-list | 1 +
libs.javacapi/nbproject/project.properties | 16 +-
libs.javacapi/nbproject/project.xml | 39 +
libs.javacimpl/external/binaries-list | 1 +
libs.javacimpl/nbproject/project.properties | 4 +-
libs.javacimpl/nbproject/project.xml | 40 +
.../external/binaries-list | 0
libs.javacup/nbproject/project.properties | 2 +-
libs.javafx/build.xml | 39 +
.../external/binaries-list | 0
libs.javafx/manifest.mf | 2 +-
libs.javafx/nbproject/project.xml | 39 +
.../src/org/netbeans/libs/javafx/Bundle.properties | 37 +
libs.jaxb/build.xml | 39 +
.../libs.jaxb => libs.jaxb}/external/binaries-list | 0
libs.jaxb/manifest.mf | 2 +-
libs.jaxb/nbproject/project.properties | 4 +-
libs.jaxb/nbproject/project.xml | 39 +
libs.jna.platform/external/binaries-list | 1 +
.../external/jna-platform-4.1.0-license.txt | 208 -
.../external/jna-platform-4.2.2-license.txt | 208 +
libs.jna.platform/manifest.mf | 2 +-
libs.jna.platform/nbproject/project.properties | 2 +-
libs.jna.platform/nbproject/project.xml | 4 +-
libs.jna/external/binaries-list | 1 +
libs.jna/external/jna-4.1.0-license.txt | 208 -
libs.jna/external/jna-4.2.2-license.txt | 208 +
libs.jna/manifest.mf | 2 +-
libs.jna/nbproject/project.properties | 24 +-
libs.jna/nbproject/project.xml | 4 +-
libs.jna/src/org/netbeans/libs/jna/Installer.java | 2 +-
.../external/binaries-list | 0
libs.jsch.agentproxy/manifest.mf | 2 +-
libs.json_simple/build.xml | 39 +
.../external/binaries-list | 0
libs.json_simple/manifest.mf | 2 +-
libs.json_simple/nbproject/project.xml | 39 +
libs.jsr223/manifest.mf | 2 +-
libs.jstestdriver/build.xml | 39 +
.../external/binaries-list | 0
libs.jstestdriver/manifest.mf | 2 +-
.../netbeans/libs/jstestdriver/Bundle.properties | 37 +
.../libs.jstl => libs.jstl}/external/binaries-list | 0
libs.jstl/nbproject/project.properties | 2 +-
.../external/binaries-list | 0
libs.junit4/manifest.mf | 2 +-
.../external/binaries-list | 0
libs.jvyamlb/manifest.mf | 2 +-
.../external/binaries-list | 0
libs.lucene/manifest.mf | 2 +-
libs.nashorn/build.xml | 39 +
libs.nashorn/external/asm-all-4.0-license.txt | 37 -
libs.nashorn/external/binaries-list | 1 +
.../external/com.oracle.js.parser-license.txt | 431 +
.../nashorn-02f810c26ff9-patched-license.txt | 360 -
libs.nashorn/external/nashorn.patch | 1245 -
libs.nashorn/manifest.mf | 4 +-
libs.nashorn/nbproject/project.properties | 5 +-
libs.nashorn/nbproject/project.xml | 49 +-
.../org/netbeans/libs/nashorn/Bundle.properties | 37 +
libs.nbi.ant/build.xml | 39 +
libs.nbi.ant/manifest.mf | 2 +-
libs.nbi.ant/nbproject/project.properties | 37 +
libs.nbi.ant/nbproject/project.xml | 39 +
.../org/netbeans/libs/nbi/ant/Bundle.properties | 37 +
libs.nbi.ant/stub/build.properties | 61 +-
libs.nbi.ant/stub/build.xml | 49 +-
.../ext/components/products/helloworld/build.xml | 45 +-
.../products/helloworld/data/Bundle.properties | 60 +-
.../helloworld/nbproject/project.properties | 37 +
.../products/helloworld/nbproject/project.xml | 39 +
.../helloworld/src/org/mycompany/Bundle.properties | 37 +
.../src/org/mycompany/ConfigurationLogic.java | 11 +-
.../helloworld/src/org/mycompany/wizard.xml | 69 +-
.../org/mycompany/wizard/panels/Bundle.properties | 61 +-
.../mycompany/wizard/panels/HelloWorldPanel.java | 15 +-
libs.nbi.ant/stub/ext/engine/build.properties | 60 +-
libs.nbi.ant/stub/ext/engine/build.xml | 77 +-
.../stub/ext/engine/nbproject/build-impl.xml | 2 +-
.../stub/ext/engine/nbproject/project.properties | 60 +-
libs.nbi.ant/stub/ext/engine/nbproject/project.xml | 67 +-
.../stub/ext/engine/src/data/engine.properties | 61 +-
.../native/launcher/unix/i18n/launcher.properties | 60 +-
.../launcher/windows/i18n/launcher.properties | 60 +-
.../installer/utils/applications/Bundle.properties | 60 +-
.../utils/applications/NetBeansRCPUtils.java | 66 +-
.../wizard/components/actions/Bundle.properties | 37 +
.../components/actions/InitializeAction.java | 68 +-
.../wizard/components/panels/Bundle.properties | 37 +
.../components/panels/PostInstallSummaryPanel.java | 63 +-
.../components/panels/PreInstallSummaryPanel.java | 61 +-
.../wizard/components/panels/WelcomePanel.java | 61 +-
.../wizard/components/sequences/Bundle.properties | 60 +-
.../wizard/components/sequences/MainSequence.java | 63 +-
.../installer/wizard/wizard-components.xml | 77 +-
.../stub/ext/infra/build/engine/build.properties | 39 -
libs.nbi.ant/stub/ext/infra/build/engine/build.xml | 38 -
.../build/products/helloworld/build.properties | 39 -
.../ext/infra/build/products/helloworld/build.xml | 38 -
libs.nbi.ant/stub/tmpl.properties | 37 +
libs.nbi.engine/build.xml | 39 +
libs.nbi.engine/manifest.mf | 2 +-
libs.nbi.engine/nbproject/project.properties | 37 +
libs.nbi.engine/nbproject/project.xml | 39 +
.../org/netbeans/libs/nbi/engine/Bundle.properties | 37 +
libs.osgi/build.xml | 39 +
.../libs.osgi => libs.osgi}/external/binaries-list | 0
libs.osgi/manifest.mf | 2 +-
libs.osgi/nbproject/project.properties | 37 +
libs.osgi/nbproject/project.xml | 39 +
.../src/org/netbeans/libs/osgi/Bundle.properties | 37 +
libs.plist/build.xml | 39 +
.../external/binaries-list | 0
libs.plist/manifest.mf | 2 +-
libs.plist/nbproject/project.properties | 37 +
libs.plist/nbproject/project.xml | 39 +
.../src/org/netbeans/libs/plist/Bundle.properties | 37 +
libs.smack/README.html | 227 -
libs.smack/build.xml | 39 +
libs.smack/changelog.html | 336 -
.../external/binaries-list | 0
libs.smack/manifest.mf | 2 +-
libs.smack/nbproject/project.properties | 37 +
libs.smack/nbproject/project.xml | 39 +
.../src/org/netbeans/libs/smack/Bundle.properties | 37 +
.../external/binaries-list | 0
libs.springframework/manifest.mf | 2 +-
.../external/binaries-list | 2 +
.../svnClientAdapter-javahl-1.10.12-license.txt | 209 +
.../svnClientAdapter-javahl-1.10.3-license.txt | 209 -
.../external/svnjavahl-1.8.4-license.txt | 209 -
.../external/svnjavahl-1.9.3-license.txt | 209 +
libs.svnClientAdapter.javahl/manifest.mf | 2 +-
.../nbproject/project.properties | 4 +-
libs.svnClientAdapter.javahl/nbproject/project.xml | 4 +-
.../javahl/JavaHlClientAdapterFactory.java | 14 +-
.../external/binaries-list | 4 +
....ssh2_1.0.0.build219_t20150519_2322-license.txt | 94 -
..._1.0.0.build220_r167_v20150618_1733-license.txt | 94 +
...svnkit_1.8.12.r10533_v20160129_0158-license.txt | 54 +
...svnkit_1.8.10.r10446_v20150526_1454-license.txt | 54 -
.../svnClientAdapter-svnkit-1.10.12-license.txt | 209 +
.../svnClientAdapter-svnkit-1.10.3-license.txt | 209 -
libs.svnClientAdapter.svnkit/manifest.mf | 2 +-
.../nbproject/project.properties | 6 +-
libs.svnClientAdapter.svnkit/nbproject/project.xml | 6 +-
.../svnkit/SvnKitClientAdapterFactory.java | 4 +-
libs.svnClientAdapter/external/binaries-list | 1 +
.../external/svnClientAdapter-1.10.3-license.txt | 209 -
.../svnClientAdapter-main-1.10.12-license.txt | 209 +
libs.svnClientAdapter/manifest.mf | 2 +-
libs.svnClientAdapter/nbproject/project.properties | 2 +-
libs.svnClientAdapter/nbproject/project.xml | 2 +-
.../external/binaries-list | 0
libs.swingx/manifest.mf | 2 +-
libs.swingx/nbproject/project.properties | 2 +-
.../external/binaries-list | 0
libs.testng/manifest.mf | 2 +-
libs.testng/nbproject/project.properties | 2 +-
.../external/binaries-list | 0
libs.xerces/nbproject/project.properties | 2 +-
localhistory/build.xml | 39 +
localhistory/manifest.mf | 2 +-
localhistory/nbproject/project.properties | 37 +
localhistory/nbproject/project.xml | 39 +
.../modules/localhistory/Bundle.properties | 37 +
.../resources/HistoryTopComponentSettings.xml | 39 +
.../resources/HistoryTopComponentWstcref.xml | 39 +
.../localhistory/ui/actions/Bundle.properties | 37 +
.../localhistory/ui/actions/RevertPanel.java | 8 +-
.../modules/localhistory/ui/view/Bundle.properties | 37 +
localtasks/build.xml | 39 +
localtasks/manifest.mf | 2 +-
localtasks/nbproject/project.properties | 37 +
localtasks/nbproject/project.xml | 39 +
.../modules/localtasks/task/LocalTask.java | 1 +
masterfs.linux/build.xml | 39 +
masterfs.linux/manifest.mf | 2 +-
masterfs.linux/nbproject/project.properties | 37 +
masterfs.linux/nbproject/project.xml | 39 +
.../masterfs/watcher/linux/Bundle.properties | 37 +
.../masterfs/watcher/linux/LinuxNotifier.java | 9 +-
masterfs.macosx/build.xml | 39 +
masterfs.macosx/manifest.mf | 2 +-
masterfs.macosx/nbproject/project.properties | 37 +
masterfs.macosx/nbproject/project.xml | 39 +
.../masterfs/watcher/macosx/Bundle.properties | 37 +
.../masterfs/watcher/macosx/OSXNotifier.java | 9 +-
masterfs.nio2/build.xml | 39 +
masterfs.nio2/manifest.mf | 2 +-
masterfs.nio2/nbproject/project.properties | 37 +
masterfs.nio2/nbproject/project.xml | 39 +
.../masterfs/watcher/nio2/Bundle.properties | 37 +
masterfs.ui/build.xml | 39 +
masterfs.ui/nbproject/project.properties | 39 +-
masterfs.ui/nbproject/project.xml | 39 +
.../netbeans/modules/masterfs/ui/Bundle.properties | 37 +
masterfs.windows/build.xml | 39 +
masterfs.windows/manifest.mf | 2 +-
masterfs.windows/nbproject/project.properties | 37 +
masterfs.windows/nbproject/project.xml | 39 +
.../masterfs/watcher/windows/Bundle.properties | 37 +
.../masterfs/watcher/windows/WindowsNotifier.java | 9 +-
masterfs/nbproject/project.properties | 2 +-
.../filebasedfs/fileobjects/BaseFileObj.java | 71 +-
.../filebasedfs/fileobjects/FileObjectKeeper.java | 15 +-
.../modules/masterfs/providers/Notifier.java | 9 +-
.../netbeans/modules/masterfs/watcher/Watcher.java | 9 +-
.../filebasedfs/BaseFileObjectTestHid.java | 30 +-
maven.apisupport/manifest.mf | 2 +-
.../modules/maven/apisupport/NbAppDescription.html | 39 +
.../maven/apisupport/NbModuleDescription.html | 39 +
.../maven/apisupport/NbmWizardIterator.java | 4 +-
.../maven/apisupport/NbmWizardPanelVisual.form | 1 +
.../maven/apisupport/NbmWizardPanelVisual.java | 56 +-
maven.checkstyle/build.xml | 39 +
maven.checkstyle/manifest.mf | 2 +-
maven.checkstyle/nbproject/project.properties | 37 +
maven.checkstyle/nbproject/project.xml | 39 +
.../modules/maven/checkstyle/Bundle.properties | 37 +
maven.coverage/build.xml | 39 +
maven.coverage/manifest.mf | 2 +-
maven.coverage/nbproject/project.properties | 37 +
maven.coverage/nbproject/project.xml | 39 +
.../modules/maven/coverage/Bundle.properties | 37 +
.../modules/maven/coverage/action-mappings.xml | 39 +
.../org/netbeans/modules/maven/coverage/layer.xml | 39 +
maven.embedder/build.xml | 9 +
maven.embedder/external/binaries-list | 7 +
.../external/wagon-file-2.10-license.txt | 208 +
.../external/wagon-http-2.10-shaded-license.txt | 208 +
.../external/wagon-http-2.8-shaded-license.txt | 208 -
.../external/wagon-http-shared-2.10-license.txt | 208 +
.../external/wagon-provider-api-2.10-license.txt | 208 +
maven.embedder/manifest.mf | 2 +-
maven.embedder/nbproject/project.properties | 1 -
maven.embedder/nbproject/project.xml | 8 +-
.../ext/maven/rootpackage/default-report.xml | 39 +
maven.grammar/nbproject/project.properties | 4 +-
.../modules/maven/codegen/AbstractGenerator.java | 36 +
.../modules/maven/codegen/Bundle.properties | 37 +
.../modules/maven/codegen/DependencyGenerator.java | 19 +-
.../modules/maven/codegen/LicenseGenerator.java | 8 +-
.../modules/maven/codegen/PluginGenerator.java | 9 +-
.../modules/maven/codegen/ProfileGenerator.java | 6 +-
.../maven/grammar/ShowEffPomDiffAction.java | 3 +-
.../maven/hyperlinks/GoToImplementation.java | 34 +-
maven.graph/manifest.mf | 2 +-
.../modules/maven/graph/ArtifactWidget.java | 41 +-
.../maven/graph/DependencyGraphTopComponent.java | 12 +-
maven.groovy/build.xml | 39 +
maven.groovy/manifest.mf | 2 +-
maven.groovy/nbproject/project.properties | 37 +
maven.groovy/nbproject/project.xml | 39 +
.../modules/maven/groovy/Bundle.properties | 37 +
.../maven/groovy/extender/AddGroovyDependency.java | 14 +-
.../groovy/extender/AddGroovyEclipseCompiler.java | 14 +-
.../groovy/extender/AddMavenCompilerPlugin.java | 148 +-
.../maven/groovy/extender/MavenConstants.java | 65 +
.../maven/groovy/extender/MavenGroovyExtender.java | 4 +-
maven.hints/manifest.mf | 2 +-
.../hints/errors/SearchClassDependencyHint.java | 4 +-
.../hints/errors/SearchClassDependencyInRepo.java | 58 +-
.../hints/pom/MoveToDependencyManagementHint.java | 22 +-
.../modules/maven/hints/ui/SearchDependencyUI.java | 4 +-
.../ui/customizers/SearchDependencyCustomizer.java | 4 +-
.../modules/maven/hints/ui/nodes/ArtifactNode.java | 4 +-
.../modules/maven/hints/ui/nodes/VersionNode.java | 4 +-
maven.indexer.ui/manifest.mf | 2 +-
.../external/binaries-list | 0
maven.indexer/manifest.mf | 2 +-
maven.indexer/nbproject/project.properties | 2 +-
maven.indexer/nbproject/project.xml | 4 +-
.../maven/indexer/NexusRepositoryIndexerImpl.java | 386 +-
.../org/netbeans/modules/maven/indexer/OnStop.java | 2 +-
.../maven/indexer/RemoteIndexTransferListener.java | 4 +-
.../maven/indexer/RepositoryIndexerListener.java | 4 +-
.../netbeans/modules/maven/indexer/ResultImpl.java | 152 +
.../modules/maven/indexer/api/NBArtifactInfo.java | 4 +-
.../modules/maven/indexer/api/NBGroupInfo.java | 4 +-
.../modules/maven/indexer/api/NBVersionInfo.java | 4 +-
.../maven/indexer/api/RepositoryIndexer.java | 39 +-
.../modules/maven/indexer/api/RepositoryInfo.java | 46 +-
.../maven/indexer/api/RepositoryPreferences.java | 4 +-
.../maven/indexer/api/RepositoryQueries.java | 397 +-
.../modules/maven/indexer/api/RepositoryUtil.java | 4 +-
.../maven/indexer/spi/ArchetypeQueries.java | 2 +-
.../modules/maven/indexer/spi/BaseQueries.java | 76 +-
.../modules/maven/indexer/spi/ChecksumQueries.java | 4 +-
.../modules/maven/indexer/spi/ClassUsageQuery.java | 2 +-
.../modules/maven/indexer/spi/ClassesQuery.java | 8 +-
.../maven/indexer/spi/DependencyInfoQueries.java | 5 +-
.../maven/indexer/spi/GenericFindQuery.java | 4 +-
.../modules/maven/indexer/spi/NullResultImpl.java | 79 +
.../netbeans/modules/maven/indexer/spi/Redo.java | 53 -
.../indexer/spi/RepositoryIndexQueryProvider.java | 130 +
.../spi/RepositoryIndexerImplementation.java | 67 -
.../maven/indexer/spi/ResultImplementation.java | 94 +
.../spi/impl/IndexingNotificationProvider.java | 2 +-
.../modules/maven/indexer/spi/impl/Redo.java | 53 +
.../spi/impl/RepositoryIndexerImplementation.java | 72 +
.../indexer/NexusRepositoryIndexerImplTest.java | 12 +-
.../modules/maven/indexer/NexusTestBase.java | 3 +-
.../indexer/api/AbstractTestQueryProvider.java | 181 +
.../maven/indexer/api/RepositoryQueriesTest.java | 144 +
maven.j2ee/manifest.mf | 2 +-
maven.j2ee/nbproject/project.xml | 8 +
.../maven/j2ee/ear/EarModuleProviderImpl.java | 18 +-
.../modules/maven/j2ee/execution/Bundle.properties | 37 +
.../maven/j2ee/execution/DeploymentHelper.java | 8 +-
.../j2ee/execution/PrerequisitesCheckerImpl.java | 4 +-
.../maven/j2ee/ui/customizer/Bundle.properties | 37 +
.../ui/customizer/MavenCompositePanelProvider.java | 3 +-
.../j2ee/ui/customizer/impl/Bundle.properties | 37 +
.../ui/wizard/resources/AppClientDescription.html | 39 +
.../j2ee/ui/wizard/resources/EADescription.html | 39 +
.../j2ee/ui/wizard/resources/EjbDescription.html | 39 +
.../ui/wizard/resources/WebAppDescription.html | 39 +
.../modules/maven/j2ee/utils/Bundle.properties | 37 +
.../j2ee/web/CssPreprocessorsProblemProvider.java | 4 +-
.../modules/maven/j2ee/utils/Bundle.properties | 37 +
maven.jaxws/manifest.mf | 2 +-
.../modules/maven/jaxws/MavenModelUtils.java | 87 +-
.../maven/jaxws/wizards/JaxWsClientCreator.java | 2 +-
.../maven/jaxws/wizards/JaxWsServiceCreator.java | 2 +-
.../maven/jaxws/wizards/MavenSchemaCompiler.java | 9 +-
.../jaxws/wizards/MavenSchemaCompilerProvider.java | 9 +-
maven.junit.ui/build.xml | 39 +
maven.junit.ui/manifest.mf | 2 +-
maven.junit.ui/nbproject/project.properties | 37 +
maven.junit.ui/nbproject/project.xml | 39 +
.../modules/maven/junit/ui/Bundle.properties | 37 +
.../maven/junit/ui/MavenJUnitTestMethodNode.java | 14 +-
maven.junit/manifest.mf | 2 +-
.../maven/junit/JUnitOutputListenerProvider.java | 54 +-
maven.kit/manifest.mf | 2 +-
maven.model/build.xml | 39 +
maven.model/config/xam-maven-4.0.0.xml | 39 +
maven.model/config/xam-profiles-1.0.0.xml | 39 +
maven.model/config/xam-settings-1.0.0.xml | 39 +
maven.model/manifest.mf | 2 +-
maven.model/nbproject/project.properties | 37 +
maven.model/nbproject/project.xml | 39 +
.../netbeans/modules/maven/model/Bundle.properties | 37 +
maven.osgi/build.xml | 39 +
maven.osgi/manifest.mf | 2 +-
maven.osgi/nbproject/project.properties | 37 +
maven.osgi/nbproject/project.xml | 69 +-
.../netbeans/modules/maven/osgi/Bundle.properties | 37 +
.../modules/maven/osgi/OSGILookupProvider.java | 48 +-
.../maven/osgi/OSGiJarAccessibilityQueryImpl.java | 16 +-
.../maven/osgi/customizer/Bundle.properties | 37 +
.../src/org/netbeans/modules/maven/osgi/layer.xml | 39 +
.../maven/osgi/templates/OSGiDescription.html | 39 +
.../maven/osgi/templates/new_OSGi_activator.html | 16 +-
maven.persistence/manifest.mf | 2 +-
.../persistence/MavenPersistenceProvider.java | 4 +-
.../PersistenceLocationProviderImpl.java | 4 +-
.../maven/persistence/PersistenceScopeImpl.java | 4 +-
.../persistence/PersistenceScopeProviderImpl.java | 4 +-
.../persistence/PersistenceScopesProviderImpl.java | 4 +-
maven.profiler/manifest.mf | 2 +-
maven.profiler/nbproject/project.xml | 14 +-
.../MavenProjectProfilingSupportProvider.java | 56 +-
maven.refactoring/build.xml | 39 +
maven.refactoring/manifest.mf | 2 +-
maven.refactoring/nbproject/project.properties | 37 +
maven.refactoring/nbproject/project.xml | 39 +
.../modules/maven/refactoring/Bundle.properties | 37 +
maven.repository/manifest.mf | 2 +-
maven.repository/nbproject/project.xml | 12 +-
.../modules/maven/repository/ArtifactChildren.java | 4 +-
.../modules/maven/repository/ArtifactNode.java | 4 +-
.../maven/repository/GroupListChildren.java | 29 +-
.../modules/maven/repository/RepositoryNode.java | 4 +-
.../modules/maven/repository/VersionNode.java | 4 +-
.../dependency/AddAsDependencyAction.java | 4 +-
.../repository/ui/ArtifactMultiViewFactory.java | 4 +-
maven.samples/build.xml | 45 +-
maven.samples/manifest.mf | 2 +-
maven.samples/nbproject/project.properties | 37 +
maven.samples/nbproject/project.xml | 39 +
.../MavenCRUDSample/application/pom.xml | 39 +
.../samples_src/MavenCRUDSample/branding/pom.xml | 39 +
.../org/netbeans/core/startup/Bundle.properties | 37 +
.../core/windows/view/ui/Bundle.properties | 37 +
.../org/netbeans/core/ui/Bundle.properties | 37 +
.../crudsampleapplication/Bundle.properties | 37 +
.../modules/crudsampleapplication/layer.xml | 41 +-
.../MavenCRUDSample/crudsample/eclipselink.xml | 39 +
.../samples_src/MavenCRUDSample/crudsample/pom.xml | 39 +
.../src/main/resources/META-INF/eclipselink.xml | 39 +
.../src/main/resources/META-INF/persistence.xml | 39 +
.../src/main/resources/META-INF/toplink.xml | 39 +
.../crudsampleapplication/Bundle.properties | 37 +
.../dbaccess/Bundle.properties | 37 +
.../crudsampleapplication/editor/Bundle.properties | 37 +
.../editor/EditorTopComponentSettings.xml | 39 +-
.../editor/EditorTopComponentWstcref.xml | 39 +-
.../modules/crudsampleapplication/layer.xml | 39 +
.../crudsampleapplication/viewer/Bundle.properties | 37 +
.../viewer/CustomerTopComponentSettings.xml | 39 +-
.../viewer/CustomerTopComponentWstcref.xml | 39 +-
.../MavenCRUDSample/crudsample/toplink.xml | 39 +
maven.samples/samples_src/MavenCRUDSample/pom.xml | 39 +
.../MavenCalculatorClient/src/jax-ws-catalog.xml | 39 +
.../mavenCalculator/CalculatorService.wsdl | 42 +-
.../mavenCalculator/CalculatorService.xsd_1.xsd | 42 +-
maven.samples/samples_src/MavenScrumToys/pom.xml | 61 +-
.../src/main/resources/META-INF/persistence.xml | 39 +
.../main/resources/ValidationMessages.properties | 37 +
.../resources/ValidationMessages_pt_BR.properties | 37 +
.../src/main/resources/i18n.properties | 37 +
.../src/main/resources/i18n_en_US.properties | 37 +
.../src/main/resources/i18n_pt_BR.properties | 37 +
.../src/main/webapp/WEB-INF/sun-web.xml | 2 +-
.../MavenScrumToys/src/main/webapp/footer.xhtml | 2 +-
.../MavenScrumToys/src/main/webapp/home.xhtml | 4 +-
.../MavenScrumToys/src/main/webapp/index.html | 62 +-
.../main/webapp/resources/css/1_1/appBlueSkin.css | 39 +
.../webapp/resources/css/1_1/appOrangeSkin.css | 39 +
.../main/webapp/resources/css/1_1/appRedSkin.css | 39 +
.../webapp/resources/css/1_1/appSelectedColor.css | 39 +
.../webapp/resources/css/1_1/appYellowSkin.css | 39 +
.../src/main/webapp/resources/css/1_1/common.css | 45 +-
.../src/main/webapp/resources/js/app.js | 59 +-
.../src/main/webapp/resources/js/date.js | 42 +-
.../src/main/webapp/resources/js/menu.js | 59 +-
.../src/main/webapp/resources/js/validations.js | 42 +-
.../javaee7/samples/batch/api/SimpleLock.java | 39 +
.../src/main/webapp/WEB-INF/beans.xml | 39 +
.../src/main/webapp/WEB-INF/web.xml | 39 +
.../payroll/src/main/webapp/WEB-INF/beans.xml | 39 +
.../batch/payroll/src/main/webapp/WEB-INF/web.xml | 39 +
.../cdi-guess/src/main/webapp/WEB-INF/beans.xml | 39 +
.../cdi/events/src/main/webapp/WEB-INF/beans.xml | 39 +
.../javaee7/cdi/events/src/main/webapp/index.jsp | 41 +-
.../interceptors/src/main/webapp/WEB-INF/beans.xml | 41 +-
.../cdi/interceptors/src/main/webapp/index.jsp | 41 +-
.../executor/src/main/webapp/WEB-INF/web.xml | 39 +
.../executor/src/main/webapp/index.html | 76 +-
.../glassfish/schedule/MyDelayedRunnableTask.java | 41 +-
.../schedule/src/main/webapp/index.html | 76 +-
.../concurrency/threads/src/main/webapp/index.html | 76 +-
.../mailconnector-ear/gf-users-admin.xml | 5 +-
.../src/main/application/META-INF/application.xml | 43 +-
.../fileUpload/src/main/webapp/WEB-INF/beans.xml | 43 +-
.../html5/src/main/webapp/resources/stylesheet.css | 39 +
.../javaee7/rest/async-chat/nb-configuration.xml | 41 +-
.../async-chat/src/main/webapp/WEB-INF/sun-web.xml | 1 -
.../rest/message-board/nb-configuration.xml | 41 +-
.../src/main/webapp/WEB-INF/sun-web.xml | 2 -
.../fragment1/dependency-reduced-pom.xml | 39 +
.../fragment2/dependency-reduced-pom.xml | 39 +
.../fragment3/dependency-reduced-pom.xml | 39 +
.../dependency-reduced-pom.xml | 39 +
.../tictactoe/server/src/main/webapp/index.jsp | 39 +
.../samples/descriptions/AbsoluteOrdering.html | 39 +
.../maven/samples/descriptions/AnnotationWar.html | 39 +
.../maven/samples/descriptions/AsyncChat.html | 39 +
.../descriptions/AsynchronousProcessing.html | 39 +
.../maven/samples/descriptions/Auction.html | 39 +
.../maven/samples/descriptions/AutomaticTimer.html | 39 +
.../maven/samples/descriptions/BeanValidation.html | 39 +
.../maven/samples/descriptions/CDIGuess.html | 39 +
.../maven/samples/descriptions/CDIServlet.html | 39 +
.../maven/samples/descriptions/Contracts.html | 39 +
.../modules/maven/samples/descriptions/Draw.html | 39 +
.../samples/descriptions/DynamicRegistration.html | 39 +
.../modules/maven/samples/descriptions/EL.html | 39 +
.../modules/maven/samples/descriptions/Echo.html | 39 +
.../maven/samples/descriptions/EjbEmbedded.html | 39 +
.../modules/maven/samples/descriptions/Events.html | 39 +
.../maven/samples/descriptions/Executor.html | 39 +
.../maven/samples/descriptions/FileUpload.html | 39 +
.../modules/maven/samples/descriptions/HTML5.html | 39 +
.../samples/descriptions/HelloStatelessEjb.html | 39 +
.../samples/descriptions/HelloStatelessWar.html | 39 +
.../maven/samples/descriptions/HttpUpgrade.html | 39 +
.../maven/samples/descriptions/Interceptors.html | 39 +
.../modules/maven/samples/descriptions/JSONP.html | 39 +
.../maven/samples/descriptions/JoboperatorAPI.html | 39 +
.../samples/descriptions/JspResourceInJar.html | 39 +
.../maven/samples/descriptions/MailConnector.html | 39 +
.../samples/descriptions/Maven2Calculator.html | 39 +
.../descriptions/Maven2CalculatorClient.html | 39 +
.../samples/descriptions/MavenCRUDSample.html | 16 +-
.../maven/samples/descriptions/MavenScrumToys.html | 39 +
.../maven/samples/descriptions/MessageBoard.html | 39 +
.../maven/samples/descriptions/Multipart.html | 39 +
.../samples/descriptions/NonBlockingRead.html | 39 +
.../samples/descriptions/NonBlockingWrite.html | 39 +
.../maven/samples/descriptions/Payroll.html | 39 +
.../maven/samples/descriptions/Schedule.html | 39 +
.../maven/samples/descriptions/Scrumtoys.html | 39 +
.../samples/descriptions/ServletContainer.html | 39 +
.../maven/samples/descriptions/SessionCookie.html | 39 +
.../maven/samples/descriptions/Threads.html | 39 +
.../maven/samples/descriptions/Tictactoe.html | 39 +
.../samples/descriptions/TransactionScoped.html | 39 +
.../maven/samples/descriptions/Transactional.html | 39 +
.../org/netbeans/modules/maven/samples/layer.xml | 41 +-
maven.search/manifest.mf | 2 +-
maven.spring/manifest.mf | 2 +-
maven/build.xml | 17 +-
maven/external/binaries-list | 2 +
maven/manifest.mf | 2 +-
.../netbeans/modules/maven/event/components.xml | 41 +-
.../modules/maven/workspace/reader/components.xml | 39 +
maven/nbproject/project.properties | 2 +-
maven/nbproject/project.xml | 2 +
.../netbeans/modules/maven/ActionProviderImpl.java | 59 +-
.../modules/maven/MavenProjectPropsImpl.java | 87 +-
.../modules/maven/NbMavenProjectFactory.java | 5 +-
.../netbeans/modules/maven/NbMavenProjectImpl.java | 20 +
.../netbeans/modules/maven/TextValueCompleter.java | 35 +-
.../modules/maven/actions/ViewJavadocAction.java | 4 +-
.../modules/maven/actions/scm/CheckoutAction.java | 4 +-
.../modules/maven/actions/scm/ui/CheckoutUI.java | 4 +-
.../maven/actions/usages/FindArtifactUsages.java | 4 +-
.../modules/maven/actions/usages/ui/UsagesUI.java | 4 +-
.../modules/maven/api/CommonArtifactActions.java | 4 +-
.../org/netbeans/modules/maven/api/ModelUtils.java | 4 +-
.../netbeans/modules/maven/api/NbMavenProject.java | 11 +-
.../modules/maven/api/ProjectProfileHandler.java | 4 +-
.../modules/maven/api/output/OutputUtils.java | 49 +-
.../modules/maven/classpath/BootClassPathImpl.java | 5 +-
.../maven/classpath/ClassPathProviderImpl.java | 8 +
.../modules/maven/configurations/Bundle.properties | 37 +
.../configurations/ProjectProfileHandlerImpl.java | 4 +-
.../modules/maven/customizer/ActionMappings.form | 3 -
.../modules/maven/customizer/ActionMappings.java | 3 +-
.../modules/maven/customizer/Bundle.properties | 1 +
.../modules/maven/customizer/CompilePanel.java | 4 +-
.../modules/maven/customizer/RunJarPanel.java | 2 +
.../maven/customizer/RunJarPanelProvider.java | 11 +-
.../modules/maven/customizer/SourcesPanel.java | 2 +-
.../modules/maven/debug/DebuggerChecker.java | 14 +-
.../netbeans/modules/maven/debug/JPDAStart.java | 4 +-
.../modules/maven/dependencies/Bundle.properties | 37 +
.../maven/dependencies/ExcludeDependencyPanel.java | 21 +-
.../maven/execute/MavenCommandLineExecutor.java | 22 +-
.../modules/maven/execute/ModelRunConfig.java | 131 +-
.../maven/execute/model/NetbeansActionProfile.java | 9 +-
maven/src/org/netbeans/modules/maven/nbactions.xml | 39 +
.../maven/newproject/ExistingDescription.html | 39 +
.../modules/maven/newproject/MavenDescription.html | 39 +
.../maven/newproject/idenative/pom-root.html | 39 +
.../maven/newproject/idenative/quickstart.html | 39 +
.../netbeans/modules/maven/newproject/javafx.html | 39 +
.../modules/maven/newproject/pom-root.html | 39 +
.../modules/maven/newproject/quickstart.html | 39 +
.../modules/maven/nodes/BootCPNodeFactory.java | 17 +-
.../modules/maven/nodes/DependencyNode.java | 5 +-
.../modules/maven/nodes/MavenProjectNode.java | 24 +-
.../maven/output/GlobalOutputProcessor.java | 2 +-
.../maven/output/JavaOutputListenerProvider.java | 18 +-
.../queries/RepositoryForBinaryQueryImpl.java | 82 +-
.../maven/queries/RepositoryMavenCPProvider.java | 11 +-
.../modules/maven/runjar/RunJarPrereqChecker.java | 4 +-
maven/src/org/netbeans/modules/maven/settings.xml | 47 +-
.../maven/classpath/ClassPathProviderImplTest.java | 54 +-
.../modules/maven/execute/ModelRunConfigTest.java | 301 +
.../modules/maven/output/MEVENIDE637Test.java | 4 +-
mercurial.remote/build.xml | 39 +
mercurial.remote/nbproject/project.properties | 39 +-
mercurial.remote/nbproject/project.xml | 41 +-
.../modules/mercurial/remote/Mercurial.java | 6 +-
.../mercurial/remote/MercurialAnnotator.java | 56 +-
.../modules/mercurial/remote/MercurialVCS.java | 8 +-
.../modules/mercurial/remote/WorkingCopyInfo.java | 6 +-
.../mercurial/remote/ui/actions/Bundle.properties | 37 +
.../remote/ui/clone/CloneExternalAction.java | 15 +-
.../remote/ui/repository/RepositoryPanel.java | 18 +-
.../remote/ui/status/HgVersioningTopComponent.java | 4 +-
.../mercurial/remote/ui/status/package.html | 39 +
.../remote/ui/update/ResolveConflictsExecutor.java | 4 +-
.../CloneDestinationDirectoryWizardPanel.java | 7 +-
.../remote/ui/wizards/ClonePathsWizardPanel.java | 7 +-
.../ui/wizards/CloneRepositoryWizardPanel.java | 10 +-
.../remote/ui/wizards/CloneWizardAction.java | 17 +-
.../mercurial/remote/DeleteInterceptorTest.java | 4 +-
.../mercurial/remote/RemoteVersioningTestBase.java | 1 +
mercurial/nbproject/project.properties | 39 +-
mercurial/nbproject/project.xml | 39 +
.../org/netbeans/modules/mercurial/Mercurial.java | 2 +-
.../modules/mercurial/MercurialInterceptor.java | 9 +-
.../modules/mercurial/config/Scrambler.java | 12 +-
.../mercurial/ui/annotate/AnnotateAction.java | 5 +
.../mercurial/ui/annotate/AnnotateLine.java | 48 +
.../mercurial/ui/annotate/AnnotationBar.java | 16 +-
.../modules/mercurial/ui/log/Bundle.properties | 2 +-
.../modules/mercurial/ui/status/package.html | 39 +
.../netbeans/modules/mercurial/util/HgCommand.java | 3 +
mobility.cldcplatform/manifest.mf | 2 +-
.../cldcplatform/customwizard/debuggerinfo.html | 39 +
.../cldcplatform/customwizard/executioninfo.html | 39 +
.../cldcplatform/customwizard/preverifyinfo.html | 39 +
.../resources/templates/j2meplatform.xml | 2 +-
.../templates/j2meplatformdefinition.html | 39 +
.../templates/kjavaplatformdefinition.html | 39 +
mobility.databindingme/manifest.mf | 2 +-
.../mobility/databindingme/resources/layer.xml | 2 +-
mobility.end2end/manifest.mf | 2 +-
.../MIDP/E2EWebApplication_wsclient.html | 40 +-
.../modules/mobility/end2end/resources/layer.xml | 2 +-
mobility.jsr172/manifest.mf | 2 +-
.../modules/e2e/wsdl/wsdl2java/Bundle.properties | 39 +-
.../descriptions/MIDP/JSR172_wsclient.html | 75 +-
.../modules/mobility/jsr172/resources/layer.xml | 2 +-
mobility.licensing/manifest.mf | 2 +-
mobility.licensing/nbproject/project.properties | 37 +
mobility.licensing/nbproject/project.xml | 39 +
mobility.project.ant/build.xml | 39 +
mobility.project.ant/manifest.mf | 2 +-
mobility.project.ant/nbproject/project.properties | 37 +
mobility.project.ant/nbproject/project.xml | 39 +
.../modules/mobility/project/Bundle.properties | 37 +
mylyn.util/build.xml | 39 +
mylyn.util/manifest.mf | 2 +-
mylyn.util/nbproject/project.properties | 37 +
mylyn.util/nbproject/project.xml | 39 +
.../netbeans/modules/mylyn/util/MylynSupport.java | 2 +-
.../netbeans/modules/mylyn/util/MylynUtils.java | 1 -
.../org/netbeans/modules/mylyn/util/WikiUtils.java | 43 +-
.../modules/mylyn/util/resources/layer.xml | 39 +
nashorn.execution/manifest.mf | 2 +-
.../antsrc/org/netbeans/nbbuild/CustomJavac.java | 18 +
nbbuild/antsrc/org/netbeans/nbbuild/JNLP-6.0.dtd | 55 +-
nbbuild/antsrc/org/netbeans/nbbuild/LocFiles.java | 9 +-
.../org/netbeans/nbbuild/ParseProjectXml.java | 11 +-
.../org/netbeans/nbbuild/UpdateTracking.java | 2 +-
.../org/netbeans/nbbuild/extlibs/package.html | 39 +
nbbuild/antsrc/org/netbeans/nbbuild/package.html | 16 +-
nbbuild/build.properties | 9 +-
nbbuild/build.xml | 17 +-
nbbuild/cluster.properties | 194 +-
nbbuild/external/binaries-list | 1 +
nbbuild/external/findbugs/build.xml | 23 +-
nbbuild/hudson/core-main | 2 +-
nbbuild/javadoctools/apichanges.dtd | 2 +-
nbbuild/javadoctools/arch-empty.xml | 39 +
nbbuild/javadoctools/export2apichanges.xsl | 7 +-
nbbuild/javadoctools/export2html.xsl | 7 +-
nbbuild/javadoctools/javadoc-generic.css | 39 +
nbbuild/javadoctools/javadoc.css | 39 +
nbbuild/javadoctools/links.xml | 3 +
nbbuild/javadoctools/nb-docs-stability.css | 39 +
nbbuild/javadoctools/nb-docs.css | 39 +
nbbuild/javadoctools/netbeans-lite.css | 39 +
nbbuild/javadoctools/netbeans.css | 39 +
nbbuild/javadoctools/properties.xml | 3 +
nbbuild/javadoctools/prose.css | 39 +
nbbuild/javadoctools/replaces.xml | 3 +
nbbuild/jdk.xml | 4 +-
nbbuild/misc/hints-settings.xml | 41 +-
nbbuild/nbproject/genfiles.properties | 5 +
nbbuild/nbproject/jdk.xml | 157 +
nbbuild/nbproject/nbjdk.properties | 1 +
nbbuild/nbproject/nbjdk.xml | 28 +
nbbuild/nbproject/project.xml | 10 +
nbbuild/newbuild/build-all-components.sh | 25 +-
nbbuild/newbuild/build-mac-nbi.sh | 39 +
nbbuild/newbuild/files-info.sh | 4 +-
nbbuild/newbuild/init.sh | 6 +-
nbbuild/newbuild/push-remote-java-help.sh | 38 +
nbbuild/newbuild/trunk-nightly.sh | 8 +-
nbbuild/newbuild/upload-bits.sh | 4 +-
nbbuild/templates/common.xml | 7 +-
nbbuild/templates/projectized.xml | 28 +-
.../cleaner/windows/nbproject/Makefile-Debug.mk | 65 -
.../cleaner/windows/nbproject/Makefile-Release.mk | 63 -
.../cleaner/windows/nbproject/Makefile-impl.mk | 113 -
.../jnilib/linux/nbproject/Makefile-Debug.mk | 68 -
.../jnilib/linux/nbproject/Makefile-Debug_amd64.mk | 98 -
.../jnilib/linux/nbproject/Makefile-Release.mk | 68 -
.../native/jnilib/linux/nbproject/Makefile-impl.mk | 113 -
.../jnilib/macosx/nbproject/Makefile-Debug.mk | 68 -
.../jnilib/macosx/nbproject/Makefile-Release.mk | 68 -
.../jnilib/macosx/nbproject/Makefile-impl.mk | 111 -
.../jnilib/macosx/nbproject/configurations.xml | 39 +
.../solaris-sparc/nbproject/Makefile-Debug.mk | 72 -
.../solaris-sparc/nbproject/Makefile-Debug_gnu.mk | 102 -
.../solaris-sparc/nbproject/Makefile-Debug_x64.mk | 102 -
.../nbproject/Makefile-Debug_x64_gnu.mk | 102 -
.../solaris-sparc/nbproject/Makefile-Release.mk | 72 -
.../solaris-sparc/nbproject/Makefile-impl.mk | 113 -
.../jnilib/solaris-x86/nbproject/Makefile-Debug.mk | 72 -
.../solaris-x86/nbproject/Makefile-Debug_gnu.mk | 102 -
.../solaris-x86/nbproject/Makefile-Debug_x64.mk | 102 -
.../nbproject/Makefile-Debug_x64_gnu.mk | 102 -
.../solaris-x86/nbproject/Makefile-Release.mk | 72 -
.../jnilib/solaris-x86/nbproject/Makefile-impl.mk | 113 -
.../windows/nbproject/Makefile-Default-32bit.mk | 110 -
.../windows/nbproject/Makefile-Default-64bit.mk | 110 -
.../jnilib/windows/nbproject/Makefile-impl.mk | 113 -
.../native/launcher/unix/i18n/launcher.properties | 2 +-
nbi/engine/native/launcher/unix/src/launcher.sh | 2 +-
.../launcher/windows/i18n/launcher.properties | 2 +-
.../launcher/windows/nbproject/Makefile-Debug.mk | 132 -
.../launcher/windows/nbproject/Makefile-Release.mk | 132 -
.../launcher/windows/nbproject/Makefile-impl.mk | 133 -
.../windows/nbproject/Makefile-variables.mk | 35 -
.../launcher/windows/nbproject/Package-Debug.bash | 75 -
.../windows/nbproject/Package-Release.bash | 75 -
.../launcher/windows/nbproject/configurations.xml | 39 +
.../native/launcher/windows/resources/res.rc | 42 +
nbi/engine/nbproject/genfiles.properties | 51 +-
nbi/engine/nbproject/project.properties | 6 +-
.../org/netbeans/installer/utils/FileUtils.java | 50 +-
.../installer/utils/applications/JavaUtils.java | 6 +-
.../utils/system/launchers/impl/ExeLauncher.java | 2 +-
nbi/infra/build/jvm/conf/common.properties | 8 +-
.../server/modules/war-admin/web/css/main.css | 66 +-
nbjunit/apichanges.xml | 32 +-
nbjunit/arch.xml | 2 +-
nbjunit/manifest.mf | 2 +-
nbjunit/nbproject/org-netbeans-modules-nbjunit.sig | 47 +-
nbjunit/src/META-INF/upgrade/NbModuleSuite.hint | 39 +
net.java.html.boot.fx/build.xml | 39 +
net.java.html.boot.fx/external/binaries-list | 1 +
net.java.html.boot.fx/nbproject/project.properties | 39 +-
net.java.html.boot.fx/nbproject/project.xml | 41 +-
net.java.html.boot.script/build.xml | 39 +
net.java.html.boot.script/external/binaries-list | 1 +
.../nbproject/project.properties | 39 +-
net.java.html.boot.script/nbproject/project.xml | 41 +-
net.java.html.boot/build.xml | 39 +
net.java.html.boot/external/binaries-list | 1 +
net.java.html.boot/nbproject/project.properties | 39 +-
net.java.html.boot/nbproject/project.xml | 41 +-
net.java.html.geo/build.xml | 39 +
net.java.html.geo/external/binaries-list | 1 +
net.java.html.geo/nbproject/project.properties | 39 +-
net.java.html.geo/nbproject/project.xml | 41 +-
net.java.html.json/build.xml | 39 +
net.java.html.json/external/binaries-list | 1 +
net.java.html.json/nbproject/project.properties | 39 +-
net.java.html.json/nbproject/project.xml | 41 +-
net.java.html.sound/build.xml | 39 +
net.java.html.sound/external/binaries-list | 1 +
net.java.html.sound/nbproject/project.properties | 39 +-
net.java.html.sound/nbproject/project.xml | 41 +-
net.java.html/build.xml | 40 +-
net.java.html/external/binaries-list | 1 +
net.java.html/nbproject/project.properties | 39 +-
net.java.html/nbproject/project.xml | 41 +-
netbinox/build.xml | 2 +-
netbinox/external/binaries-list | 1 +
netbinox/manifest.mf | 2 +-
netbinox/nbproject/project.xml | 39 +
.../netbeans/modules/netbinox/Bundle.properties | 2 +-
.../netbeans/modules/netbinox/EmptyBundleFile.java | 2 +-
.../netbeans/modules/netbinox/JarBundleFile.java | 4 +-
.../org/netbeans/modules/netbinox/Netbinox.java | 12 +-
.../netbeans/modules/netbinox/NetbinoxFactory.java | 2 +-
.../netbeans/modules/netbinox/NetbinoxHooks.java | 2 +-
.../netbeans/modules/netbinox/NetbinoxLoader.java | 2 +-
.../modules/netbinox/NetigsoBundleFile.java | 2 +-
.../test/unit/src/org/netbeans/MockEvents.java | 2 +-
.../unit/src/org/netbeans/MockModuleInstaller.java | 2 +-
netbinox/test/unit/src/org/netbeans/SetupHid.java | 2 +-
.../modules/netbinox/BundleResourceTest.java | 2 +-
.../modules/netbinox/BundleURLConnectionTest.java | 4 +-
.../netbinox/CachingAndExternalPathsTest.java | 2 +-
.../netbinox/CachingAndExternalURLTest.java | 2 +-
.../netbinox/CachingPreventsFileTouchesTest.java | 2 +-
.../modules/netbinox/ContextClassLoaderTest.java | 4 +-
.../modules/netbinox/CountingSecurityManager.java | 2 +-
.../modules/netbinox/EnabledAutoloadTest.java | 2 +-
.../modules/netbinox/ExternalDirectoryTest.java | 4 +-
.../netbeans/modules/netbinox/ExternalJARTest.java | 4 +-
.../modules/netbinox/HookConfiguratorTest.java | 4 +-
.../netbeans/modules/netbinox/IntegrationTest.java | 2 +-
.../netbeans/modules/netbinox/LoadedBytesTest.java | 6 +-
.../modules/netbinox/LogReaderServiceTest.java | 4 +-
.../netbinox/NetbinoxBuddyClassLoaderTest.java | 2 +-
.../modules/netbinox/NetbinoxLibraryTest.java | 4 +-
.../netbinox/NetbinoxUseSystemPropertiesTest.java | 6 +-
.../modules/netbinox/NetigsoActivationTest.java | 4 +-
.../netbinox/NetigsoActivationWithAllDirsTest.java | 2 +-
.../modules/netbinox/NetigsoDashnamesTest.java | 2 +-
.../modules/netbinox/NetigsoHasSAXParserTest.java | 6 +-
.../org/netbeans/modules/netbinox/NetigsoHid.java | 4 +-
.../modules/netbinox/NetigsoLayerTest.java | 2 +-
.../modules/netbinox/NetigsoLoggingTest.java | 2 +-
.../netbinox/NetigsoOSGiActivationVisibleTest.java | 4 +-
.../modules/netbinox/NetigsoOSGiCanDependTest.java | 2 +-
.../netbinox/NetigsoOSGiCanRequestTest.java | 2 +-
.../org/netbeans/modules/netbinox/NetigsoTest.java | 2 +-
.../modules/netbinox/NetigsoUsesSwingTest.java | 2 +-
netserver/build.xml | 39 +
netserver/manifest.mf | 2 +-
netserver/nbproject/project.properties | 37 +
netserver/nbproject/project.xml | 39 +
.../netbeans/modules/netserver/Bundle.properties | 37 +
notifications/build.xml | 39 +
notifications/manifest.mf | 2 +-
notifications/nbproject/project.properties | 37 +
notifications/nbproject/project.xml | 39 +
.../modules/notifications/Bundle.properties | 37 +
o.apache.commons.codec/build.xml | 39 +
.../external/binaries-list | 0
o.apache.commons.codec/manifest.mf | 2 +-
.../nbproject/project.properties | 37 +
o.apache.commons.codec/nbproject/project.xml | 39 +
o.apache.commons.httpclient/build.xml | 39 +
.../external/binaries-list | 0
o.apache.commons.httpclient/manifest.mf | 2 +-
.../nbproject/project.properties | 37 +
o.apache.commons.httpclient/nbproject/project.xml | 39 +
o.apache.commons.io/build.xml | 39 +
.../external/binaries-list | 0
o.apache.commons.io/nbproject/project.properties | 37 +
o.apache.commons.io/nbproject/project.xml | 39 +
o.apache.commons.lang/build.xml | 52 +-
o.apache.commons.lang/external/binaries-list | 1 +
.../external/commons-lang-2.4-license.txt | 208 -
...he.commons.lang-2.6.0.v201404270220-license.txt | 208 +
o.apache.commons.lang/nbproject/project.properties | 40 +-
o.apache.commons.lang/nbproject/project.xml | 43 +-
o.apache.commons.logging/build.xml | 39 +
.../external/binaries-list | 0
.../nbproject/project.properties | 37 +
o.apache.commons.logging/nbproject/project.xml | 39 +
o.apache.tools.ant.module/arch.xml | 2 +-
o.apache.tools.ant.module/build.xml | 6 +-
.../external/ant-1.9.4-license.txt | 209 -
.../external/ant-1.9.7-license.txt | 209 +
o.apache.tools.ant.module/external/binaries-list | 3 +
o.apache.tools.ant.module/external/build.xml | 2 +-
.../nbproject/org-apache-tools-ant-module.sig | 4 +-
.../nbproject/project.properties | 4 +-
o.apache.tools.ant.module/release/VERSION.txt | 2 +-
.../org/apache/tools/ant/module/api/package.html | 16 +-
.../tools/ant/module/api/support/package.html | 16 +-
.../apache/tools/ant/module/bridge/AntBridge.java | 199 +-
.../module/resources/CustomTaskDescription.html | 16 +-
.../ant/module/resources/ProjectDescription.html | 16 +-
.../tools/ant/module/run/LastTargetExecuted.java | 4 +
.../org/apache/tools/ant/module/spi/package.html | 16 +-
o.apache.ws.commons.util/build.xml | 39 +
.../external/binaries-list | 0
.../nbproject/project.properties | 37 +
o.apache.ws.commons.util/nbproject/project.xml | 39 +
.../external/binaries-list | 0
o.apache.xml.resolver/nbproject/project.properties | 2 +-
o.apache.xmlrpc/build.xml | 39 +
.../external/binaries-list | 0
o.apache.xmlrpc/nbproject/project.properties | 37 +
o.apache.xmlrpc/nbproject/project.xml | 41 +-
o.eclipse.core.contenttype/build.xml | 39 +
o.eclipse.core.contenttype/external/binaries-list | 1 +
.../nbproject/project.properties | 37 +
o.eclipse.core.contenttype/nbproject/project.xml | 39 +
o.eclipse.core.jobs/build.xml | 39 +
o.eclipse.core.jobs/external/binaries-list | 1 +
o.eclipse.core.jobs/nbproject/project.properties | 37 +
o.eclipse.core.jobs/nbproject/project.xml | 41 +-
o.eclipse.core.net/build.xml | 39 +
o.eclipse.core.net/external/binaries-list | 1 +
o.eclipse.core.net/nbproject/project.properties | 37 +
o.eclipse.core.net/nbproject/project.xml | 39 +
.../build.xml | 39 +
.../external/binaries-list | 1 +
.../nbproject/project.properties | 37 +
.../nbproject/project.xml | 39 +
o.eclipse.core.runtime/build.xml | 39 +
o.eclipse.core.runtime/external/binaries-list | 1 +
.../nbproject/project.properties | 37 +
o.eclipse.core.runtime/nbproject/project.xml | 39 +
o.eclipse.equinox.app/build.xml | 39 +
o.eclipse.equinox.app/external/binaries-list | 1 +
o.eclipse.equinox.app/nbproject/project.properties | 37 +
o.eclipse.equinox.app/nbproject/project.xml | 39 +
o.eclipse.equinox.common/build.xml | 39 +
o.eclipse.equinox.common/external/binaries-list | 1 +
.../nbproject/project.properties | 37 +
o.eclipse.equinox.common/nbproject/project.xml | 39 +
o.eclipse.equinox.preferences/build.xml | 39 +
.../external/binaries-list | 1 +
.../nbproject/project.properties | 37 +
.../nbproject/project.xml | 43 +-
o.eclipse.equinox.registry/build.xml | 39 +
o.eclipse.equinox.registry/external/binaries-list | 1 +
.../nbproject/project.properties | 37 +
o.eclipse.equinox.registry/nbproject/project.xml | 39 +
o.eclipse.equinox.security/build.xml | 39 +
o.eclipse.equinox.security/external/binaries-list | 1 +
.../nbproject/project.properties | 37 +
o.eclipse.equinox.security/nbproject/project.xml | 43 +-
o.eclipse.jgit.java7/build.xml | 39 +
o.eclipse.jgit.java7/external/binaries-list | 1 +
o.eclipse.jgit.java7/nbproject/project.properties | 37 +
o.eclipse.jgit.java7/nbproject/project.xml | 39 +
o.eclipse.jgit/build.xml | 39 +
o.eclipse.jgit/external/binaries-list | 1 +
o.eclipse.jgit/nbproject/project.properties | 37 +
o.eclipse.jgit/nbproject/project.xml | 46 +-
o.eclipse.mylyn.bugzilla.core/build.xml | 39 +
.../external/binaries-list | 1 +
...bugzilla.core-3.17.0.v20150828-2026-license.txt | 72 +
...bugzilla.core_3.14.2.v20150217-2341-license.txt | 72 -
.../nbproject/project.properties | 39 +-
.../nbproject/project.xml | 41 +-
o.eclipse.mylyn.commons.core/build.xml | 39 +
.../external/binaries-list | 1 +
....commons.core-3.17.0.v20150625-2042-license.txt | 72 +
...n.commons.core_3.10.0.20130926-1710-license.txt | 72 -
.../nbproject/project.properties | 39 +-
o.eclipse.mylyn.commons.core/nbproject/project.xml | 41 +-
o.eclipse.mylyn.commons.net/build.xml | 39 +
o.eclipse.mylyn.commons.net/external/binaries-list | 1 +
...n.commons.net-3.17.0.v20150706-2057-license.txt | 72 +
...yn.commons.net_3.10.0.20131018-1210-license.txt | 72 -
.../nbproject/project.properties | 39 +-
o.eclipse.mylyn.commons.net/nbproject/project.xml | 41 +-
.../build.xml | 39 +
.../external/binaries-list | 1 +
...ositories.core-1.9.0.v20150625-2042-license.txt | 72 +
...positories.core_1.2.0.20130704-2116-license.txt | 72 -
.../nbproject/project.properties | 39 +-
.../nbproject/project.xml | 41 +-
o.eclipse.mylyn.commons.xmlrpc/build.xml | 39 +
.../external/binaries-list | 1 +
...ommons.xmlrpc-3.17.0.v20150625-2042-license.txt | 72 +
...commons.xmlrpc_3.10.0.20130704-2116-license.txt | 72 -
.../nbproject/project.properties | 39 +-
.../nbproject/project.xml | 41 +-
o.eclipse.mylyn.tasks.core/build.xml | 39 +
o.eclipse.mylyn.tasks.core/external/binaries-list | 1 +
...n.tasks.core-3.17.0.v20150828-2026-license.txt} | 0
.../nbproject/project.properties | 39 +-
o.eclipse.mylyn.tasks.core/nbproject/project.xml | 41 +-
o.eclipse.mylyn.wikitext.confluence.core/build.xml | 39 +
.../external/binaries-list | 1 +
...onfluence.core-2.6.0.v20150901-2143-license.txt | 94 +
...confluence.core_1.9.0.20131007-2055-license.txt | 94 -
.../nbproject/project.properties | 39 +-
.../nbproject/project.xml | 41 +-
o.eclipse.mylyn.wikitext.core/build.xml | 39 +
.../external/binaries-list | 1 +
....wikitext.core-2.6.0.v20150901-2143-license.txt | 94 +
...n.wikitext.core_1.9.0.20131007-2055-license.txt | 94 -
.../nbproject/project.properties | 39 +-
.../nbproject/project.xml | 43 +-
o.eclipse.mylyn.wikitext.markdown.core/build.xml | 44 +
.../external/binaries-list | 1 +
....markdown.core-2.6.0.v20150901-2143-license.txt | 94 +
o.eclipse.mylyn.wikitext.markdown.core/manifest.mf | 1 +
.../nbproject/project.properties | 40 +
.../nbproject/project.xml | 54 +
o.eclipse.mylyn.wikitext.textile.core/build.xml | 39 +
.../external/binaries-list | 1 +
...t.textile.core-2.6.0.v20150901-2143-license.txt | 94 +
...xt.textile.core_1.9.0.20131007-2055-license.txt | 94 -
.../nbproject/project.properties | 39 +-
.../nbproject/project.xml | 41 +-
.../external/binaries-list | 0
.../nbproject/project.properties | 6 +-
.../external/binaries-list | 0
o.jdesktop.layout/manifest.mf | 2 +-
o.jdesktop.layout/nbproject/project.properties | 4 +-
o.n.bootstrap/launcher/unix/nbexec | 36 +-
o.n.bootstrap/launcher/windows/Makefile | 56 +-
o.n.bootstrap/launcher/windows/argnames.h | 2 +-
o.n.bootstrap/launcher/windows/jvmlauncher.cpp | 45 +-
o.n.bootstrap/launcher/windows/jvmlauncher.h | 7 +-
o.n.bootstrap/launcher/windows/nbexec.cpp | 5 +-
o.n.bootstrap/launcher/windows/nbexecexe.cpp | 5 +-
o.n.bootstrap/launcher/windows/nbexecloader.h | 2 +-
.../launcher/windows/nbproject/Makefile-impl.mk | 133 -
.../launcher/windows/nbproject/Makefile-nbexec.mk | 120 -
.../windows/nbproject/Makefile-nbexec64.mk | 120 -
.../windows/nbproject/Makefile-variables.mk | 35 -
.../launcher/windows/nbproject/Package-nbexec.bash | 76 -
.../windows/nbproject/Package-nbexec64.bash | 76 -
.../launcher/windows/nbproject/configurations.xml | 54 +-
.../launcher/windows/nbproject/project.properties | 37 +
.../launcher/windows/nbproject/project.xml | 39 +
.../launcher/windows/platformlauncher.cpp | 30 +-
o.n.bootstrap/launcher/windows/platformlauncher.h | 7 +-
o.n.bootstrap/launcher/windows/utilsfuncs.cpp | 6 +-
o.n.bootstrap/launcher/windows/utilsfuncs.h | 5 +-
o.n.bootstrap/launcher/windows/version.h | 12 +-
o.n.bootstrap/manifest.mf | 2 +-
o.n.bootstrap/nbproject/project.properties | 10 +-
o.n.bootstrap/src/org/netbeans/CLIHandler.java | 22 +-
o.n.bootstrap/src/org/netbeans/ModuleManager.java | 29 +-
o.n.bootstrap/src/org/netbeans/PatchByteCode.java | 5 +
.../src/org/netbeans/ProxyClassLoader.java | 5 +-
.../src/org/netbeans/TopSecurityManager.java | 11 +-
o.n.core/manifest.mf | 2 +-
.../netbeans/beaninfo/editors/package-info.java | 39 +
.../src/org/netbeans/beaninfo/package-info.java | 39 +
o.n.core/src/org/netbeans/core/NotifyExcPanel.java | 13 +-
o.n.html.ko4j/build.xml | 39 +
o.n.html.ko4j/external/binaries-list | 1 +
o.n.html.ko4j/nbproject/project.properties | 39 +-
o.n.html.ko4j/nbproject/project.xml | 41 +-
o.n.html.xhr4j/build.xml | 44 +
o.n.html.xhr4j/external/binaries-list | 1 +
o.n.html.xhr4j/manifest.mf | 1 +
o.n.html.xhr4j/nbproject/project.properties | 40 +
o.n.html.xhr4j/nbproject/project.xml | 54 +
o.n.insane/nbproject/project.properties | 2 +-
o.n.swing.dirchooser/build.xml | 39 +
o.n.swing.dirchooser/manifest.mf | 2 +-
o.n.swing.dirchooser/nbproject/project.properties | 37 +
o.n.swing.dirchooser/nbproject/project.xml | 39 +
.../netbeans/swing/dirchooser/Bundle.properties | 37 +
.../swing/dirchooser/DirectoryCellEditor.java | 2 +
.../swing/dirchooser/DirectoryChooserUI.java | 2 +
.../netbeans/swing/dirchooser/DirectoryNode.java | 2 +
.../swing/dirchooser/FileCompletionPopup.java | 2 +
.../netbeans/swing/dirchooser/InputBlocker.java | 2 +
.../src/org/netbeans/swing/dirchooser/Module.java | 2 +
o.n.swing.outline/build.xml | 39 +
o.n.swing.outline/manifest.mf | 2 +-
.../nbproject/org-netbeans-swing-outline.sig | 12 +-
o.n.swing.outline/nbproject/project.properties | 37 +
o.n.swing.outline/nbproject/project.xml | 39 +
.../src/org/netbeans/swing/etable/ETable.java | 33 +-
.../src/org/netbeans/swing/outline/Outline.java | 6 +-
o.n.swing.plaf/manifest.mf | 2 +-
o.n.swing.plaf/nbproject/project.properties | 2 +-
.../src/org/netbeans/swing/plaf/Startup.java | 106 +-
.../swing/plaf/metal/StatusLineBorder.java | 4 -
.../swing/plaf/nimbus/StatusLineBorder.java | 4 -
.../src/org/netbeans/swing/plaf/package.html | 18 +-
.../swing/plaf/winclassic/StatusLineBorder.java | 4 -
.../swing/plaf/windows8/StatusLineBorder.java | 4 -
.../swing/plaf/winvista/StatusLineBorder.java | 4 -
.../swing/plaf/winxp/StatusLineBorder.java | 4 -
o.n.swing.tabcontrol/manifest.mf | 2 +-
.../nbproject/org-netbeans-swing-tabcontrol.sig | 7 +-
.../src/org/netbeans/swing/tabcontrol/package.html | 16 +-
.../plaf/BasicScrollingTabDisplayerUI.java | 3 +
.../plaf/BasicSlidingTabDisplayerUI.java | 4 -
o.n.upgrader/manifest.mf | 2 +-
.../src/org/netbeans/upgrade/AutoUpgrade.java | 2 +-
.../AntSettings-null-ant-home.settings | 39 +
.../upgrade/systemoptions/formsettings.settings | 39 +
.../upgrade/systemoptions/javaSettings.settings | 39 +
...rg-apache-tools-ant-module-AntSettings.settings | 39 +
.../org-netbeans-core-IDESettings.settings | 39 +
...modules-apisupport-project-ui-ModuleUI.settings | 39 +
...ans-modules-db-explorer-DatabaseOption.settings | 39 +
...rg-netbeans-modules-derby-DerbyOptions.settings | 39 +
...-modules-httpserver-HttpServerSettings.settings | 39 +
.../org-netbeans-modules-i18n-I18nOptions.settings | 39 +
...dules-java-project-packageViewSettings.settings | 39 +
...javadoc-settings-DocumentationSettings.settings | 39 +
...g-netbeans-modules-junit-JUnitSettings.settings | 39 +
...ans-modules-project-ui-OpenProjectList.settings | 39 +
...es-subversion-settings-SvnModuleConfig.settings | 39 +
...eans-modules-tasklist-docscan-Settings.settings | 39 +
...g-system-cvss-settings-CvsModuleConfig.settings | 39 +
...modules-xml-core-settings-CoreSettings.settings | 39 +
o.openidex.util/apichanges.xml | 2 +-
o.openidex.util/manifest.mf | 2 +-
openide.actions/manifest.mf | 2 +-
openide.actions/nbproject/org-openide-actions.sig | 2 +-
.../src/org/openide/actions/UndoRedoAction.java | 9 +-
.../src/org/openide/actions/doc-files/api.html | 44 +-
.../actions/doc-files/toolbarsAdvanced.html | 22 +-
.../src/org/openide/actions/package.html | 16 +-
.../org/openide/actions/UndoRedoActionTest.java | 9 +-
openide.awt/apichanges.xml | 22 +-
openide.awt/arch.xml | 10 +-
openide.awt/manifest.mf | 2 +-
openide.awt/nbproject/org-openide-awt.sig | 7 +-
.../src/org/netbeans/api/actions/package.html | 77 +-
.../modules/openide/awt/ActionProcessor.java | 9 +-
.../src/org/netbeans/spi/actions/package.html | 75 +-
openide.awt/src/org/openide/awt/ActionID.java | 9 +-
.../src/org/openide/awt/ActionReference.java | 9 +-
.../src/org/openide/awt/ActionReferences.java | 9 +-
.../src/org/openide/awt/ActionRegistration.java | 9 +-
.../src/org/openide/awt/CloseButtonFactory.java | 22 +-
.../src/org/openide/awt/HtmlRendererImpl.java | 9 +-
openide.awt/src/org/openide/awt/Mnemonics.java | 2 +
.../src/org/openide/awt/Mnemonics.properties | 4 +-
openide.awt/src/org/openide/awt/QuickSearch.java | 3 +-
.../src/org/openide/awt/ToolbarWithOverflow.java | 3 +-
openide.awt/src/org/openide/awt/package.html | 16 +-
.../modules/openide/awt/ActionProcessorTest.java | 9 +-
.../unit/src/org/openide/awt/UndoRedoTest.java | 9 +-
openide.compat/manifest.mf | 2 +-
.../src/org/openide/explorer/FindHelpTest.java | 5 +
openide.dialogs/apichanges.xml | 2 +-
openide.dialogs/arch.xml | 4 +-
openide.dialogs/manifest.mf | 2 +-
openide.dialogs/nbproject/org-openide-dialogs.sig | 3 +-
.../src/org/openide/NotifyDescriptor.java | 10 +
.../org/openide/doc-files/wizard-guidebook.html | 95 +-
openide.dialogs/src/org/openide/package.html | 75 +-
openide.execution.compat8/build.xml | 39 +
openide.execution.compat8/manifest.mf | 2 +-
.../nbproject/project.properties | 37 +
openide.execution.compat8/nbproject/project.xml | 39 +
.../openide/execution/compat8/Bundle.properties | 37 +
openide.execution/manifest.mf | 2 +-
.../nbproject/org-openide-execution.sig | 2 +-
.../src/org/openide/execution/doc-files/api.html | 50 +-
.../src/org/openide/execution/package.html | 16 +-
openide.explorer/apichanges.xml | 12 +-
openide.explorer/arch.xml | 6 +-
openide.explorer/manifest.mf | 2 +-
.../nbproject/org-openide-explorer.sig | 15 +-
.../src/META-INF/upgrade/TreeView.hint | 39 +
.../openide/explorer/ExplorerActionsImpl.java | 47 +-
.../src/org/openide/explorer/doc-files/api.html | 58 +-
.../explorer/doc-files/customExplorerViews.html | 26 +-
.../explorer/doc-files/propertySheetReference.html | 18 +-
.../doc-files/propertyViewCustomization.html | 22 +-
.../src/org/openide/explorer/package.html | 16 +-
.../explorer/propertysheet/PropertyPanel.java | 10 +
.../propertysheet/editors/package-info.java | 39 +
.../openide/explorer/propertysheet/package.html | 75 +-
.../openide/explorer/view/CustomPopupFactory.java | 258 +
.../org/openide/explorer/view/NodeRenderer.java | 20 +
.../src/org/openide/explorer/view/TreeView.java | 16 -
.../org/openide/explorer/view/ViewTooltips.java | 64 +-
.../src/org/openide/explorer/view/package.html | 75 +-
.../explorer/propertysheet/NodeDeletionTest.java | 11 +-
.../PropertySheetQuickSearchEnablementTest.java | 11 +-
.../AnotherSetKeysBeforeEventsProcessedTest.java | 12 +-
.../openide/explorer/view/BeanTreeViewTest.java | 227 +-
.../openide/explorer/view/ContextTreeViewTest.java | 26 +-
.../explorer/view/TreeTableMemoryLeakTest.java | 39 +
.../explorer/view/TreeViewExpandAllTest.java | 12 +-
.../explorer/view/TreeViewQuickSearchTest.java | 111 +-
.../org/openide/explorer/view/TreeViewTest.java | 55 +-
openide.filesystems.compat8/arch.xml | 39 +
openide.filesystems.compat8/build.xml | 39 +
openide.filesystems.compat8/manifest.mf | 2 +-
.../nbproject/project.properties | 37 +
openide.filesystems.compat8/nbproject/project.xml | 39 +
.../openide/filesystems/compat8/Bundle.properties | 37 +
openide.filesystems.nb/build.xml | 39 +
openide.filesystems.nb/manifest.mf | 2 +-
.../nbproject/org-openide-filesystems-nb.sig | 152 +-
.../nbproject/project.properties | 37 +
openide.filesystems.nb/nbproject/project.xml | 39 +
.../org/openide/filesystems/nb/Bundle.properties | 37 +
openide.filesystems/apichanges.xml | 65 +-
openide.filesystems/arch.xml | 2 +-
openide.filesystems/manifest.mf | 2 +-
.../nbproject/org-openide-filesystems.sig | 63 +-
openide.filesystems/nbproject/project.properties | 2 +-
.../src/META-INF/upgrade/FileObject.hint | 39 +
.../src/META-INF/upgrade/FileUtil.hint | 59 +
.../src/META-INF/upgrade/Repository.hint | 39 +
.../filesystems/RecognizeInstanceFiles.java | 48 +-
.../src/org/openide/filesystems/FileUtil.java | 261 +-
.../filesystems/JarArchiveRootProvider.java | 214 +
.../src/org/openide/filesystems/attributes.dtd | 39 +
.../openide/filesystems/doc-files/HOWTO-MIME.html | 16 +-
.../src/org/openide/filesystems/doc-files/api.html | 56 +-
.../doc-files/resolverDocumentation.html | 75 +-
.../src/org/openide/filesystems/filesystem.dtd | 39 +
.../src/org/openide/filesystems/filesystem1_1.dtd | 39 +
.../src/org/openide/filesystems/filesystem1_2.dtd | 39 +
.../src/org/openide/filesystems/package.html | 16 +-
.../filesystems/spi/ArchiveRootProvider.java | 156 +
.../src/org/openide/filesystems/FileUtilTest.java | 2 +-
.../openide/filesystems/JarFileSystemHidden.java | 15 +-
.../filesystems/annotations/LayerBuilderTest.java | 5 +
openide.io/apichanges.xml | 14 +-
openide.io/manifest.mf | 2 +-
openide.io/nbproject/org-openide-io.sig | 2 +-
openide.io/src/org/openide/windows/package.html | 18 +-
openide.loaders/apichanges.xml | 31 +-
openide.loaders/arch.xml | 6 +-
openide.loaders/manifest.mf | 2 +-
openide.loaders/nbproject/org-openide-loaders.sig | 61 +-
.../upgrade/org.openide.loaders.DataObject.hint | 39 +
.../modules/openide/loaders/EntityCatalog.dtd | 39 +
.../org/netbeans/modules/openide/loaders/layer.xml | 39 +
.../netbeans/modules/openide/loaders/xmlinfo.dtd | 39 +
.../netbeans/modules/templates/Bundle.properties | 37 +
openide.loaders/src/org/openide/awt/MenuBar.java | 91 +-
.../src/org/openide/loaders/Bundle.properties | 1 +
.../src/org/openide/loaders/DataFolder.java | 15 +
.../src/org/openide/loaders/DataNode.java | 191 +-
.../src/org/openide/loaders/FolderChildren.java | 6 +-
.../src/org/openide/loaders/FolderComparator.java | 124 +
.../src/org/openide/loaders/FolderOrder.java | 19 +-
.../src/org/openide/loaders/SortModeEditor.java | 6 +-
.../src/org/openide/loaders/doc-files/api.html | 100 +-
.../src/org/openide/loaders/package.html | 16 +-
.../unit/src/META-INF/netbeans/translate.names | 37 +
.../unit/src/org/openide/awt/MenuBarCNFETest.java | 10 +-
.../test/unit/src/org/openide/awt/MenuBarTest.java | 162 +-
.../src/org/openide/loaders/Deadlock60917Test.java | 2 +
.../org/openide/loaders/FolderComparatorTest.java | 167 +
openide.modules/apichanges.xml | 8 +-
openide.modules/manifest.mf | 2 +-
openide.modules/nbproject/org-openide-modules.sig | 15 +-
.../src/org/openide/modules/doc-files/api.html | 42 +-
.../org/openide/modules/doc-files/classpath.html | 20 +-
.../openide/modules/doc-files/i18n-branding.html | 16 +-
.../src/org/openide/modules/package.html | 16 +-
openide.nodes/apichanges.xml | 30 +-
openide.nodes/arch.xml | 10 +-
openide.nodes/manifest.mf | 2 +-
openide.nodes/nbproject/org-openide-nodes.sig | 4 +-
.../META-INF/upgrade/org.openides.nodes.Node.hint | 39 +
openide.nodes/src/org/openide/cookies/package.html | 75 +-
.../src/org/openide/nodes/AsynchChildren.java | 6 +
.../src/org/openide/nodes/ChildFactory.java | 5 +
.../org/openide/nodes/DestroyableNodesFactory.java | 64 +
.../src/org/openide/nodes/EntrySupportLazy.java | 30 +-
.../src/org/openide/nodes/SynchChildren.java | 7 +
.../src/org/openide/nodes/doc-files/api.html | 124 +-
openide.nodes/src/org/openide/nodes/package.html | 16 +-
.../src/org/openide/util/actions/CookieAction.java | 2 +-
.../modules/openide/nodes/package-info.java | 39 +
.../src/org/openide/nodes/ChildFactoryTest.java | 83 +
openide.options/manifest.mf | 2 +-
.../src/org/openide/options/doc-files/api.html | 28 +-
.../src/org/openide/options/package.html | 16 +-
openide.text/apichanges.xml | 2 +-
openide.text/arch.xml | 4 +-
openide.text/manifest.mf | 2 +-
openide.text/nbproject/org-openide-text.sig | 20 +-
.../openide/text/CloneableEditorInitializer.java | 1 +
.../org/openide/text/CloneableEditorSupport.java | 20 +-
.../src/org/openide/text/DocumentLine.java | 61 +-
.../src/org/openide/text/DocumentOpenClose.java | 16 +-
.../src/org/openide/text/EditorSupportLineSet.java | 31 +-
openide.text/src/org/openide/text/Line.java | 58 +-
openide.text/src/org/openide/text/LineVector.java | 492 +
.../src/org/openide/text/QuietEditorPane.java | 29 +-
.../src/org/openide/text/doc-files/api.html | 124 +-
openide.text/src/org/openide/text/package.html | 16 +-
.../unit/src/org/openide/text/LineSetTest.java | 38 +
.../text/UndoRedoWrappingCooperationTest.java | 9 +-
openide.util.enumerations/manifest.mf | 2 +-
.../src/org/openide/util/enum/package.html | 75 +-
openide.util.lookup/apichanges.xml | 12 +-
openide.util.lookup/arch.xml | 26 +-
openide.util.lookup/build.xml | 39 +
openide.util.lookup/manifest.mf | 2 +-
.../nbproject/org-openide-util-lookup.sig | 5 +-
openide.util.lookup/nbproject/project.properties | 2 +-
openide.util.lookup/nbproject/project.xml | 39 +
.../META-INF/upgrade/org.openide.util.Lookup.hint | 39 +
.../src/org/openide/util/lookup/Bundle.properties | 37 +
.../openide/util/lookup/MetaInfServicesLookup.java | 2 +-
.../org/openide/util/lookup/doc-files/index.html | 91 +-
.../openide/util/lookup/doc-files/lookup-api.html | 77 +-
.../openide/util/lookup/doc-files/lookup-spi.html | 81 +-
.../implspi/AbstractServiceProviderProcessor.java | 5 +-
.../openide/util/lookup/implspi/ActiveQueue.java | 97 +-
.../src/org/openide/util/lookup/package.html | 16 +-
.../src/org/openide/util/package.html | 75 +-
.../modules/openide/util/ActiveQueueTest.java | 2 +
.../openide/util/lookup/LookupPermGenLeakTest.java | 2 +-
.../util/test/AnnotationProcessorTestUtils.java | 20 +-
openide.util.ui/apichanges.xml | 6 +-
openide.util.ui/arch.xml | 8 +-
openide.util.ui/manifest.mf | 2 +-
openide.util.ui/nbproject/org-openide-util-ui.sig | 1703 +
.../src/META-INF/upgrade/ImageUtilities.hint | 39 +
openide.util.ui/src/META-INF/upgrade/NbBundle.hint | 39 +
.../src/META-INF/upgrade/Utilities.hint | 39 +
.../modules/openide/util/NbBundleProcessor.java | 2 +-
openide.util.ui/src/org/openide/package.html | 75 +-
.../src/org/openide/util/ImageUtilities.java | 29 +-
.../openide/util/actions/CallableSystemAction.java | 2 +-
.../openide/util/actions/CallbackSystemAction.java | 2 +-
.../src/org/openide/util/actions/package.html | 75 +-
.../src/org/openide/util/datatransfer/package.html | 75 +-
.../src/org/openide/util/doc-files/api.html | 44 +-
.../src/org/openide/util/doc-files/logging.html | 69 +-
.../org/openide/util/doc-files/preferences.html | 41 +-
openide.util.ui/src/org/openide/util/package.html | 75 +-
openide.util/arch.xml | 49 +-
openide.util/build.xml | 39 +
openide.util/manifest.mf | 2 +-
openide.util/nbproject/org-openide-util.sig | 1114 +
openide.util/nbproject/project.properties | 37 +
openide.util/nbproject/project.xml | 39 +
.../openide/util/DefaultMutexImplementation.java | 43 -
.../modules/openide/util/NbBundleProcessor.java | 2 +-
.../src/org/openide/util/base/Bundle.properties | 37 +
.../src/org/openide/util/base/doc-files/api.html | 22 +-
.../org/openide/util/base/doc-files/logging.html | 47 +-
.../src/org/openide/util/doc-files/api.html | 40 +-
.../src/org/openide/util/doc-files/logging.html | 69 +-
.../org/openide/util/doc-files/preferences.html | 41 +-
openide.util/src/org/openide/util/io/package.html | 75 +-
openide.util/src/org/openide/util/package.html | 75 +-
openide.util/src/org/openide/xml/package.html | 16 +-
.../src/org/openide/util/ReadWriteAccessTest.java | 132 +-
.../org/openide/util/UtilitiesActiveQueueTest.java | 44 +
openide.windows/apichanges.xml | 8 +-
openide.windows/arch.xml | 10 +-
openide.windows/manifest.mf | 2 +-
openide.windows/nbproject/org-openide-windows.sig | 6 +-
.../src/org/openide/windows/doc-files/api.html | 74 +-
.../src/org/openide/windows/package.html | 16 +-
options.api/manifest.mf | 2 +-
.../nbproject/org-netbeans-modules-options-api.sig | 2 +-
.../netbeans/modules/options/CategoryModel.java | 5 +-
.../org/netbeans/modules/options/OptionsPanel.java | 25 +-
options.editor/apichanges.xml | 2 +-
options.editor/manifest.mf | 2 +-
.../src/META-INF/netbeans/translate.names | 37 +
.../modules/options/colors/AnnotationsPanel.java | 8 +-
.../modules/options/colors/FontAndColorsPanel.java | 1 -
.../options/colors/SyntaxColoringPanel.java | 65 +-
.../CodeCompletionOptionsPanelController.java | 1 -
.../modules/options/editor/spi/OptionsFilter.java | 22 +-
.../options/indentation/FormattingPanel.java | 1 -
.../options/indentation/IndentationPanel.java | 2 +-
options.java/build.xml | 39 +
options.java/manifest.mf | 2 +-
options.java/nbproject/project.properties | 37 +
options.java/nbproject/project.xml | 40 +
.../modules/options/java/Bundle.properties | 37 +
.../org/netbeans/modules/options/java/layer.xml | 39 +
options.keymap/manifest.mf | 2 +-
options.keymap/nbproject/project.properties | 37 +
parsing.api/apichanges.xml | 2 +-
parsing.api/arch.xml | 49 +-
parsing.api/build.xml | 39 +
.../nbproject/org-netbeans-modules-parsing-api.sig | 295 +-
parsing.api/nbproject/project.properties | 39 +-
parsing.api/nbproject/project.xml | 39 +
.../org/netbeans/modules/parsing/api/package.html | 41 +-
.../org/netbeans/modules/parsing/spi/package.html | 39 +
.../modules/parsing/api/EmbeddingTest.java | 41 -
parsing.indexing/apichanges.xml | 2 +-
parsing.indexing/arch.xml | 49 +-
parsing.indexing/build.xml | 39 +
.../org-netbeans-modules-parsing-indexing.sig | 345 +
parsing.indexing/nbproject/project.properties | 41 +-
parsing.indexing/nbproject/project.xml | 39 +
.../parsing/api/indexing/IndexingManager.java | 43 -
.../parsing/impl/indexing/IndexingUtils.java | 43 -
.../parsing/impl/indexing/PathRegistry.java | 2 +-
.../parsing/impl/indexing/RepositoryUpdater.java | 292 +-
.../parsing/impl/indexing/RootsListener.java | 57 +-
.../parsing/impl/indexing/errors/Utilities.java | 4 +-
.../modules/parsing/indexing/Bundle.properties | 37 +
.../parsing/impl/indexing/IndexingTestBase.java | 41 -
.../impl/indexing/TestEnvironmentFactory.java | 40 -
parsing.lucene/apichanges.xml | 2 +-
parsing.lucene/build.xml | 39 +
parsing.lucene/nbproject/project.properties | 39 +-
parsing.lucene/nbproject/project.xml | 39 +
.../modules/parsing/lucene/Bundle.properties | 37 +
.../modules/parsing/lucene/LuceneIndex.java | 4 +-
parsing.nb/apichanges.xml | 2 +-
parsing.nb/build.xml | 39 +
parsing.nb/nbproject/project.properties | 39 +-
parsing.nb/nbproject/project.xml | 39 +
.../netbeans/modules/parsing/nb/Bundle.properties | 37 +
.../netbeans/modules/parsing/nb/EventSupport.java | 43 -
parsing.ui/build.xml | 39 +
parsing.ui/nbproject/project.properties | 39 +-
parsing.ui/nbproject/project.xml | 39 +
.../netbeans/modules/parsing/ui/Bundle.properties | 37 +
.../modules/parsing/ui/indexing/Bundle.properties | 37 +
.../src/org/netbeans/modules/parsing/ui/layer.xml | 39 +
performance.ergonomics/build.xml | 39 +
performance.ergonomics/manifest.mf | 2 +-
.../performance/ergonomics/Bundle.properties | 37 +
performance.java/build.xml | 49 +-
performance.java/manifest.mf | 2 +-
.../modules/performance/java/Bundle.properties | 37 +
.../performance/j2se/MeasureJ2SEActionsTest.java | 2 +-
performance.javaee/build.xml | 47 +-
performance.javaee/manifest.mf | 2 +-
.../modules/performance/javaee/Bundle.properties | 37 +
performance.scripting/build.xml | 45 +-
performance.scripting/manifest.mf | 2 +-
.../performance/scripting/Bundle.properties | 37 +
.../ScriptingPerfTest/nbproject/project.properties | 6 +-
.../actions/PageUpPageDownScriptingEditorTest.java | 2 -
performance.web/build.xml | 45 +-
performance.web/manifest.mf | 2 +-
.../modules/performance/web/Bundle.properties | 37 +
.../org/netbeans/actions/api/ContextProvider.java | 45 +-
.../src/org/netbeans/actions/api/Engine.java | 45 +-
.../engine/spi/AbstractContextMenuFactory.java | 41 +-
.../actions/engine/spi/AbstractEngine.java | 41 +-
.../actions/engine/spi/AbstractMenuFactory.java | 39 +
.../actions/engine/spi/AbstractToolbarFactory.java | 39 +
.../netbeans/actions/engine/spi/ActionFactory.java | 47 +-
.../actions/engine/spi/ContextMenuFactory.java | 43 +-
.../netbeans/actions/engine/spi/MenuFactory.java | 39 +
.../actions/engine/spi/ToolbarFactory.java | 41 +-
.../org/netbeans/actions/examples/MiniEdit.java | 39 +
.../org/netbeans/actions/examples/actiondefs.xml | 43 +-
.../netbeans/actions/examples/actions.properties | 39 +-
.../actions/simple/SimpleActionProvider.java | 47 +-
.../netbeans/actions/simple/SimpleConstraint.java | 41 +-
.../actions/simple/SimpleContainerProvider.java | 43 +-
.../org/netbeans/actions/simple/SimpleEngine.java | 39 +
.../org/netbeans/actions/simple/SimpleInvoker.java | 45 +-
.../src/org/netbeans/actions/simple/SimpleKey.java | 41 +-
.../org/netbeans/actions/simple/SimpleKeymap.java | 45 +-
.../org/netbeans/actions/spi/ActionProvider.java | 43 +-
.../netbeans/actions/spi/ContainerProvider.java | 47 +-
.../actions/spi/ContextProviderSupport.java | 41 +-
.../netbeans/actions/spi/ProxyActionProvider.java | 47 +-
.../actions/spi/ProxyContainerProvider.java | 45 +-
.../netbeans/actions/spi/ProxyContextProvider.java | 49 +-
performance/benchmarks/build.xml | 33 +-
.../performance/benchmarks/bde/BDEGrammar.jjt | 4 +-
.../benchmarks/bde/generated/ASCII_CharStream.java | 381 -
.../benchmarks/bde/generated/ASTArgData.java | 19 -
.../benchmarks/bde/generated/ASTArgDataList.java | 19 -
.../benchmarks/bde/generated/ASTArgDataSeries.java | 19 -
.../bde/generated/ASTClassIdentifier.java | 19 -
.../benchmarks/bde/generated/ASTClassName.java | 19 -
.../benchmarks/bde/generated/ASTId.java | 19 -
.../benchmarks/bde/generated/ASTIdentifier.java | 19 -
.../benchmarks/bde/generated/ASTInteger.java | 19 -
.../benchmarks/bde/generated/ASTIntegerDef.java | 19 -
.../bde/generated/ASTLoadDefinition.java | 19 -
.../benchmarks/bde/generated/ASTMethodFilter.java | 19 -
.../bde/generated/ASTMethodFilterList.java | 19 -
.../benchmarks/bde/generated/ASTRegexp.java | 19 -
.../benchmarks/bde/generated/ASTStart.java | 19 -
.../bde/generated/ASTStoreDefinition.java | 19 -
.../benchmarks/bde/generated/ASTString.java | 19 -
.../bde/generated/ASTTestDefinition.java | 19 -
.../bde/generated/ASTTestDefinitionList.java | 19 -
.../benchmarks/bde/generated/ASTValSpec.java | 19 -
.../benchmarks/bde/generated/ASTValSpecList.java | 19 -
.../benchmarks/bde/generated/BDEGrammar.jj | 551 -
.../benchmarks/bde/generated/BDEParser.java | 789 -
.../bde/generated/BDEParserConstants.java | 45 -
.../bde/generated/BDEParserTokenManager.java | 700 -
.../bde/generated/BDEParserTreeConstants.java | 49 -
.../benchmarks/bde/generated/BDEParserVisitor.java | 26 -
.../bde/generated/JJTBDEParserState.java | 123 -
.../performance/benchmarks/bde/generated/Node.java | 37 -
.../benchmarks/bde/generated/ParseException.java | 191 -
.../benchmarks/bde/generated/SimpleNode.java | 134 -
.../benchmarks/bde/generated/Token.java | 81 -
.../benchmarks/bde/generated/TokenMgrError.java | 133 -
.../benchmarks/bde/override/SimpleNode.xjava | 2 +-
performance/benchmarks/test/reports/build.xml | 45 +-
.../test/reports/nbproject/project.properties | 37 +
.../benchmarks/test/reports/nbproject/project.xml | 39 +
.../performance/results/TestResultTest.java | 45 +-
performance/cnd/build.xml | 39 +
performance/cnd/nbproject/platform.properties | 37 +
.../org/netbeans/performance/cnd/Bundle.properties | 37 +
performance/enterprise/build.xml | 39 +
.../enterprise/nbproject/platform.properties | 37 +
.../performance/enterprise/Bundle.properties | 37 +
.../external/binaries-list | 0
performance/external/javacc-3.2-license.txt | 39 +
performance/gcsettings/index.html | 237 -
performance/gcsettings/laptop/gcavgtime.png | Bin 25085 -> 0 bytes
performance/gcsettings/laptop/gccount.png | Bin 22429 -> 0 bytes
performance/gcsettings/laptop/gcseconds.png | Bin 26573 -> 0 bytes
performance/gcsettings/laptop/index.html | 14068 -------
performance/gcsettings/laptop/report.html | 3 -
performance/gcsettings/laptop/sessionlength.png | Bin 18987 -> 0 bytes
performance/gcsettings/linux/gcavgtime.png | Bin 22974 -> 0 bytes
performance/gcsettings/linux/gccount.png | Bin 23010 -> 0 bytes
performance/gcsettings/linux/gcseconds.png | Bin 22751 -> 0 bytes
performance/gcsettings/linux/index.html | 14067 -------
performance/gcsettings/linux/report.html | 3 -
performance/gcsettings/linux/sessionlength.png | Bin 19490 -> 0 bytes
performance/gcsettings/solaris/gcavgtime.png | Bin 24980 -> 0 bytes
performance/gcsettings/solaris/gccount.png | Bin 22117 -> 0 bytes
performance/gcsettings/solaris/gcseconds.png | Bin 26137 -> 0 bytes
performance/gcsettings/solaris/index.html | 14066 -------
performance/gcsettings/solaris/sessionlength.png | Bin 21322 -> 0 bytes
performance/gcsettings/windows/gcavgtime.png | Bin 23467 -> 0 bytes
performance/gcsettings/windows/gccount.png | Bin 21711 -> 0 bytes
performance/gcsettings/windows/gcseconds.png | Bin 25324 -> 0 bytes
performance/gcsettings/windows/index.html | 11761 ------
performance/gcsettings/windows/sessionlength.png | Bin 17206 -> 0 bytes
performance/hudson/ExecutePerformanceTests.sh | 39 +
performance/hudson/PreparePerformanceTests.xml | 41 +-
.../hudson/PreparePerformanceTestsScript.sh | 39 +
performance/hudson/PublishPerformanceTests.xml | 39 +
performance/hudson/coldstart.sh | 39 +
performance/hudson/j2ee.sh | 38 +
performance/hudson/j2se.sh | 38 +
performance/hudson/languages.sh | 39 +
performance/hudson/mobility.sh | 38 +
performance/hudson/netbeans.conf | 38 +
performance/hudson/setupenv.sh | 38 +
performance/hudson/web.sh | 39 +
.../src/org/netbeans/imagecache/CDataBuffer.java | 49 +-
.../src/org/netbeans/imagecache/CImage.java | 43 +-
.../src/org/netbeans/imagecache/CRaster.java | 45 +-
.../src/org/netbeans/imagecache/CSampleModel.java | 47 +-
.../org/netbeans/imagecache/CacheWriterTask.java | 49 +-
.../org/netbeans/imagecache/ImageCacheTest.java | 39 +
performance/manifest.mf | 2 +-
performance/mobility/build.xml | 39 +
performance/mobility/nbproject/platform.properties | 37 +
.../performance/mobility/Bundle.properties | 37 +
.../performance/antext/GenerateHTMLreport.java | 43 +-
.../performance/impl/analysis/ChartMaker.java | 45 +-
.../performance/impl/analysis/GcCharts.java | 43 +-
.../performance/impl/analysis/GenRunsData.java | 43 +-
.../netbeans/performance/impl/chart/NbChart.java | 47 +-
.../impl/chart/NbStatisticalDataset.java | 43 +-
.../impl/logparsing/FolderAggregation.java | 51 +-
.../netbeans/performance/impl/logparsing/Gc.java | 43 +-
.../performance/impl/logparsing/GcLog.java | 39 +
.../performance/impl/logparsing/GcTestSet.java | 43 +-
.../performance/impl/logparsing/IdeCfg.java | 43 +-
.../impl/logparsing/JavaLineswitch.java | 45 +-
.../performance/impl/logparsing/ModuleEntry.java | 43 +-
.../performance/impl/logparsing/ModulesLog.java | 39 +
.../performance/impl/logparsing/NbLog.java | 41 +-
.../performance/impl/logparsing/NbRunLog.java | 45 +-
.../performance/impl/logparsing/TestSet.java | 45 +-
.../performance/impl/logparsing/TimeLog.java | 43 +-
.../performance/impl/logparsing/Utils.java | 39 +
.../performance/spi/AbstractDataAggregation.java | 41 +-
.../performance/spi/AbstractLogElement.java | 43 +-
.../netbeans/performance/spi/AbstractLogFile.java | 45 +-
.../src/org/netbeans/performance/spi/Analyzer.java | 41 +-
.../src/org/netbeans/performance/spi/Average.java | 49 +-
.../spi/AveragedNameValueLogElement.java | 41 +-
.../netbeans/performance/spi/DataAggregation.java | 41 +-
.../performance/spi/DataNotFoundException.java | 49 +-
.../netbeans/performance/spi/ElementFilter.java | 39 +
.../org/netbeans/performance/spi/LogElement.java | 39 +
.../src/org/netbeans/performance/spi/LogFile.java | 39 +
.../performance/spi/NameValueLogElement.java | 43 +-
.../performance/spi/NameValuePairLogElement.java | 41 +-
.../src/org/netbeans/performance/spi/Named.java | 39 +
.../netbeans/performance/spi/ParseException.java | 45 +-
.../org/netbeans/performance/spi/Timestamped.java | 39 +
.../performance/spi/TimestampedLogElement.java | 45 +-
.../netbeans/performance/spi/ValueLogElement.java | 47 +-
.../src/org/netbeans/performance/spi/Valued.java | 39 +
.../performance/spi/html/AbstractHTML.java | 47 +-
.../spi/html/AbstractHTMLContainer.java | 49 +-
.../org/netbeans/performance/spi/html/HTML.java | 43 +-
.../performance/spi/html/HTMLContainer.java | 47 +-
.../performance/spi/html/HTMLDocument.java | 43 +-
.../netbeans/performance/spi/html/HTMLImage.java | 43 +-
.../performance/spi/html/HTMLIterator.java | 43 +-
.../performance/spi/html/HTMLListItem.java | 43 +-
.../performance/spi/html/HTMLSubdocument.java | 49 +-
.../netbeans/performance/spi/html/HTMLTable.java | 41 +-
.../performance/spi/html/HTMLTableRow.java | 51 +-
.../performance/spi/html/HTMLTextItem.java | 45 +-
.../performance/spi/html/HTMLUnorderedList.java | 43 +-
.../performance/resources/ActionTracker.xsl | 41 +-
.../performance/resources/Bundle.properties | 37 +
.../modules/performance/resources/netbeans.conf | 38 +
.../netbeans/performance/scanning/Utilities.java | 2 +-
performance/threaddemo/build.properties | 37 +
performance/threaddemo/logging.properties | 37 +
.../threaddemo/src/threaddemo/locking/package.html | 39 +
.../threaddemo/src/threaddemo/util/package.html | 39 +
php.api.annotation/build.xml | 39 +
php.api.annotation/manifest.mf | 2 +-
php.api.annotation/nbproject/project.properties | 39 +-
php.api.annotation/nbproject/project.xml | 48 +
php.api.documentation/build.xml | 39 +
php.api.documentation/manifest.mf | 2 +-
php.api.documentation/nbproject/project.properties | 39 +-
php.api.documentation/nbproject/project.xml | 39 +
php.api.editor/build.xml | 39 +
php.api.editor/manifest.mf | 2 +-
php.api.editor/nbproject/project.properties | 39 +-
php.api.editor/nbproject/project.xml | 40 +
.../modules/php/api/editor/EditorSupport.java | 8 +
.../modules/php/api/editor/PhpBaseElement.java | 16 +-
.../netbeans/modules/php/api/editor/PhpClass.java | 64 +-
.../modules/php/api/editor/PhpInterface.java | 91 +
.../netbeans/modules/php/api/editor/PhpTrait.java | 118 +
.../netbeans/modules/php/api/editor/PhpType.java | 158 +
php.api.executable/build.xml | 39 +
php.api.executable/manifest.mf | 2 +-
php.api.executable/nbproject/project.properties | 39 +-
php.api.executable/nbproject/project.xml | 39 +
.../modules/php/api/executable/PhpExecutable.java | 4 +-
php.api.framework/build.xml | 39 +
php.api.framework/manifest.mf | 2 +-
php.api.framework/nbproject/project.properties | 39 +-
php.api.framework/nbproject/project.xml | 42 +
.../php/spi/framework/PhpFrameworkProvider.java | 15 +
.../spi/framework/PhpModuleCustomizerExtender.java | 15 +
php.api.phpmodule/build.xml | 39 +
php.api.phpmodule/manifest.mf | 2 +-
php.api.phpmodule/nbproject/project.properties | 39 +-
php.api.phpmodule/nbproject/project.xml | 40 +
.../org/netbeans/modules/php/api/PhpVersion.java | 20 +-
.../php/api/phpmodule/resources/Bundle.properties | 37 +
php.api.templates/build.xml | 39 +
php.api.templates/manifest.mf | 2 +-
php.api.templates/nbproject/project.properties | 39 +-
php.api.templates/nbproject/project.xml | 39 +
php.api.testing/build.xml | 39 +
php.api.testing/manifest.mf | 2 +-
php.api.testing/nbproject/project.properties | 39 +-
php.api.testing/nbproject/project.xml | 41 +-
.../php/spi/testing/PhpTestingProvider.java | 4 +-
.../PhpTestingProviderRegistrationTest.java | 4 +-
php.apigen/build.xml | 39 +
php.apigen/manifest.mf | 2 +-
php.apigen/nbproject/project.properties | 39 +-
php.apigen/nbproject/project.xml | 48 +
.../apigen/annotations/parser/SeeLineParser.java | 21 +-
.../annotations/parser/ThrowsLineParser.java | 9 +-
php.atoum/build.xml | 39 +
php.atoum/manifest.mf | 2 +-
php.atoum/nbproject/project.properties | 39 +-
php.atoum/nbproject/project.xml | 43 +-
.../modules/php/atoum/AtoumTestingProvider.java | 4 +-
.../netbeans/modules/php/atoum/run/TapParser.java | 2 +-
.../modules/php/atoum/ui/resources/AtoumTest.php | 2 -
php.code.analysis/build.xml | 39 +
php.code.analysis/manifest.mf | 2 +-
php.code.analysis/nbproject/project.properties | 39 +-
php.code.analysis/nbproject/project.xml | 48 +
.../modules/php/analysis/commands/CodeSniffer.java | 46 +-
.../analysis/commands/CodingStandardsFixer.java | 3 +
.../php/analysis/commands/MessDetector.java | 1 +
.../analysis/parsers/CodeSnifferReportParser.java | 27 +
.../test/unit/data/phpcs-log-with-summary-1.xml | 7 +
.../test/unit/data/phpcs-log-with-summary-2.xml | 22 +
.../parsers/CodeSnifferReportParserTest.java | 24 +-
php.codeception/build.xml | 39 +
php.codeception/manifest.mf | 2 +-
php.codeception/nbproject/project.properties | 39 +-
php.codeception/nbproject/project.xml | 43 +-
.../codeception/CodeceptionTestingProvider.java | 10 +-
.../php/codeception/ImportantFilesImpl.java | 6 +-
.../modules/php/codeception/commands/Codecept.java | 68 +-
.../php/codeception/create/TestCreator.java | 1 +
.../CodeceptionPreferencesValidator.java | 8 +-
php.composer/build.xml | 39 +
php.composer/manifest.mf | 2 +-
php.composer/nbproject/project.properties | 39 +-
php.composer/nbproject/project.xml | 41 +-
.../modules/php/composer/PhpProjectConvertor.java | 44 +-
.../modules/php/composer/SharabilityQueryImpl.java | 29 +-
.../modules/php/composer/commands/Composer.java | 7 +-
.../php/composer/options/ComposerOptions.java | 55 +-
.../php/composer/ui/options/Bundle.properties | 5 +-
.../composer/ui/options/ComposerOptionsPanel.form | 78 +-
.../composer/ui/options/ComposerOptionsPanel.java | 111 +-
.../ui/options/ComposerOptionsPanelController.java | 18 +-
.../composer/ui/resources/phpConvertorProject.png | Bin 0 -> 325 bytes
.../php/composer/ui/resources/phpProject.png | Bin 486 -> 0 bytes
php.dbgp/build.xml | 39 +
php.dbgp/manifest.mf | 2 +-
php.dbgp/nbproject/project.properties | 39 +-
php.dbgp/nbproject/project.xml | 59 +-
.../netbeans/modules/php/dbgp/DebugSession.java | 6 +-
.../netbeans/modules/php/dbgp/SessionManager.java | 14 +
.../php/dbgp/annotations/ToolTipAnnotation.java | 15 +-
.../php/dbgp/breakpoints/AbstractBreakpoint.java | 10 +
.../php/dbgp/breakpoints/LineBreakpoint.java | 91 +-
.../modules/php/dbgp/breakpoints/Utils.java | 3 +
.../modules/php/dbgp/models/VariablesModel.java | 50 +-
.../modules/php/dbgp/packets/BrkpntSetCommand.java | 5 +-
.../modules/php/dbgp/packets/DbgpCommand.java | 5 +-
.../modules/php/dbgp/packets/DbgpMessage.java | 2 +-
.../modules/php/dbgp/packets/DbgpStream.java | 11 +-
.../php/dbgp/packets/FeatureGetCommand.java | 4 +-
.../modules/php/dbgp/packets/Property.java | 11 +-
.../php/dbgp/packets/PropertySetCommand.java | 6 +-
.../netbeans/modules/php/dbgp/packets/Reason.java | 4 +-
.../netbeans/modules/php/dbgp/packets/Stack.java | 3 +-
.../netbeans/modules/php/dbgp/packets/Status.java | 4 +-
.../netbeans/modules/php/dbgp/DebuggerTest.java | 2 +-
.../netbeans/modules/php/dbgp/resources/index.php | 41 +
php.doctrine2/build.xml | 39 +
php.doctrine2/manifest.mf | 2 +-
php.doctrine2/nbproject/project.properties | 39 +-
php.doctrine2/nbproject/project.xml | 48 +
php.editor/build.xml | 98 +-
.../external/binaries-list | 0
php.editor/nbproject/project.properties | 44 +-
php.editor/nbproject/project.xml | 88 +-
.../org/netbeans/modules/php/editor/CodeUtils.java | 297 +-
.../org/netbeans/modules/php/editor/NavUtils.java | 18 +-
.../modules/php/editor/PHPBracesMatcher.java | 303 +-
.../modules/php/editor/PHPCodeTemplateFilter.java | 11 +-
.../modules/php/editor/PhpEmbeddingProvider.java | 21 +
.../modules/php/editor/PredefinedSymbols.java | 13 +-
.../modules/php/editor/actions/FixUsesAction.java | 60 +-
.../php/editor/actions/FixUsesPerformer.java | 214 +-
.../php/editor/actions/ImportDataCreator.java | 45 +-
.../php/editor/actions/ImportModulePanel.java | 6 +-
.../php/editor/actions/InsertSemicolonAction.java | 4 +-
.../editor/actions/ToggleBlockCommentAction.java | 5 +-
.../php/editor/actions/UsedNamesCollector.java | 8 +-
.../modules/php/editor/api/PhpElementKind.java | 2 +-
.../php/editor/api/elements/AliasedClass.java | 5 +
.../php/editor/api/elements/AliasedFunction.java | 7 +
.../editor/api/elements/BaseFunctionElement.java | 3 +
.../php/editor/api/elements/ClassElement.java | 3 +-
.../modules/php/editor/codegen/CGSGenerator.java | 34 +-
.../modules/php/editor/codegen/CGSInfo.java | 14 +
.../modules/php/editor/codegen/CodegenUtils.java | 3 +-
.../editor/codegen/PHPCodeTemplateProcessor.java | 7 +-
.../modules/php/editor/codegen/Property.java | 6 +
.../codegen/SelectedPropertyMethodsCreator.java | 14 +-
.../modules/php/editor/codegen/SemiAttribute.java | 40 +-
.../codegen/SinglePropertyMethodCreator.java | 61 +-
.../php/editor/codegen/ui/TableGeneratorPanel.java | 2 +-
.../editor/completion/CompletionContextFinder.java | 250 +-
.../modules/php/editor/completion/DocRenderer.java | 581 +-
.../php/editor/completion/PHPCodeCompletion.java | 721 +-
.../php/editor/completion/PHPCompletionItem.java | 106 +-
.../PhpTypeCompletionProviderWrapper.java | 5 +-
.../modules/php/editor/csl/FoldingScanner.java | 15 +-
.../modules/php/editor/csl/NavigatorScanner.java | 11 +-
.../modules/php/editor/csl/PHPTypeSearcher.java | 12 +-
.../modules/php/editor/csl/SemanticAnalysis.java | 200 +-
.../elements/BaseFunctionElementSupport.java | 50 +-
.../php/editor/elements/ClassElementImpl.java | 6 +
.../php/editor/elements/FieldElementImpl.java | 7 +-
.../php/editor/elements/FunctionElementImpl.java | 10 +-
.../php/editor/elements/IndexQueryImpl.java | 74 +-
.../php/editor/elements/MethodElementImpl.java | 8 +-
.../php/editor/elements/ParameterElementImpl.java | 3 +-
.../php/editor/elements/TraitElementImpl.java | 13 +-
.../php/editor/elements/TypeNameResolverImpl.java | 6 +-
.../php/editor/elements/TypeTreeElementImpl.java | 37 +-
.../php/editor/elements/VariableElementImpl.java | 3 +-
.../modules/php/editor/indent/CodeStyle.java | 39 +
.../modules/php/editor/indent/FmtOptions.java | 17 +
.../modules/php/editor/indent/FormatToken.java | 13 +
.../modules/php/editor/indent/FormatVisitor.java | 576 +-
.../modules/php/editor/indent/IndentUtils.java | 5 +-
.../php/editor/indent/IndentationCounter.java | 63 +-
.../modules/php/editor/indent/TokenFormatter.java | 204 +-
.../modules/php/editor/indent/ui/Braces.php | 9 +
.../modules/php/editor/indent/ui/Bundle.properties | 11 +-
.../modules/php/editor/indent/ui/FmtAlignment.form | 21 +-
.../modules/php/editor/indent/ui/FmtAlignment.java | 15 +-
.../modules/php/editor/indent/ui/FmtBraces.form | 981 +-
.../modules/php/editor/indent/ui/FmtBraces.java | 238 +-
.../modules/php/editor/indent/ui/FmtSpaces.java | 5 +-
.../modules/php/editor/indent/ui/FmtUses.form | 12 +-
.../modules/php/editor/indent/ui/FmtUses.java | 18 +-
.../modules/php/editor/indent/ui/FmtWrapping.form | 206 +-
.../modules/php/editor/indent/ui/FmtWrapping.java | 166 +-
.../modules/php/editor/indent/ui/Spaces.php | 35 +-
.../netbeans/modules/php/editor/indent/ui/Uses.php | 18 +-
.../modules/php/editor/indent/ui/Wrapping.php | 3 +
.../modules/php/editor/index/PHPIndexer.java | 2 +-
.../modules/php/editor/index/Signature.java | 2 +-
.../editor/lexer/DocumentorColoringScanner.java | 41 -
.../modules/php/editor/lexer/LexUtilities.java | 8 +-
.../php/editor/lexer/PHP5ColoringLexer.java | 2836 +-
.../modules/php/editor/lexer/PHPTokenId.java | 11 +-
.../modules/php/editor/lexer/StateStack.java | 171 -
.../modules/php/editor/model/GroupUseScope.java | 52 +
.../modules/php/editor/model/ModelUtils.java | 18 +-
.../modules/php/editor/model/NamespaceScope.java | 21 +-
.../php/editor/model/ParameterInfoSupport.java | 19 +-
.../modules/php/editor/model/UseScope.java | 1 +
.../php/editor/model/impl/ClassScopeImpl.java | 60 +-
.../php/editor/model/impl/EditorSupportImpl.java | 94 +-
.../php/editor/model/impl/FunctionScopeImpl.java | 165 +-
.../php/editor/model/impl/GroupUseScopeImpl.java | 81 +
.../php/editor/model/impl/MethodScopeImpl.java | 10 +-
.../php/editor/model/impl/ModelBuilder.java | 37 +-
.../php/editor/model/impl/ModelVisitor.java | 254 +-
.../php/editor/model/impl/NamespaceScopeImpl.java | 44 +-
.../php/editor/model/impl/OccurenceBuilder.java | 728 +-
.../modules/php/editor/model/impl/ScopeImpl.java | 1 +
.../php/editor/model/impl/TraitScopeImpl.java | 39 +-
.../modules/php/editor/model/impl/Type.java | 26 +
.../php/editor/model/impl/TypeScopeImpl.java | 66 +-
.../php/editor/model/impl/UseScopeImpl.java | 36 +-
.../php/editor/model/impl/VariousUtils.java | 229 +-
.../php/editor/model/nodes/ASTNodeInfo.java | 39 +-
.../model/nodes/ClassInstanceCreationInfo.java | 142 +
.../model/nodes/FunctionDeclarationInfo.java | 17 +-
.../model/nodes/GroupUseStatementPartInfo.java | 72 +
.../model/nodes/LambdaFunctionDeclarationInfo.java | 15 +-
.../model/nodes/SingleUseStatementPartInfo.java | 104 +
.../editor/model/nodes/UseStatementPartInfo.java | 68 -
.../editor/nav/hierarchy/ClassHierarchyPanel.java | 37 +-
.../modules/php/editor/parser/ASTPHP5Parser.java | 6307 ++--
.../modules/php/editor/parser/ASTPHP5Scanner.java | 2463 +-
.../modules/php/editor/parser/ASTPHP5Symbols.java | 284 +-
.../php/editor/parser/EncodedActionTable1.java | 8378 ++---
.../php/editor/parser/EncodedActionTable2.java | 6020 +--
.../php/editor/parser/EncodedActionTable3.java | 6698 ++--
.../php/editor/parser/EncodedActionTable4.java | 6234 ++--
.../php/editor/parser/EncodedActionTable5.java | 6952 ++--
.../php/editor/parser/EncodedActionTable6.java | 6816 ++--
.../php/editor/parser/EncodedActionTable7.java | 6944 ++--
.../php/editor/parser/EncodedActionTable8.java | 5348 ++-
.../php/editor/parser/EncodedActionTable9.java | 4335 +++
.../modules/php/editor/parser/GSFPHPParser.java | 34 +-
.../php/editor/parser/PHP5ErrorHandlerImpl.java | 4 +
.../php/editor/parser/PHPDocCommentParser.java | 79 +-
.../php/editor/parser/PHPVarCommentParser.java | 2 +-
.../php/editor/parser/UnusedUsesCollector.java | 78 +-
.../netbeans/modules/php/editor/parser/Utils.java | 12 +
.../parser/astnodes/ClassInstanceCreation.java | 141 +-
.../parser/astnodes/ConditionalExpression.java | 84 +-
.../parser/astnodes/ConstantDeclaration.java | 1 +
.../parser/astnodes/ExpressionArrayAccess.java | 1 +
.../editor/parser/astnodes/ForEachStatement.java | 6 +
.../editor/parser/astnodes/FormalParameter.java | 3 +
.../parser/astnodes/FunctionDeclaration.java | 40 +-
.../parser/astnodes/GroupUseStatementPart.java | 105 +
.../editor/parser/astnodes/InfixExpression.java | 3 +-
.../parser/astnodes/LambdaFunctionDeclaration.java | 42 +-
.../php/editor/parser/astnodes/Reference.java | 4 +
.../parser/astnodes/SingleUseStatementPart.java | 118 +
.../php/editor/parser/astnodes/StateStack.java | 134 -
.../parser/astnodes/StaticConstantAccess.java | 17 +-
.../php/editor/parser/astnodes/StaticDispatch.java | 23 +-
.../php/editor/parser/astnodes/UseStatement.java | 30 +-
.../editor/parser/astnodes/UseStatementPart.java | 56 +-
.../editor/parser/astnodes/UseTraitStatement.java | 10 +-
.../php/editor/parser/astnodes/Visitor.java | 6 +-
.../parser/astnodes/YieldFromExpression.java | 63 +
.../astnodes/visitors/DefaultTreePathVisitor.java | 20 +-
.../parser/astnodes/visitors/DefaultVisitor.java | 32 +-
.../php/editor/resources/DefaultKeyBindings.xml | 2 +-
.../resources/PhpHierarchyTopComponentSettings.xml | 39 +
.../resources/PhpHierarchyTopComponentWstcref.xml | 39 +
.../modules/php/editor/resources/fontsColors.xml | 39 +
.../modules/php/editor/resources/layer.xml | 118 +-
.../typinghooks/PhpCamelCaseInterceptor.java | 2 +-
.../editor/typinghooks/PhpCommentGenerator.java | 48 +-
.../typinghooks/PhpTypedBreakInterceptor.java | 134 +-
.../typinghooks/PhpTypedTextInterceptor.java | 9 +-
.../AbstractClassInstantiationHintError.java | 10 +
.../verification/AccidentalAssignmentHint.java | 25 +
.../verification/AddUseImportSuggestion.java | 40 +-
.../verification/AmbiguousComparisonHint.java | 16 +
.../editor/verification/ArraySyntaxSuggestion.java | 24 +-
.../verification/AssignVariableSuggestion.java | 22 +
.../php/editor/verification/BracesHint.java | 25 +
.../ConstantRedeclarationHintError.java | 132 +
.../verification/EmptyGroupUseHintError.java | 173 +
.../editor/verification/EmptyStatementHint.java | 24 +
.../verification/ErrorControlOperatorHint.java | 10 +
.../verification/FieldRedeclarationHintError.java | 137 +
.../IdenticalComparisonSuggestion.java | 13 +
.../verification/ImmutableVariablesHint.java | 61 +-
.../ImplementAbstractMethodsHintError.java | 72 +-
.../IncorrectMixedGroupUseHintError.java | 192 +
.../verification/InitializeFieldSuggestion.java | 44 +
.../editor/verification/IntroduceSuggestion.java | 263 +-
.../LoopOnlyKeywordsUnhandledError.java | 13 +
.../verification/MethodRedeclarationHintError.java | 26 +
.../verification/ModifiersCheckHintError.java | 16 +
.../php/editor/verification/NestedBlocksHint.java | 32 +-
.../editor/verification/PHP53UnhandledError.java | 91 +-
.../editor/verification/PHP54UnhandledError.java | 83 +-
.../editor/verification/PHP55UnhandledError.java | 33 +-
.../editor/verification/PHP56UnhandledError.java | 59 +-
.../editor/verification/PHP70UnhandledError.java | 337 +
.../php/editor/verification/PHPHintsProvider.java | 52 +-
.../modules/php/editor/verification/PSR0Hint.java | 19 +
.../modules/php/editor/verification/PSR1Hint.java | 41 +-
.../verification/ParentConstructorCallHint.java | 13 +
.../php/editor/verification/SuperglobalsHint.java | 10 +
.../php/editor/verification/TooManyLinesHint.java | 29 +-
.../verification/TooManyReturnStatementsHint.java | 16 +
.../verification/TypeRedeclarationHintError.java | 13 +
.../verification/UninitializedVariableHint.java | 63 +-
.../UnnecessaryClosingDelimiterHint.java | 7 +-
.../verification/UnreachableStatementHint.java | 53 +-
.../php/editor/verification/UnusedUsesHint.java | 12 +-
.../editor/verification/UnusedVariableHint.java | 131 +-
.../php/editor/verification/VarDocSuggestion.java | 9 +-
.../php/editor/verification/VerificationUtils.java | 6 +-
.../editor/verification/WrongOrderOfArgsHint.java | 32 +-
.../editor/verification/WrongParamNameHint.java | 23 +-
.../src/org/netbeans/test/php/Commit.java | 2 +-
.../structure/anonymousClassInClassScope.pass | 27 +
.../structure/anonymousClassInNamespaceScope.pass | 22 +
.../structure/anonymousClassInTraitScope.pass | 28 +
.../lexer/PHP53FeaturesTest/lexer/elvis_01.pass | 14 +
.../lexer/PHP53FeaturesTest/lexer/elvis_02.pass | 11 +
.../lexer/PHP53FeaturesTest/lexer/elvis_03.pass | 15 +
.../lexer/PHP53FeaturesTest/lexer/elvis_04.pass | 12 +
.../lexer/PHP53FeaturesTest/lexer/elvis_05.pass | 15 +
.../lexer/PHP53FeaturesTest/lexer/elvis_06.pass | 12 +
.../lexer/PHP53FeaturesTest/lexer/heredoc_001.pass | 2 +-
.../lexer/PHP53FeaturesTest/lexer/heredoc_002.pass | 2 +-
.../lexer/PHP53FeaturesTest/lexer/heredoc_003.pass | 2 +-
.../lexer/PHP53FeaturesTest/lexer/heredoc_004.pass | 2 +-
.../lexer/PHP53FeaturesTest/lexer/heredoc_005.pass | 2 +-
.../lexer/PHP53FeaturesTest/lexer/heredoc_006.pass | 2 +-
.../lexer/PHP53FeaturesTest/lexer/heredoc_007.pass | 2 +-
.../lexer/PHP53FeaturesTest/lexer/heredoc_008.pass | 2 +-
.../lexer/PHP53FeaturesTest/lexer/heredoc_009.pass | 2 +-
.../lexer/PHP53FeaturesTest/lexer/heredoc_010.pass | 4 +-
.../lexer/PHP53FeaturesTest/lexer/heredoc_011.pass | 2 +-
.../lexer/PHP53FeaturesTest/lexer/heredoc_012.pass | 4 +-
.../lexer/PHP53FeaturesTest/lexer/heredoc_013.pass | 4 +-
.../lexer/PHP53FeaturesTest/lexer/heredoc_014.pass | 6 +-
.../lexer/PHP53FeaturesTest/lexer/heredoc_015.pass | 4 +-
.../lexer/PHP53FeaturesTest/lexer/issue225549.pass | 2 +-
.../lexer/PHP53FeaturesTest/lexer/jump01.pass | 2 +-
.../lexer/PHP53FeaturesTest/lexer/jump02.pass | 4 +-
.../lexer/PHP53FeaturesTest/lexer/jump04.pass | 2 +-
.../lexer/PHP53FeaturesTest/lexer/jump05.pass | 2 +-
.../lexer/PHP53FeaturesTest/lexer/jump12.pass | 2 +-
.../lexer/PHP53FeaturesTest/lexer/nowdoc_001.pass | 2 +-
.../lexer/PHP53FeaturesTest/lexer/nowdoc_002.pass | 2 +-
.../lexer/PHP53FeaturesTest/lexer/nowdoc_003.pass | 2 +-
.../lexer/PHP53FeaturesTest/lexer/nowdoc_004.pass | 2 +-
.../lexer/PHP53FeaturesTest/lexer/nowdoc_005.pass | 2 +-
.../lexer/PHP53FeaturesTest/lexer/nowdoc_006.pass | 2 +-
.../lexer/PHP53FeaturesTest/lexer/nowdoc_007.pass | 2 +-
.../lexer/PHP53FeaturesTest/lexer/nowdoc_008.pass | 2 +-
.../lexer/PHP53FeaturesTest/lexer/nowdoc_009.pass | 2 +-
.../lexer/PHP53FeaturesTest/lexer/nowdoc_010.pass | 4 +-
.../lexer/PHP53FeaturesTest/lexer/nowdoc_011.pass | 2 +-
.../lexer/PHP53FeaturesTest/lexer/nowdoc_012.pass | 2 +-
.../lexer/PHP53FeaturesTest/lexer/nowdoc_013.pass | 2 +-
.../lexer/PHP53FeaturesTest/lexer/nowdoc_014.pass | 2 +-
.../lexer/PHP53FeaturesTest/lexer/nowdoc_015.pass | 12 +-
.../PHP54FeaturesTest/lexer/binaryNotation_01.pass | 2 +-
.../PHP54FeaturesTest/lexer/binaryNotation_02.pass | 2 +-
.../PHP54FeaturesTest/lexer/binaryNotation_03.pass | 2 +-
.../PHP54FeaturesTest/lexer/binaryNotation_04.pass | 2 +-
.../lexer/shortArraysStaticScalar_01.pass | 2 +-
.../lexer/shortArraysStaticScalar_02.pass | 2 +-
.../PHP54FeaturesTest/lexer/shortArrays_01.pass | 4 +-
.../lexer/PHP70FeaturesTest/lexer/coalesce_01.pass | 13 +
.../lexer/PHP70FeaturesTest/lexer/coalesce_02.pass | 10 +
.../lexer/PHP70FeaturesTest/lexer/coalesce_03.pass | 17 +
.../lexer/PHP70FeaturesTest/lexer/coalesce_04.pass | 13 +
.../lexer/PHP70FeaturesTest/lexer/coalesce_05.pass | 10 +
.../PHP70FeaturesTest/lexer/return_types_01.pass | 15 +
.../PHP70FeaturesTest/lexer/return_types_02.pass | 15 +
.../PHP70FeaturesTest/lexer/return_types_03.pass | 43 +
.../PHP70FeaturesTest/lexer/scalar_types_01.pass | 86 +
.../PHP70FeaturesTest/lexer/spaceship_01.pass | 11 +
.../PHP70FeaturesTest/lexer/spaceship_02.pass | 25 +
.../PHP70FeaturesTest/lexer/yield_from_01.pass | 29 +
.../PHP70FeaturesTest/lexer/yield_from_02.pass | 35 +
.../PHP70FeaturesTest/lexer/yield_from_03.pass | 40 +
.../PHP70FeaturesTest/lexer/yield_from_04.pass | 38 +
.../PHP70FeaturesTest/lexer/yield_from_05.pass | 29 +
.../PHP70FeaturesTest/lexer/yield_from_06.pass | 24 +
.../editor/lexer/PHPLexerTest/lexer/heredoc00.pass | 10 +-
.../editor/lexer/PHPLexerTest/lexer/heredoc01.pass | 4 +-
.../lexer/PHPLexerTest/lexer/heredoc_04.pass | 2 +-
.../lexer/PHPLexerTest/lexer/issue138261.pass | 6 +-
.../lexer/PHPLexerTest/lexer/issue144337.pass | 4 +-
.../lexer/PHPLexerTest/lexer/issue222092_01.pass | 2 +-
.../lexer/PHPLexerTest/lexer/issue222092_02.pass | 2 +-
.../lexer/PHPLexerTest/lexer/yieldKeyword.pass | 4 +-
.../ASTPHP5ParserTest/parser/TextSearchQuery.pass | 2362 +-
.../parser/anonymousClass_01.pass | 1424 +
.../parser/anonymousObjectVariable.pass | 64 +-
.../parser/arrayDereferencing_01.pass | 20 +-
.../parser/arrayDereferencing_06.pass | 20 +-
.../parser/arrayDereferencing_07.pass | 20 +-
.../parser/arrayDereferencing_08.pass | 66 +-
.../parser/arrayDereferencing_09.pass | 40 +-
.../ASTPHP5ParserTest/parser/coalesce_01.pass | 40 +
.../ASTPHP5ParserTest/parser/coalesce_02.pass | 103 +
.../parser/constantArrayAccess_01.pass | 1554 +
.../parser/constantScalarExpressions_01.pass | 54 +-
.../parser/fieldArraysWithArrayDereferencing.pass | 40 +-
.../ASTPHP5ParserTest/parser/groupUse_01.pass | 96 +
.../ASTPHP5ParserTest/parser/groupUse_02.pass | 92 +
.../ASTPHP5ParserTest/parser/groupUse_03.pass | 92 +
.../ASTPHP5ParserTest/parser/groupUse_04.pass | 131 +
.../ASTPHP5ParserTest/parser/heredoc_006.pass | 16 +-
.../ASTPHP5ParserTest/parser/heredoc_007.pass | 16 +-
.../ASTPHP5ParserTest/parser/heredoc_011.pass | 8 +-
.../ASTPHP5ParserTest/parser/heredoc_015.pass | 10 +-
.../ASTPHP5ParserTest/parser/issue258959.pass | 2303 ++
.../ASTPHP5ParserTest/parser/listInForeach.pass | 225 -
.../ASTPHP5ParserTest/parser/listInForeach_01.pass | 225 +
.../ASTPHP5ParserTest/parser/listInForeach_02.pass | 250 +
.../parser/ASTPHP5ParserTest/parser/mixed01.pass | 20 +-
.../parser/ASTPHP5ParserTest/parser/mixed02.pass | 20 +-
.../ASTPHP5ParserTest/parser/nowdoc_011.pass | 8 +-
.../ASTPHP5ParserTest/parser/returnTypes_01.pass | 47 +
.../ASTPHP5ParserTest/parser/returnTypes_02.pass | 45 +
.../ASTPHP5ParserTest/parser/returnTypes_03.pass | 128 +
.../ASTPHP5ParserTest/parser/returnTypes_04.pass | 75 +
.../parser/ASTPHP5ParserTest/parser/simple01.pass | 20 +-
.../parser/ASTPHP5ParserTest/parser/simple02.pass | 20 +-
.../ASTPHP5ParserTest/parser/spaceship_01.pass | 34 +
.../ASTPHP5ParserTest/parser/spaceship_02.pass | 84 +
.../parser/staticExpressionCall_01.pass | 8 +-
.../parser/staticExpressionCall_02.pass | 8 +-
.../parser/testVariadicFunctions_02.pass | 261 +
.../parser/uniformVariableSyntax_01.pass | 101 +
.../parser/uniformVariableSyntax_02.pass | 62 +
.../parser/uniformVariableSyntax_03.pass | 96 +
.../parser/uniformVariableSyntax_04.pass | 112 +
.../parser/uniformVariableSyntax_05.pass | 141 +
.../parser/uniformVariableSyntax_06.pass | 112 +
.../parser/uniformVariableSyntax_07.pass | 157 +
.../parser/uniformVariableSyntax_08.pass | 64 +
.../parser/uniformVariableSyntax_09.pass | 60 +
.../parser/uniformVariableSyntax_10.pass | 83 +
.../parser/uniformVariableSyntax_11.pass | 48 +
.../parser/uniformVariableSyntax_12.pass | 60 +
.../parser/uniformVariableSyntax_13.pass | 66 +
.../parser/uniformVariableSyntax_14.pass | 48 +
.../parser/uniformVariableSyntax_15.pass | 67 +
.../parser/uniformVariableSyntax_16.pass | 85 +
.../parser/uniformVariableSyntax_17.pass | 71 +
.../parser/uniformVariableSyntax_18.pass | 95 +
.../parser/uniformVariableSyntax_19.pass | 75 +
.../parser/uniformVariableSyntax_20.pass | 69 +
.../parser/uniformVariableSyntax_23.pass | 136 +
.../parser/useFuncAndConst_01.pass | 8 +-
.../parser/ASTPHP5ParserTest/parser/useGlobal.pass | 4 +-
.../parser/useGlobalSubNamespace.pass | 4 +-
.../ASTPHP5ParserTest/parser/useNamespaceAs.pass | 4 +-
.../parser/ASTPHP5ParserTest/parser/useSimple.pass | 4 +-
.../ASTPHP5ParserTest/parser/useSubNamespace.pass | 4 +-
.../ASTPHP5ParserTest/parser/yieldFrom_01.pass | 94 +
.../ASTPHP5ParserTest/parser/yieldFrom_02.pass | 120 +
.../ASTPHP5ParserTest/parser/yieldFrom_03.pass | 141 +
.../ASTPHP5ParserTest/parser/yieldFrom_05.pass | 94 +
.../ASTPHP5ParserTest/parser/yieldFrom_06.pass | 62 +
.../parser/ASTPHP5ParserTest/parser/yield_01.pass | 2 +-
.../parser/ASTPHP5ParserTest/parser/yield_02.pass | 2 +-
.../parser/ASTPHP5ParserTest/parser/yield_03.pass | 2 +-
.../parser/ASTPHP5ParserTest/parser/yield_04.pass | 2 +-
.../parser/ASTPHP5ParserTest/parser/yield_07.pass | 2 +-
.../PHPDocCommentParserTest/testIssue257869.pass | 9 +
.../PHPDocCommentParserTest/testIssue257953.pass | 11 +
.../SanitizeSourceTest/sanitize/curly05.pass | 16 +-
.../SanitizeSourceTest/sanitize/curly06.pass | 16 +-
.../SanitizeSourceTest/sanitize/curly07.pass | 16 +-
.../SanitizeSourceTest/sanitize/curly08.pass | 16 +-
.../SanitizeSourceTest/sanitize/sanitize007.pass | 16 +-
.../SanitizeSourceTest/sanitize/sanitize008.pass | 16 +-
.../actions/insertSemicolon/testInsert.php | 7 +
.../insertSemicolon/testInsert.php.insertSemicolon | 7 +
.../actions/insertSemicolon/testInsertNewLine.php | 7 +
.../testInsertNewLine.php.insertSemicolon | 8 +
.../unit/data/testfiles/actions/issue209755.php | 18 +
.../testfiles/actions/issue209755.php.usedNames | 2 +
.../actions/testGroupUse/01/testGroupUse_01.php | 66 +
.../testGroupUse/01/testGroupUse_01.php.fixUses | 64 +
.../actions/testGroupUse/02/testGroupUse_02.php | 66 +
.../testGroupUse/02/testGroupUse_02.php.fixUses | 63 +
.../actions/testGroupUse/03/testGroupUse_03.php | 73 +
.../testGroupUse/03/testGroupUse_03.php.fixUses | 63 +
.../actions/testGroupUse/04/testGroupUse_04.php | 66 +
.../testGroupUse/04/testGroupUse_04.php.fixUses | 63 +
.../actions/testGroupUse/05/testGroupUse_05.php | 66 +
.../testGroupUse/05/testGroupUse_05.php.fixUses | 63 +
.../actions/testGroupUse/06/testGroupUse_06.php | 62 +
.../testGroupUse/06/testGroupUse_06.php.fixUses | 64 +
.../actions/testGroupUse/07/testGroupUse_07.php | 40 +
.../testGroupUse/07/testGroupUse_07.php.fixUses | 42 +
.../actions/testGroupUse/08/testGroupUse_08.php | 40 +
.../testGroupUse/08/testGroupUse_08.php.fixUses | 42 +
.../actions/testGroupUse/09/testGroupUse_09.php | 40 +
.../testGroupUse/09/testGroupUse_09.php.fixUses | 42 +
.../actions/testGroupUse/10/testGroupUse_10.php | 40 +
.../testGroupUse/10/testGroupUse_10.php.fixUses | 42 +
.../actions/testGroupUse/11/testGroupUse_11.php | 41 +
.../testGroupUse/11/testGroupUse_11.php.fixUses | 42 +
.../actions/testGroupUse/12/testGroupUse_12.php | 44 +
.../testGroupUse/12/testGroupUse_12.php.fixUses | 50 +
.../actions/testGroupUse/13/testGroupUse_13.php | 41 +
.../testGroupUse/13/testGroupUse_13.php.fixUses | 38 +
.../actions/testGroupUse/14/testGroupUse_14.php | 41 +
.../testGroupUse/14/testGroupUse_14.php.fixUses | 47 +
.../01/testGroupUseComplex_01.php | 117 +
.../01/testGroupUseComplex_01.php.fixUses | 120 +
.../actions/testImportData/libs/nette.min.php | 22446 ++++++++++++
.../actions/testImportData/testImportData_01.php | 25 +
.../testImportData_01.php.importData | 33 +
.../actions/testImportData/testImportData_02.php | 25 +
.../testImportData_02.php.importData | 32 +
.../actions/testImportData/testImportData_03.php | 25 +
.../testImportData_03.php.importData | 28 +
.../actions/testImportData/testImportData_04.php | 23 +
.../testImportData_04.php.importData | 18 +
.../actions/testImportData/testImportData_05.php | 25 +
.../testImportData_05.php.importData | 33 +
.../actions/testImportData/testImportData_06.php | 25 +
.../testImportData_06.php.importData | 33 +
.../actions/testImportData/testImportData_07.php | 17 +
.../testImportData_07.php.importData | 12 +
.../actions/testImportData/testImportData_08.php | 10 +
.../testImportData_08.php.importData | 7 +
.../testImportData_09_issue209408.php | 17 +
.../testImportData_09_issue209408.php.importData | 11 +
.../testImportData/testImportData_issue227304.php | 22 +
.../testImportData_issue227304.php.importData | 13 +
.../testImportData/testImportData_issue246537a.php | 12 +
.../testImportData_issue246537a.php.importData | 13 +
.../testImportData/testImportData_issue246537b.php | 17 +
.../testImportData_issue246537b.php.importData | 13 +
.../testIssue210093/01/testIssue210093_01.php | 18 +
.../01/testIssue210093_01.php.fixUses | 18 +
.../testIssue210093/02/testIssue210093_02.php | 18 +
.../02/testIssue210093_02.php.fixUses | 18 +
.../testIssue211566/01/testIssue211566_01.php | 22 +
.../01/testIssue211566_01.php.fixUses | 24 +
.../testIssue211566/02/testIssue211566_02.php | 22 +
.../02/testIssue211566_02.php.fixUses | 24 +
.../testIssue211585/01/testIssue211585_01.php | 17 +
.../01/testIssue211585_01.php.fixUses | 21 +
.../testIssue211585/02/testIssue211585_02.php | 17 +
.../02/testIssue211585_02.php.fixUses | 20 +
.../testIssue211585/03/testIssue211585_03.php | 17 +
.../03/testIssue211585_03.php.fixUses | 20 +
.../actions/testIssue214699/testIssue214699.php | 17 +
.../testIssue214699/testIssue214699.php.fixUses | 21 +
.../testfiles/actions/testIssue222595/01/test.php | 16 +
.../testIssue222595/01/testIssue222595_01.php | 28 +
.../01/testIssue222595_01.php.fixUses | 28 +
.../testfiles/actions/testIssue222595/02/test.php | 16 +
.../testIssue222595/02/testIssue222595_02.php | 28 +
.../02/testIssue222595_02.php.fixUses | 28 +
.../testfiles/actions/testIssue222595/03/test.php | 28 +
.../testIssue222595/03/testIssue222595_03.php | 16 +
.../03/testIssue222595_03.php.fixUses | 16 +
.../testfiles/actions/testIssue222595/04/test.php | 28 +
.../testIssue222595/04/testIssue222595_04.php | 16 +
.../04/testIssue222595_04.php.fixUses | 16 +
.../actions/testIssue233527/SomeClass.php | 7 +
.../actions/testIssue233527/testIssue233527.php | 14 +
.../testIssue233527/testIssue233527.php.fixUses | 16 +
.../actions/testIssue238828/testIssue238828.php | 32 +
.../testIssue238828/testIssue238828.php.fixUses | 34 +
.../testfiles/actions/testIssue243271/01/data.php | 5 +
.../testIssue243271/01/testIssue243271_01.php | 12 +
.../01/testIssue243271_01.php.fixUses | 12 +
.../testfiles/actions/testIssue243271/02/data.php | 5 +
.../testIssue243271/02/testIssue243271_02.php | 12 +
.../02/testIssue243271_02.php.fixUses | 12 +
.../testIssue249140/01/testIssue249140_01.php | 6 +
.../01/testIssue249140_01.php.fixUses | 6 +
.../testIssue249140/02/testIssue249140_02.php | 8 +
.../02/testIssue249140_02.php.fixUses | 8 +
.../actions/testUseFuncAndConst/01/test.php | 10 +
.../01/testUseFuncAndConst_01.php | 22 +
.../01/testUseFuncAndConst_01.php.fixUses | 22 +
.../actions/testUseFuncAndConst/02/test.php | 10 +
.../02/testUseFuncAndConst_02.php | 22 +
.../02/testUseFuncAndConst_02.php.fixUses | 22 +
.../actions/testUseFuncAndConst/03/test.php | 10 +
.../03/testUseFuncAndConst_03.php | 18 +
.../03/testUseFuncAndConst_03.php.fixUses | 20 +
.../actions/testUseFuncAndConst/04/test.php | 10 +
.../04/testUseFuncAndConst_04.php | 18 +
.../04/testUseFuncAndConst_04.php.fixUses | 18 +
.../actions/testUseFuncAndConst/05/test.php | 10 +
.../05/testUseFuncAndConst_05.php | 18 +
.../05/testUseFuncAndConst_05.php.fixUses | 20 +
.../actions/toggleComment/issue198269_01.php | 12 +
.../toggleComment/issue198269_01.php.toggleComment | 12 +
.../actions/toggleComment/issue198269_02.php | 12 +
.../toggleComment/issue198269_02.php.toggleComment | 12 +
.../actions/toggleComment/issue198269_03.php | 13 +
.../toggleComment/issue198269_03.php.toggleComment | 13 +
.../actions/toggleComment/issue198269_04.php | 13 +
.../toggleComment/issue198269_04.php.toggleComment | 13 +
.../actions/toggleComment/issue207153.php | 17 +
.../toggleComment/issue207153.php.toggleComment | 17 +
.../actions/toggleComment/issue213706_01.php | 1 +
.../toggleComment/issue213706_01.php.toggleComment | 1 +
.../actions/toggleComment/issue213706_02.php | 1 +
.../toggleComment/issue213706_02.php.toggleComment | 1 +
.../actions/toggleComment/issue213706_03.php | 1 +
.../toggleComment/issue213706_03.php.toggleComment | 1 +
.../actions/toggleComment/issue218830_01.php | 10 +
.../toggleComment/issue218830_01.php.toggleComment | 10 +
.../actions/toggleComment/issue218830_02.php | 10 +
.../toggleComment/issue218830_02.php.toggleComment | 10 +
.../actions/toggleComment/issue218830_03.php | 10 +
.../toggleComment/issue218830_03.php.toggleComment | 10 +
.../actions/toggleComment/issue218830_04.php | 10 +
.../toggleComment/issue218830_04.php.toggleComment | 10 +
.../actions/toggleComment/issue218830_05.php | 10 +
.../toggleComment/issue218830_05.php.toggleComment | 10 +
.../actions/toggleComment/issue228731_01.php | 15 +
.../toggleComment/issue228731_01.php.toggleComment | 15 +
.../actions/toggleComment/issue228731_02.php | 15 +
.../toggleComment/issue228731_02.php.toggleComment | 15 +
.../actions/toggleComment/issue228731_03.php | 15 +
.../toggleComment/issue228731_03.php.toggleComment | 15 +
.../actions/toggleComment/issue228731_04.php | 15 +
.../toggleComment/issue228731_04.php.toggleComment | 15 +
.../actions/toggleComment/issue228731_05.php | 15 +
.../toggleComment/issue228731_05.php.toggleComment | 15 +
.../actions/toggleComment/issue228731_06.php | 15 +
.../toggleComment/issue228731_06.php.toggleComment | 15 +
.../actions/toggleComment/issue228768_01.php | 4 +
.../toggleComment/issue228768_01.php.toggleComment | 4 +
.../actions/toggleComment/issue228768_02.php | 4 +
.../toggleComment/issue228768_02.php.toggleComment | 4 +
.../actions/toggleComment/issue228768_03.php | 4 +
.../toggleComment/issue228768_03.php.toggleComment | 4 +
.../actions/toggleComment/issue228768_04.php | 4 +
.../toggleComment/issue228768_04.php.toggleComment | 4 +
.../actions/toggleComment/issue228768_05.php | 4 +
.../toggleComment/issue228768_05.php.toggleComment | 4 +
.../actions/toggleComment/issue228768_06.php | 4 +
.../toggleComment/issue228768_06.php.toggleComment | 4 +
.../actions/toggleComment/issue231715_01.php | 5 +
.../toggleComment/issue231715_01.php.toggleComment | 5 +
.../actions/toggleComment/issue231715_02.php | 8 +
.../toggleComment/issue231715_02.php.toggleComment | 8 +
.../actions/toggleComment/issue231715_03.php | 5 +
.../toggleComment/issue231715_03.php.toggleComment | 5 +
.../unit/data/testfiles/actions/useCase_01.php | 25 +
.../testfiles/actions/useCase_01.php.usedNames | 8 +
.../unit/data/testfiles/actions/useCase_02.php | 21 +
.../testfiles/actions/useCase_02.php.usedNames | 10 +
.../unit/data/testfiles/actions/useCase_03.php | 23 +
.../testfiles/actions/useCase_03.php.usedNames | 8 +
.../unit/data/testfiles/actions/useCase_04.php | 29 +
.../testfiles/actions/useCase_04.php.usedNames | 9 +
.../unit/data/testfiles/actions/useCase_05.php | 29 +
.../testfiles/actions/useCase_05.php.usedNames | 8 +
.../unit/data/testfiles/actions/useCase_06.php | 17 +
.../testfiles/actions/useCase_06.php.usedNames | 4 +
.../unit/data/testfiles/actions/useCase_07.php | 21 +
.../testfiles/actions/useCase_07.php.usedNames | 3 +
.../unit/data/testfiles/actions/useCase_08.php | 21 +
.../testfiles/actions/useCase_08.php.usedNames | 3 +
php.editor/test/unit/data/testfiles/animalTest.php | 86 +
.../test/unit/data/testfiles/animalTest2.php | 52 +
.../data/testfiles/anonymousClass_01.php.folds | 97 +
php.editor/test/unit/data/testfiles/arrays1.php | 5 +
.../testfiles/bracematching/braceContextTest.php | 130 +
...ContextTest.php.testFindContext_01.bracecontext | 130 +
...ContextTest.php.testFindContext_02.bracecontext | 130 +
...ContextTest.php.testFindContext_03.bracecontext | 130 +
...ContextTest.php.testFindContext_04.bracecontext | 130 +
...ContextTest.php.testFindContext_05.bracecontext | 130 +
...ContextTest.php.testFindContext_06.bracecontext | 130 +
...ContextTest.php.testFindContext_07.bracecontext | 130 +
...ContextTest.php.testFindContext_08.bracecontext | 130 +
...ContextTest.php.testFindContext_09.bracecontext | 130 +
...ContextTest.php.testFindContext_10.bracecontext | 130 +
...ContextTest.php.testFindContext_11.bracecontext | 130 +
...ContextTest.php.testFindContext_12.bracecontext | 130 +
...ContextTest.php.testFindContext_13.bracecontext | 130 +
...ContextTest.php.testFindContext_14.bracecontext | 130 +
...ContextTest.php.testFindContext_15.bracecontext | 130 +
...ContextTest.php.testFindContext_16.bracecontext | 130 +
...ContextTest.php.testFindContext_17.bracecontext | 130 +
...ContextTest.php.testFindContext_18.bracecontext | 130 +
...ContextTest.php.testFindContext_19.bracecontext | 130 +
...ContextTest.php.testFindContext_20.bracecontext | 130 +
...ContextTest.php.testFindContext_21.bracecontext | 130 +
...ContextTest.php.testFindContext_22.bracecontext | 130 +
...ContextTest.php.testFindContext_23.bracecontext | 130 +
...ContextTest.php.testFindContext_24.bracecontext | 130 +
...ContextTest.php.testFindContext_25.bracecontext | 130 +
...ContextTest.php.testFindContext_26.bracecontext | 130 +
...ContextTest.php.testFindContext_27.bracecontext | 130 +
...ContextTest.php.testFindContext_28.bracecontext | 130 +
.../bracematching/braceContextUseTraitTest.php | 15 +
...seTraitTest.php.testFindContext_29.bracecontext | 15 +
.../alternativeSyntaxForEach_01.php | 5 +
.../alternativeSyntaxForEach_01.php.indented | 7 +
.../alternativeSyntaxForEach_02.php | 5 +
.../alternativeSyntaxForEach_02.php.indented | 6 +
.../bracketCompleter/alternativeSyntaxFor_01.php | 3 +
.../alternativeSyntaxFor_01.php.indented | 5 +
.../bracketCompleter/alternativeSyntaxFor_02.php | 5 +
.../alternativeSyntaxFor_02.php.indented | 6 +
.../bracketCompleter/alternativeSyntaxFor_03.php | 5 +
.../alternativeSyntaxFor_03.php.indented | 6 +
.../bracketCompleter/alternativeSyntaxFor_04.php | 6 +
.../alternativeSyntaxFor_04.php.indented | 7 +
.../bracketCompleter/alternativeSyntaxIf_01.php | 3 +
.../alternativeSyntaxIf_01.php.indented | 5 +
.../bracketCompleter/alternativeSyntaxIf_02.php | 4 +
.../alternativeSyntaxIf_02.php.indented | 5 +
.../bracketCompleter/alternativeSyntaxIf_03.php | 5 +
.../alternativeSyntaxIf_03.php.indented | 7 +
.../bracketCompleter/alternativeSyntaxIf_04.php | 6 +
.../alternativeSyntaxIf_04.php.indented | 7 +
.../bracketCompleter/alternativeSyntaxIf_05.php | 15 +
.../alternativeSyntaxIf_05.php.indented | 17 +
.../bracketCompleter/alternativeSyntaxIf_06.php | 16 +
.../alternativeSyntaxIf_06.php.indented | 17 +
.../alternativeSyntaxSwitch_01.php | 4 +
.../alternativeSyntaxSwitch_01.php.indented | 6 +
.../alternativeSyntaxSwitch_02.php | 5 +
.../alternativeSyntaxSwitch_02.php.indented | 6 +
.../alternativeSyntaxSwitch_03.php | 6 +
.../alternativeSyntaxSwitch_03.php.indented | 7 +
.../bracketCompleter/alternativeSyntaxWhile_01.php | 4 +
.../alternativeSyntaxWhile_01.php.indented | 6 +
.../bracketCompleter/alternativeSyntaxWhile_02.php | 4 +
.../alternativeSyntaxWhile_02.php.indented | 5 +
.../bracketCompleter/alternativeSyntaxWhile_03.php | 4 +
.../alternativeSyntaxWhile_03.php.indented | 6 +
.../testfiles/bracketCompleter/issue166424_01.php | 2 +
.../bracketCompleter/issue166424_01.php.indented | 5 +
.../testfiles/bracketCompleter/issue166424_02.php | 2 +
.../bracketCompleter/issue166424_02.php.indented | 5 +
.../testfiles/bracketCompleter/issue166424_03.php | 2 +
.../bracketCompleter/issue166424_03.php.indented | 4 +
.../testfiles/bracketCompleter/issue167816_01.php | 2 +
.../bracketCompleter/issue167816_01.php.indented | 5 +
.../testfiles/bracketCompleter/issue167816_02.php | 2 +
.../bracketCompleter/issue167816_02.php.indented | 5 +
.../testfiles/bracketCompleter/issue170779_01.php | 11 +
.../testfiles/bracketCompleter/issue170779_02.php | 0
.../testfiles/bracketCompleter/issue170779_03.php | 0
.../testfiles/bracketCompleter/issue170779_04.php | 0
.../testfiles/bracketCompleter/issue191856_01.php | 24 +
.../bracketCompleter/issue191856_01.php.indented | 25 +
.../testfiles/bracketCompleter/issue191892_01.php | 7 +
.../bracketCompleter/issue191892_01.php.indented | 9 +
.../testfiles/bracketCompleter/issue193118_01.php | 8 +
.../bracketCompleter/issue193118_01.php.indented | 10 +
.../testfiles/bracketCompleter/issue193118_02.php | 8 +
.../bracketCompleter/issue193118_02.php.indented | 10 +
.../testfiles/bracketCompleter/issue195771_01.php | 1 +
.../bracketCompleter/issue195771_01.php.indented | 4 +
.../testfiles/bracketCompleter/issue195771_02.php | 1 +
.../bracketCompleter/issue195771_02.php.indented | 4 +
.../testfiles/bracketCompleter/issue195771_03.php | 5 +
.../bracketCompleter/issue195771_03.php.indented | 6 +
.../testfiles/bracketCompleter/issue195771_04.php | 1 +
.../bracketCompleter/issue195771_04.php.indented | 4 +
.../testfiles/bracketCompleter/issue195771_05.php | 1 +
.../bracketCompleter/issue195771_05.php.indented | 4 +
.../testfiles/bracketCompleter/issue195771_06.php | 1 +
.../bracketCompleter/issue195771_06.php.indented | 4 +
.../testfiles/bracketCompleter/issue195771_07.php | 1 +
.../bracketCompleter/issue195771_07.php.indented | 4 +
.../testfiles/bracketCompleter/issue196596_01.php | 6 +
.../bracketCompleter/issue196596_01.php.indented | 7 +
.../testfiles/bracketCompleter/issue196596_02.php | 6 +
.../bracketCompleter/issue196596_02.php.indented | 7 +
.../testfiles/bracketCompleter/issue196596_03.php | 6 +
.../bracketCompleter/issue196596_03.php.indented | 7 +
.../testfiles/bracketCompleter/issue196596_04.php | 6 +
.../bracketCompleter/issue196596_04.php.indented | 7 +
.../testfiles/bracketCompleter/issue197924_01.php | 8 +
.../bracketCompleter/issue197924_01.php.indented | 11 +
.../testfiles/bracketCompleter/issue197924_02.php | 8 +
.../bracketCompleter/issue197924_02.php.indented | 11 +
.../testfiles/bracketCompleter/issue202362_01.php | 14 +
.../bracketCompleter/issue202362_01.php.indented | 15 +
.../testfiles/bracketCompleter/issue202362_02.php | 14 +
.../bracketCompleter/issue202362_02.php.indented | 15 +
.../testfiles/bracketCompleter/issue202362_03.php | 14 +
.../bracketCompleter/issue202362_03.php.indented | 16 +
.../testfiles/bracketCompleter/issue202362_04.php | 14 +
.../bracketCompleter/issue202362_04.php.indented | 16 +
.../testfiles/bracketCompleter/issue202770_01.php | 6 +
.../bracketCompleter/issue202770_01.php.indented | 8 +
.../testfiles/bracketCompleter/issue202770_02.php | 14 +
.../bracketCompleter/issue202770_02.php.indented | 16 +
.../testfiles/bracketCompleter/issue202770_03.php | 14 +
.../bracketCompleter/issue202770_03.php.indented | 16 +
.../testfiles/bracketCompleter/issue202770_04.php | 23 +
.../bracketCompleter/issue202770_04.php.indented | 25 +
.../testfiles/bracketCompleter/issue203513.php | 8 +
.../bracketCompleter/issue203513.php.indented | 10 +
.../testfiles/bracketCompleter/issue211394_01.php | 5 +
.../bracketCompleter/issue211394_01.php.indented | 6 +
.../testfiles/bracketCompleter/issue211394_02.php | 5 +
.../bracketCompleter/issue211394_02.php.indented | 6 +
.../testfiles/bracketCompleter/issue211394_03.php | 5 +
.../bracketCompleter/issue211394_03.php.indented | 6 +
.../testClassPropertyGetter.php | 9 +
...pertyGetter.php.testClassPropertyGetter.codegen | 4 +
.../testClassPropertyGetterWithoutPublic.php | 9 +
...hp.testClassPropertyGetterWithoutPublic.codegen | 4 +
.../testClassPropertySetter.php | 9 +
...pertySetter.php.testClassPropertySetter.codegen | 4 +
.../testClassPropertySetterWithFluentInterface.php | 9 +
...tClassPropertySetterWithFluentInterface.codegen | 5 +
.../testClassPropertySetterWithoutPublic.php | 9 +
...hp.testClassPropertySetterWithoutPublic.codegen | 4 +
.../testGetterWithMoreTypes.php | 11 +
...oreTypes.php.testGetterWithMoreTypes_01.codegen | 4 +
...oreTypes.php.testGetterWithMoreTypes_02.codegen | 4 +
.../testGetterWithType/testGetterWithType.php | 10 +
...etterWithType.php.testGetterWithType_01.codegen | 4 +
...etterWithType.php.testGetterWithType_02.codegen | 4 +
.../testInstanceImplementMethod.php | 9 +
...thod.php.testInstanceImplementMethod_01.codegen | 2 +
...thod.php.testInstanceImplementMethod_02.codegen | 2 +
.../testInstanceOverrideMethod.php | 9 +
...ethod.php.testInstanceOverrideMethod_01.codegen | 3 +
...ethod.php.testInstanceOverrideMethod_02.codegen | 3 +
.../testInstancePropertyGetter.php | 9 +
...tyGetter.php.testInstancePropertyGetter.codegen | 4 +
.../testInstancePropertySetter.php | 9 +
...tySetter.php.testInstancePropertySetter.codegen | 4 +
...stInstancePropertySetterWithFluentInterface.php | 9 +
...stancePropertySetterWithFluentInterface.codegen | 5 +
.../codegen/testIssue267227/testIssue267227.php | 32 +
.../testIssue267227.php.testIssue267227.codegen | 6 +
.../completion/documentation/arrayReturnType.php | 14 +
.../arrayReturnType.php.testArrayReturnType.html | 9 +
.../completion/documentation/fieldVar.php | 43 +
.../fieldVar.php.testFieldWithDesc.html | 11 +
.../fieldVar.php.testFieldWithDescAndArray.html | 11 +
.../fieldVar.php.testFieldWithoutDesc.html | 9 +
.../fieldVar.php.testFieldWithoutDescAndArray.html | 9 +
.../functionWithArrayParamWithoutDesc.php | 12 +
....php.testFunctionWithArrayParamWithoutDesc.html | 11 +
.../functionWithArrayReturnWithoutDesc.php | 12 +
...php.testFunctionWithArrayReturnWithoutDesc.html | 9 +
.../completion/documentation/inheritdoc.php | 193 +
...itdoc.php.testInheritdocChildMethodOnlyTag.html | 13 +
.../inheritdoc.php.testInheritdocClassOnlyTag.html | 11 +
...itdoc.php.testInheritdocClassWithInlineTag.html | 9 +
...p.testInheritdocGrandchildMethodOnlyTag_01.html | 13 +
...p.testInheritdocGrandchildMethodOnlyTag_02.html | 9 +
...eritdoc.php.testInheritdocInterfaceOnlyTag.html | 11 +
...c.php.testInheritdocInterfaceWithInlineTag.html | 9 +
...tdoc.php.testInheritdocMethodWithInlineTag.html | 13 +
...doc.php.testInheritdocMethodWithInvalidTag.html | 10 +
...c.php.testInheritdocMethodWithMissingParam.html | 13 +
.../inheritdoc.php.testInheritdocNoDocMethod.html | 6 +
.../inheritdoc.php.testInheritdocNoTagMethod.html | 14 +
.../completion/documentation/issue197696.php | 18 +
.../documentation/issue197696.php.test197696.html | 6 +
.../completion/documentation/issue207952.php | 23 +
.../issue207952.php.testIssue207952_01.html | 13 +
.../issue207952.php.testIssue207952_02.html | 15 +
.../completion/documentation/issue207952_nonNs.php | 23 +
.../issue207952_nonNs.php.testIssue207952_03.html | 13 +
.../issue207952_nonNs.php.testIssue207952_04.html | 15 +
.../completion/documentation/issue215408.php | 10 +
.../issue215408.php.testIssue215408.html | 6 +
.../completion/documentation/issue245158.php | 29 +
.../issue245158.php.testIssue245158_01.html | 11 +
.../issue245158.php.testIssue245158_02.html | 11 +
.../completion/documentation/propertyWithArray.php | 13 +
...ropertyWithArray.php.testPropertyWithArray.html | 6 +
.../completion/lib/_base/catchinstanceof.php | 12 +
.../catchinstanceof.php.testTypeInCatch.completion | 4 +
.../lib/_base/classConstructorOptionalParam.php | 30 +
...testClassConstructorOptionalParam_01.completion | 12 +
.../lib/_base/class_member_visibility.php | 23 +
...ility.php.testClassMemberVisibility1.completion | 5 +
...ility.php.testClassMemberVisibility2.completion | 7 +
...ility.php.testClassMemberVisibility3.completion | 5 +
.../completion/lib/_base/clsDeclaration.php | 8 +
...lsDeclaration.php.testClsDeclaration.completion | 3 +
...Declaration.php.testClsDeclaration_1.completion | 3 +
...Declaration.php.testClsDeclaration_2.completion | 3 +
...Declaration.php.testClsDeclaration_3.completion | 6 +
...Declaration.php.testClsDeclaration_4.completion | 5 +
...Declaration.php.testClsDeclaration_5.completion | 3 +
...Declaration.php.testClsDeclaration_6.completion | 6 +
...Declaration.php.testClsDeclaration_7.completion | 6 +
...Declaration.php.testClsDeclaration_8.completion | 5 +
.../completion/lib/_base/clsDeclaration02.php | 17 +
...laration02.php.testClsDeclaration_10.completion | 89 +
...laration02.php.testClsDeclaration_11.completion | 14 +
...laration02.php.testClsDeclaration_12.completion | 14 +
...laration02.php.testClsDeclaration_13.completion | 89 +
...claration02.php.testClsDeclaration_9.completion | 89 +
.../testfiles/completion/lib/_base/comments.php | 11 +
.../_base/comments.php.testComments1.completion | 3 +
.../_base/comments.php.testComments2.completion | 3 +
.../completion/lib/_base/function_return_type.php | 32 +
...urn_type.php.testFunctionReturnType1.completion | 6 +
...urn_type.php.testFunctionReturnType2.completion | 6 +
...urn_type.php.testFunctionReturnType3.completion | 6 +
.../testfiles/completion/lib/_base/insideClass.php | 20 +
.../insideClass.php.testInsideClass.completion | 5 +
.../insideClass.php.testInsideClass_1.completion | 5 +
.../insideClass.php.testInsideClass_2.completion | 16 +
.../insideClass.php.testInsideClass_3.completion | 4 +
.../insideClass.php.testInsideClass_4.completion | 3 +
.../insideClass.php.testInsideClass_5.completion | 3 +
.../insideClass.php.testInsideClass_6.completion | 4 +
.../insideClass.php.testInsideClass_7.completion | 5 +
.../insideClass.php.testInsideClass_8.completion | 6 +
.../completion/lib/_base/insideClass2.php | 24 +
.../insideClass2.php.testInsideClassAdv.completion | 5 +
...nsideClass2.php.testInsideClassAdv_1.completion | 6 +
...nsideClass2.php.testInsideClassAdv_2.completion | 6 +
...nsideClass2.php.testInsideClassAdv_3.completion | 4 +
...nsideClass2.php.testInsideClassAdv_4.completion | 5 +
.../completion/lib/_base/insideClass3.php | 12 +
.../insideClass3.php.testInsideClass_10.completion | 5 +
.../insideClass3.php.testInsideClass_11.completion | 5 +
.../insideClass3.php.testInsideClass_9.completion | 5 +
.../completion/lib/_base/insideInterface.php | 13 +
...ideInterface.php.testInsideInterface.completion | 5 +
...eInterface.php.testInsideInterface_1.completion | 5 +
...Interface.php.testInsideInterface_10.completion | 6 +
...Interface.php.testInsideInterface_11.completion | 5 +
...Interface.php.testInsideInterface_12.completion | 6 +
...Interface.php.testInsideInterface_13.completion | 8 +
...Interface.php.testInsideInterface_14.completion | 8 +
...eInterface.php.testInsideInterface_2.completion | 5 +
...eInterface.php.testInsideInterface_3.completion | 5 +
...eInterface.php.testInsideInterface_4.completion | 5 +
...eInterface.php.testInsideInterface_5.completion | 5 +
...eInterface.php.testInsideInterface_6.completion | 5 +
...eInterface.php.testInsideInterface_7.completion | 5 +
...eInterface.php.testInsideInterface_9.completion | 5 +
.../testfiles/completion/lib/_base/interfaces.php | 13 +
.../interfaces.php.testInterfaces1.completion | 5 +
.../testfiles/completion/lib/_base/issue132294.php | 5 +
.../_base/issue132294.php.test132294.completion | 4 +
.../_base/issue132294.php.test132294_1.completion | 4 +
.../testfiles/completion/lib/_base/issue135618.php | 13 +
.../_base/issue135618.php.test135618.completion | 6 +
.../_base/issue135618.php.test135618_1.completion | 6 +
.../_base/issue135618.php.test135618_2.completion | 5 +
.../testfiles/completion/lib/_base/issue136092.php | 9 +
...e136092.php.test136092_withReference.completion | 4 +
...6092.php.test136092_withoutReference.completion | 4 +
.../testfiles/completion/lib/_base/issue136188.php | 16 +
.../_base/issue136188.php.test136188.completion | 5 +
.../_base/issue136188.php.test136188_1.completion | 5 +
.../_base/issue136188.php.test136188_2.completion | 5 +
.../_base/issue136188.php.test136188_3.completion | 4 +
.../_base/issue136188.php.test136188_4.completion | 4 +
.../testfiles/completion/lib/_base/issue136744.php | 20 +
.../_base/issue136744.php.test136744_2.completion | 3 +
.../_base/issue136744.php.test136744_3.completion | 4 +
.../_base/issue136744.php.test136744_4.completion | 3 +
.../testfiles/completion/lib/_base/issue137033.php | 5 +
.../_base/issue137033.php.test137033_1.completion | 3 +
.../_base/issue137033.php.test137033_2.completion | 3 +
.../testfiles/completion/lib/_base/issue140633.php | 4 +
.../_base/issue140633.php.test140633.completion | 5 +
.../testfiles/completion/lib/_base/issue140758.php | 4 +
.../_base/issue140758.php.test140758.completion | 36 +
.../_base/issue140758.php.test140758_1.completion | 36 +
.../testfiles/completion/lib/_base/issue140784.php | 23 +
.../_base/issue140784.php.test140784.completion | 5 +
.../testfiles/completion/lib/_base/issue141999.php | 13 +
.../_base/issue141999.php.test141999.completion | 4 +
.../testfiles/completion/lib/_base/issue142024.php | 14 +
.../_base/issue142024.php.test142024.completion | 5 +
.../testfiles/completion/lib/_base/issue142051.php | 15 +
.../_base/issue142051.php.test142051.completion | 4 +
.../_base/issue142051.php.test142051_1.completion | 4 +
.../testfiles/completion/lib/_base/issue142091.php | 10 +
.../_base/issue142091.php.test142091.completion | 4 +
.../_base/issue142091.php.test142091_1.completion | 4 +
.../testfiles/completion/lib/_base/issue142234.php | 13 +
.../_base/issue142234.php.test142234.completion | 3 +
.../_base/issue142234.php.test142234_1.completion | 5 +
.../testfiles/completion/lib/_base/issue142919.php | 12 +
.../_base/issue142919.php.test142919.completion | 6 +
.../testfiles/completion/lib/_base/issue144409.php | 13 +
.../_base/issue144409.php.test144409.completion | 4 +
.../testfiles/completion/lib/_base/issue144830.php | 8 +
.../_base/issue144830.php.test144830.completion | 5 +
.../completion/lib/_base/issue144840_01.php | 11 +
...ssue144840_01.php.testIssue144840_01.completion | 5 +
.../testfiles/completion/lib/_base/issue145138.php | 9 +
.../_base/issue145138.php.test145138_1.completion | 4 +
.../_base/issue145138.php.test145138_2.completion | 4 +
.../testfiles/completion/lib/_base/issue145206.php | 17 +
.../_base/issue145206.php.test145206_1.completion | 5 +
.../_base/issue145206.php.test145206_2.completion | 5 +
.../_base/issue145206.php.test145206_3.completion | 5 +
.../_base/issue145206.php.test145206_4.completion | 5 +
.../testfiles/completion/lib/_base/issue145692.php | 13 +
.../_base/issue145692.php.test145692.completion | 4 +
.../testfiles/completion/lib/_base/issue146176.php | 8 +
.../_base/issue146176.php.test146176.completion | 3 +
.../testfiles/completion/lib/_base/issue146187.php | 17 +
.../_base/issue146187.php.test146187.completion | 5 +
.../testfiles/completion/lib/_base/issue146648.php | 8 +
.../_base/issue146648.php.test146648_1.completion | 5 +
.../testfiles/completion/lib/_base/issue147055.php | 3 +
.../_base/issue147055.php.test147055.completion | 3 +
.../testfiles/completion/lib/_base/issue147179.php | 9 +
.../_base/issue147179.php.test147179_1.completion | 5 +
.../_base/issue147179.php.test147179_2.completion | 5 +
.../testfiles/completion/lib/_base/issue147191.php | 13 +
.../_base/issue147191.php.test147191.completion | 5 +
.../testfiles/completion/lib/_base/issue147427.php | 10 +
.../_base/issue147427.php.test147427.completion | 4 +
.../testfiles/completion/lib/_base/issue147575.php | 27 +
.../_base/issue147575.php.test147575.completion | 6 +
.../_base/issue147575.php.test147575_1.completion | 6 +
.../_base/issue147575.php.test147575_2.completion | 6 +
.../_base/issue147575.php.test147575_3.completion | 6 +
.../_base/issue147575.php.test147575_4.completion | 6 +
.../_base/issue147575.php.test147575_5.completion | 6 +
.../_base/issue147575.php.test147575_6.completion | 6 +
.../_base/issue147575.php.test147575_7.completion | 6 +
.../_base/issue147575.php.test147575_8.completion | 6 +
.../_base/issue147575.php.test147575_9.completion | 6 +
.../_base/issue147575.php.test1o147575.completion | 6 +
.../_base/issue147575.php.test2i147575.completion | 6 +
.../_base/issue147575.php.test2o147575.completion | 6 +
.../_base/issue147575.php.test3i147575.completion | 6 +
.../_base/issue147575.php.test3o147575.completion | 6 +
.../_base/issue147575.php.test4i147575.completion | 6 +
.../_base/issue147575.php.test5i147575.completion | 6 +
.../_base/issue147575.php.test6i147575.completion | 6 +
.../_base/issue147575.php.test7i147575.completion | 6 +
.../_base/issue147575.php.test8i147575.completion | 6 +
.../_base/issue147575.php.test9i147575.completion | 6 +
.../testfiles/completion/lib/_base/issue147883.php | 12 +
.../_base/issue147883.php.test147883.completion | 4 +
.../testfiles/completion/lib/_base/issue148109.php | 12 +
.../_base/issue148109.php.test148109.completion | 6 +
.../testfiles/completion/lib/_base/issue148213.php | 18 +
.../_base/issue148213.php.test148213.completion | 4 +
.../testfiles/completion/lib/_base/issue148219.php | 11 +
.../_base/issue148219.php.test148219.completion | 4 +
.../testfiles/completion/lib/_base/issue148856.php | 14 +
.../_base/issue148856.php.test148856.completion | 4 +
.../testfiles/completion/lib/_base/issue149519.php | 9 +
.../_base/issue149519.php.test149519.completion | 5 +
.../testfiles/completion/lib/_base/issue153707.php | 20 +
.../issue153707.php.testIssue153707_01.completion | 217 +
.../issue153707.php.testIssue153707_02.completion | 20 +
.../issue153707.php.testIssue153707_03.completion | 4 +
.../issue153707.php.testIssue153707_04.completion | 4 +
.../testfiles/completion/lib/_base/issue153867.php | 3 +
.../issue153867.php.testIssue153867.completion | 212 +
.../issue153867.php.testIssue153867_01.completion | 3 +
.../issue153867.php.testIssue153867_02.completion | 3 +
.../issue153867.php.testIssue153867_03.completion | 3 +
.../testfiles/completion/lib/_base/issue154055.php | 9 +
.../_base/issue154055.php.test154055.completion | 5 +
.../testfiles/completion/lib/_base/issue157534.php | 16 +
.../issue157534.php.testIssue157534.completion | 4 +
.../issue157534.php.testIssue157534_1.completion | 4 +
.../issue157534.php.testIssue157534_2.completion | 4 +
.../completion/lib/_base/issue171232_01.php | 14 +
...ssue171232_01.php.testIssue171232_01.completion | 5 +
.../completion/lib/_base/issue171232_02.php | 14 +
...ssue171232_02.php.testIssue171232_02.completion | 5 +
.../testfiles/completion/lib/_base/issue194300.php | 33 +
.../issue194300.php.testIssue194300_01.completion | 6 +
.../testfiles/completion/lib/_base/issue196714.php | 17 +
.../issue196714.php.testIssue196714.completion | 5 +
.../testfiles/completion/lib/_base/issue197453.php | 18 +
.../issue197453.php.testIssue197453.completion | 4 +
.../testfiles/completion/lib/_base/issue197571.php | 15 +
.../issue197571.php.testIssue197571.completion | 8 +
.../testfiles/completion/lib/_base/issue200178.php | 8 +
.../issue200178.php.testIssue200178.completion | 8 +
.../issue200178.php.testIssue200178_1.completion | 9 +
.../testfiles/completion/lib/_base/issue200795.php | 11 +
.../issue200795.php.testIssue200795.completion | 89 +
.../testfiles/completion/lib/_base/issue201032.php | 66 +
.../issue201032.php.testIssue201032_1.completion | 4 +
.../issue201032.php.testIssue201032_2.completion | 4 +
.../issue201032.php.testIssue201032_3.completion | 4 +
.../issue201032.php.testIssue201032_4.completion | 4 +
.../issue201032.php.testIssue201032_5.completion | 4 +
.../issue201032.php.testIssue201032_6.completion | 4 +
.../issue201032.php.testIssue201032_7.completion | 4 +
.../testfiles/completion/lib/_base/issue202281.php | 10 +
.../issue202281.php.testIssue202281.completion | 6 +
.../testfiles/completion/lib/_base/mixedtypes.php | 57 +
.../mixedtypes.php.testMixedType01.completion | 7 +
.../mixedtypes.php.testMixedType02.completion | 7 +
.../mixedtypes.php.testMixedType03.completion | 6 +
.../completion/lib/_base/mixedtypes_1.php | 60 +
.../mixedtypes_1.php.testMixedType01_1.completion | 7 +
.../mixedtypes_1.php.testMixedType02_1.completion | 7 +
.../mixedtypes_1.php.testMixedType03_1.completion | 6 +
.../testfiles/completion/lib/_base/namespaces1.php | 10 +
.../testfiles/completion/lib/_base/nowdoc02.php | 16 +
.../completion/lib/_base/optional_args.php | 10 +
...optional_args.php.testOptionalArgs_1.completion | 6 +
...optional_args.php.testOptionalArgs_2.completion | 5 +
.../completion/lib/_base/test_cc_on_methods.php | 46 +
...t_cc_on_methods.php.testCCOnMethods0.completion | 4 +
...t_cc_on_methods.php.testCCOnMethods1.completion | 6 +
...t_cc_on_methods.php.testCCOnMethods2.completion | 6 +
...t_cc_on_methods.php.testCCOnMethods3.completion | 6 +
...t_cc_on_methods.php.testCCOnMethods4.completion | 4 +
...t_cc_on_methods.php.testCCOnMethods5.completion | 6 +
...t_cc_on_methods.php.testCCOnMethods6.completion | 4 +
.../data/testfiles/completion/lib/_base/tst.php | 3 +
.../lib/_base/tst.php.testPhpContext9.completion | 6 +
.../tst.php.testPhpContextWithPrefix.completion | 18 +
.../completion/lib/_base/typeInPHPDoc01.php | 17 +
...ypeInPHPDoc01.php.testTypesInPHPDOC4.completion | 5 +
.../completion/lib/_base/types_in_phpdoc.php | 15 +
...pes_in_phpdoc.php.testTypesInPHPDOC1.completion | 4 +
...pes_in_phpdoc.php.testTypesInPHPDOC2.completion | 4 +
...pes_in_phpdoc.php.testTypesInPHPDOC3.completion | 3 +
.../completion/lib/_base/varAssignment.php | 157 +
...arAssignment.php.testVarAssignment_1.completion | 7 +
...rAssignment.php.testVarAssignment_10.completion | 7 +
...rAssignment.php.testVarAssignment_11.completion | 7 +
...rAssignment.php.testVarAssignment_12.completion | 7 +
...rAssignment.php.testVarAssignment_13.completion | 11 +
...rAssignment.php.testVarAssignment_14.completion | 7 +
...rAssignment.php.testVarAssignment_15.completion | 7 +
...rAssignment.php.testVarAssignment_16.completion | 7 +
...rAssignment.php.testVarAssignment_18.completion | 7 +
...rAssignment.php.testVarAssignment_19.completion | 7 +
...arAssignment.php.testVarAssignment_2.completion | 7 +
...rAssignment.php.testVarAssignment_20.completion | 7 +
...rAssignment.php.testVarAssignment_21.completion | 7 +
...rAssignment.php.testVarAssignment_22.completion | 7 +
...rAssignment.php.testVarAssignment_23.completion | 7 +
...rAssignment.php.testVarAssignment_24.completion | 7 +
...arAssignment.php.testVarAssignment_3.completion | 7 +
...arAssignment.php.testVarAssignment_4.completion | 7 +
...arAssignment.php.testVarAssignment_5.completion | 7 +
...arAssignment.php.testVarAssignment_6.completion | 7 +
...arAssignment.php.testVarAssignment_7.completion | 7 +
...arAssignment.php.testVarAssignment_8.completion | 7 +
...arAssignment.php.testVarAssignment_9.completion | 7 +
.../completion/lib/_base/varAssignment2.php | 7 +
.../_base/varAssignment2.php.test145835.completion | 4 +
.../completion/lib/_base/varTypeComment.php | 20 +
...Comment.php.testVarTypeCommentType02.completion | 4 +
...ent.php.testVarTypeCommentVariable02.completion | 4 +
.../testfiles/completion/lib/_base/var_scope.php | 12 +
.../_base/var_scope.php.testVarScope1.completion | 20 +
.../_base/var_scope.php.testVarScope2.completion | 4 +
.../testfiles/completion/lib/arrays/arrays.php | 33 +
.../lib/arrays/arrays.php.testArrays_01.completion | 5 +
.../lib/arrays/arrays.php.testArrays_02.completion | 5 +
.../lib/arrays/arrays.php.testArrays_03.completion | 5 +
.../lib/arrays/arrays.php.testArrays_04.completion | 5 +
.../completion/lib/byReferences/byReferences.php | 49 +
.../byReferences.php.testByReferences01.completion | 13 +
.../byReferences.php.testByReferences02.completion | 4 +
.../byReferences.php.testByReferences03.completion | 13 +
.../byReferences.php.testByReferences04.completion | 5 +
.../byReferences.php.testByReferences05.completion | 13 +
.../byReferences.php.testByReferences06.completion | 4 +
.../byReferences.php.testByReferences07.completion | 13 +
.../byReferences.php.testByReferences08.completion | 13 +
.../byReferences.php.testByReferences09.completion | 3 +
.../byReferences.php.testByReferences10.completion | 13 +
.../byReferences.php.testByReferences11.completion | 3 +
.../byReferences.php.testByReferences12.completion | 13 +
.../byReferences.php.testByReferences13.completion | 5 +
.../byReferences.php.testByReferences14.completion | 13 +
.../byReferences.php.testByReferences15.completion | 4 +
.../byReferences.php.testByReferences16.completion | 13 +
.../byReferences.php.testByReferences17.completion | 5 +
.../byReferences.php.testByReferences18.completion | 13 +
.../byReferences.php.testByReferences19.completion | 4 +
.../byReferences.php.testByReferences20.completion | 13 +
.../byReferences.php.testByReferences21.completion | 5 +
.../byReferences.php.testByReferences22.completion | 13 +
.../byReferences.php.testByReferences23.completion | 4 +
.../byReferences.php.testByReferences24.completion | 13 +
.../byReferences.php.testByReferences25.completion | 5 +
.../byReferences.php.testByReferences26.completion | 13 +
.../byReferences.php.testByReferences27.completion | 4 +
.../byReferences.php.testByReferences28.completion | 13 +
.../byReferences.php.testByReferences29.completion | 5 +
.../byReferences.php.testByReferences30.completion | 13 +
.../byReferences.php.testByReferences31.completion | 4 +
.../byReferences.php.testByReferences32.completion | 13 +
.../byReferences.php.testByReferences33.completion | 5 +
.../byReferences.php.testByReferences34.completion | 13 +
.../byReferences.php.testByReferences35.completion | 4 +
.../byReferences.php.testByReferences36.completion | 13 +
.../byReferences.php.testByReferences37.completion | 4 +
.../completion/lib/codeTemplateFilter/empty.php | 2 +
.../netbeans68version/magicmethods/issue242396.php | 8 +
.../issue242396.php.testIssue242396.completion | 5 +
.../magicmethods/issue242396_data.php | 39 +
.../magicmethods/magicmethods.php | 10 +
.../magicmethods.php.testParamDeclTypes.completion | 5 +
.../paramdecltypes/paramdecltypes.php | 7 +
...aramdecltypes.php.testParamDeclTypes.completion | 89 +
...amdecltypes.php.testParamDeclTypes10.completion | 3 +
...amdecltypes.php.testParamDeclTypes11.completion | 12 +
...amdecltypes.php.testParamDeclTypes12.completion | 3 +
...amdecltypes.php.testParamDeclTypes13.completion | 3 +
...amdecltypes.php.testParamDeclTypes14.completion | 12 +
...ramdecltypes.php.testParamDeclTypes2.completion | 3 +
...ramdecltypes.php.testParamDeclTypes3.completion | 3 +
...ramdecltypes.php.testParamDeclTypes4.completion | 3 +
...ramdecltypes.php.testParamDeclTypes5.completion | 12 +
...ramdecltypes.php.testParamDeclTypes6.completion | 3 +
...ramdecltypes.php.testParamDeclTypes7.completion | 3 +
...ramdecltypes.php.testParamDeclTypes8.completion | 12 +
...ramdecltypes.php.testParamDeclTypes9.completion | 3 +
.../typeinference/typeinference.php | 108 +
...typeinference.php.testTypeInference1.completion | 12 +
...ypeinference.php.testTypeInference10.completion | 12 +
...ypeinference.php.testTypeInference11.completion | 12 +
...ypeinference.php.testTypeInference12.completion | 12 +
...ypeinference.php.testTypeInference13.completion | 12 +
...ypeinference.php.testTypeInference14.completion | 12 +
...ypeinference.php.testTypeInference15.completion | 3 +
...ypeinference.php.testTypeInference16.completion | 12 +
...ypeinference.php.testTypeInference17.completion | 12 +
...ypeinference.php.testTypeInference18.completion | 12 +
...typeinference.php.testTypeInference2.completion | 12 +
...typeinference.php.testTypeInference3.completion | 12 +
...typeinference.php.testTypeInference4.completion | 12 +
...typeinference.php.testTypeInference5.completion | 12 +
...typeinference.php.testTypeInference7.completion | 12 +
...typeinference.php.testTypeInference8.completion | 12 +
...typeinference.php.testTypeInference9.completion | 12 +
.../lib/php54/anonymousObjectVariables.php | 10 +
....php.testAnonymousObjectVariables_01.completion | 5 +
....php.testAnonymousObjectVariables_02.completion | 5 +
.../lib/php54/anonymousObjectVariablesNs.php | 23 +
...hp.testAnonymousObjectVariablesNs_01.completion | 4 +
...hp.testAnonymousObjectVariablesNs_02.completion | 4 +
...hp.testAnonymousObjectVariablesNs_03.completion | 4 +
.../completion/lib/php54/callableTypeHint.php | 11 +
...TypeHint.php.testCallableTypeHint_01.completion | 19 +
...TypeHint.php.testCallableTypeHint_02.completion | 6 +
...TypeHint.php.testCallableTypeHint_03.completion | 19 +
...TypeHint.php.testCallableTypeHint_04.completion | 6 +
.../testfiles/completion/lib/php54/shortArrays.php | 4 +
.../shortArrays.php.testShortArrays.completion | 4 +
.../data/testfiles/completion/lib/php54/traits.php | 45 +
.../lib/php54/traits.php.testTraits1.completion | 6 +
.../lib/php54/traits.php.testTraits2.completion | 8 +
.../lib/php54/traits.php.testTraits3.completion | 10 +
.../lib/php54/traits.php.testTraits4.completion | 16 +
.../completion/lib/php54/traitsMultiUse.php | 33 +
...aitsMultiUse.php.testTraitsMultiUse1.completion | 16 +
...aitsMultiUse.php.testTraitsMultiUse2.completion | 8 +
.../completion/lib/php56/useFuncAndConst.php | 19 +
...cAndConst.php.testUseFuncAndConst_01.completion | 5 +
...cAndConst.php.testUseFuncAndConst_02.completion | 5 +
...cAndConst.php.testUseFuncAndConst_03.completion | 5 +
...cAndConst.php.testUseFuncAndConst_04.completion | 5 +
...cAndConst.php.testUseFuncAndConst_05.completion | 4 +
...cAndConst.php.testUseFuncAndConst_06.completion | 5 +
...cAndConst.php.testUseFuncAndConst_07.completion | 4 +
...cAndConst.php.testUseFuncAndConst_08.completion | 5 +
.../completion/lib/php70/anonymousClass01.php | 13 +
...ousClass01.php.testAnonymousClass01a.completion | 4 +
...ousClass01.php.testAnonymousClass01b.completion | 4 +
...ousClass01.php.testAnonymousClass01c.completion | 6 +
...ousClass01.php.testAnonymousClass01d.completion | 7 +
...ousClass01.php.testAnonymousClass01e.completion | 6 +
...ousClass01.php.testAnonymousClass01f.completion | 4 +
...ousClass01.php.testAnonymousClass01g.completion | 5 +
...ousClass01.php.testAnonymousClass01h.completion | 27 +
.../completion/lib/php70/anonymousClass02.php | 16 +
...ousClass02.php.testAnonymousClass02a.completion | 158 +
...ousClass02.php.testAnonymousClass02b.completion | 33 +
...ousClass02.php.testAnonymousClass02c.completion | 6 +
...ousClass02.php.testAnonymousClass02d.completion | 158 +
...ousClass02.php.testAnonymousClass02e.completion | 158 +
...ousClass02.php.testAnonymousClass02f.completion | 5 +
...ousClass02.php.testAnonymousClass02g.completion | 4 +
.../completion/lib/php70/anonymousClass03.php | 30 +
...ousClass03.php.testAnonymousClass03a.completion | 19 +
...ousClass03.php.testAnonymousClass03b.completion | 7 +
...ousClass03.php.testAnonymousClass03c.completion | 8 +
...ousClass03.php.testAnonymousClass03d.completion | 4 +
.../testfiles/completion/lib/php70/groupUse01.php | 15 +
.../groupUse01.php.testGroupUse01a.completion | 14 +
.../groupUse01.php.testGroupUse01b.completion | 14 +
.../groupUse01.php.testGroupUse01c.completion | 6 +
.../groupUse01.php.testGroupUse01d.completion | 7 +
.../testfiles/completion/lib/php70/groupUse02.php | 15 +
.../groupUse02.php.testGroupUse02a.completion | 14 +
.../groupUse02.php.testGroupUse02b.completion | 14 +
.../groupUse02.php.testGroupUse02c.completion | 6 +
.../groupUse02.php.testGroupUse02d.completion | 7 +
.../testfiles/completion/lib/php70/groupUse03.php | 15 +
.../groupUse03.php.testGroupUse03a.completion | 14 +
.../groupUse03.php.testGroupUse03b.completion | 14 +
.../groupUse03.php.testGroupUse03c.completion | 6 +
.../groupUse03.php.testGroupUse03d.completion | 7 +
.../testfiles/completion/lib/php70/groupUse04.php | 68 +
.../groupUse04.php.testGroupUse04a.completion | 14 +
.../completion/lib/php70/groupUseBase.php | 39 +
.../completion/lib/php70/groupUseConst01.php | 12 +
...pUseConst01.php.testGroupUseConst01a.completion | 7 +
...pUseConst01.php.testGroupUseConst01b.completion | 6 +
...pUseConst01.php.testGroupUseConst01c.completion | 5 +
.../completion/lib/php70/groupUseConst02.php | 12 +
...pUseConst02.php.testGroupUseConst02a.completion | 7 +
.../completion/lib/php70/groupUseConst03.php | 12 +
...pUseConst03.php.testGroupUseConst03a.completion | 7 +
.../completion/lib/php70/groupUseFunction01.php | 12 +
...nction01.php.testGroupUseFunction01a.completion | 7 +
...nction01.php.testGroupUseFunction01b.completion | 6 +
...nction01.php.testGroupUseFunction01c.completion | 5 +
.../completion/lib/php70/groupUseFunction02.php | 12 +
...nction02.php.testGroupUseFunction02a.completion | 7 +
.../completion/lib/php70/groupUseFunction03.php | 12 +
...nction03.php.testGroupUseFunction03a.completion | 7 +
.../completion/lib/php70/groupUseMixed01.php | 27 +
...pUseMixed01.php.testGroupUseMixed01a.completion | 14 +
...pUseMixed01.php.testGroupUseMixed01b.completion | 5 +
...pUseMixed01.php.testGroupUseMixed01c.completion | 7 +
...pUseMixed01.php.testGroupUseMixed01d.completion | 4 +
...pUseMixed01.php.testGroupUseMixed01e.completion | 7 +
...pUseMixed01.php.testGroupUseMixed01f.completion | 4 +
...pUseMixed01.php.testGroupUseMixed01g.completion | 7 +
...pUseMixed01.php.testGroupUseMixed01h.completion | 14 +
...pUseMixed01.php.testGroupUseMixed01i.completion | 7 +
...pUseMixed01.php.testGroupUseMixed01j.completion | 8 +
...pUseMixed01.php.testGroupUseMixed01k.completion | 3 +
...pUseMixed01.php.testGroupUseMixed01l.completion | 7 +
...pUseMixed01.php.testGroupUseMixed01m.completion | 8 +
...pUseMixed01.php.testGroupUseMixed01n.completion | 5 +
.../testfiles/completion/lib/php70/issue259074.php | 31 +
.../issue259074.php.testIssue259074a.completion | 5 +
.../issue259074.php.testIssue259074b.completion | 5 +
.../issue259074.php.testIssue259074c.completion | 5 +
.../testfiles/completion/lib/php70/returnTypes.php | 27 +
.../returnTypes.php.testReturnType01.completion | 55 +
.../returnTypes.php.testReturnType02.completion | 14 +
.../returnTypes.php.testReturnType03.completion | 55 +
.../returnTypes.php.testReturnType04.completion | 5 +
.../returnTypes.php.testReturnType05.completion | 55 +
.../returnTypes.php.testReturnType06.completion | 14 +
.../returnTypes.php.testReturnType07.completion | 55 +
.../returnTypes.php.testReturnType08.completion | 32 +
.../returnTypes.php.testReturnType09.completion | 5 +
.../returnTypes.php.testReturnType10.completion | 5 +
.../returnTypes.php.testReturnType11.completion | 5 +
.../returnTypes.php.testReturnType12.completion | 55 +
.../returnTypes.php.testReturnType13.completion | 55 +
.../returnTypes.php.testReturnType14.completion | 55 +
.../completion/lib/php70/returnTypesTyping01.php | 2 +
...Typing01.php.testReturnTypesTyping01.completion | 55 +
.../completion/lib/php70/returnTypesTyping02.php | 2 +
...Typing02.php.testReturnTypesTyping02.completion | 55 +
.../completion/lib/php70/returnTypesTyping03.php | 3 +
...Typing03.php.testReturnTypesTyping03.completion | 55 +
.../completion/lib/php70/returnTypesTyping04.php | 3 +
...yping04.php.testReturnTypesTyping04a.completion | 55 +
...yping04.php.testReturnTypesTyping04b.completion | 55 +
.../completion/lib/php70/returnTypesTyping05.php | 4 +
...Typing05.php.testReturnTypesTyping05.completion | 55 +
.../completion/lib/php70/returnTypesTyping06.php | 4 +
...Typing06.php.testReturnTypesTyping06.completion | 55 +
.../completion/lib/php70/returnTypesTyping07.php | 4 +
...Typing07.php.testReturnTypesTyping07.completion | 55 +
.../completion/lib/php70/returnTypesTyping08.php | 4 +
...yping08.php.testReturnTypesTyping08a.completion | 55 +
...yping08.php.testReturnTypesTyping08b.completion | 55 +
.../completion/lib/php70/returnTypesTyping09.php | 4 +
...Typing09.php.testReturnTypesTyping09.completion | 55 +
.../completion/lib/php70/returnTypesTyping10.php | 4 +
...Typing10.php.testReturnTypesTyping10.completion | 55 +
.../completion/lib/php70/returnTypesTyping11.php | 5 +
...Typing11.php.testReturnTypesTyping11.completion | 55 +
.../completion/lib/php70/returnTypesTyping12.php | 5 +
...yping12.php.testReturnTypesTyping12a.completion | 55 +
...yping12.php.testReturnTypesTyping12b.completion | 55 +
.../completion/lib/php70/scalarTypeHints.php | 36 +
...alarTypeHints.php.testBoolTypeHint01.completion | 55 +
...alarTypeHints.php.testBoolTypeHint02.completion | 6 +
...alarTypeHints.php.testBoolTypeHint03.completion | 55 +
...alarTypeHints.php.testBoolTypeHint04.completion | 6 +
...larTypeHints.php.testFloatTypeHint01.completion | 55 +
...larTypeHints.php.testFloatTypeHint02.completion | 6 +
...larTypeHints.php.testFloatTypeHint03.completion | 55 +
...larTypeHints.php.testFloatTypeHint04.completion | 6 +
...calarTypeHints.php.testIntTypeHint01.completion | 55 +
...calarTypeHints.php.testIntTypeHint02.completion | 6 +
...calarTypeHints.php.testIntTypeHint03.completion | 55 +
...calarTypeHints.php.testIntTypeHint04.completion | 6 +
...arTypeHints.php.testStringTypeHint01.completion | 55 +
...arTypeHints.php.testStringTypeHint02.completion | 6 +
...arTypeHints.php.testStringTypeHint03.completion | 55 +
...arTypeHints.php.testStringTypeHint04.completion | 6 +
.../lib/php70/uniformVariableSyntax01.php | 17 +
...ax01.php.testUniformVariableSyntax01.completion | 5 +
.../lib/php70/uniformVariableSyntax02.php | 22 +
.../lib/php70/uniformVariableSyntax03.php | 29 +
...x03.php.testUniformVariableSyntax03a.completion | 5 +
...x03.php.testUniformVariableSyntax03b.completion | 5 +
...x03.php.testUniformVariableSyntax03c.completion | 7 +
...x03.php.testUniformVariableSyntax03d.completion | 7 +
...x03.php.testUniformVariableSyntax03e.completion | 4 +
.../completion/lib/qualifiedStatic/Strings.php | 7 +
.../completion/lib/qualifiedStatic/issue.php | 7 +
.../issue.php.testUseCase1.completion | 6 +
.../completion/lib/test155085_01/test.php | 20 +
.../test155085_01/test.php.testUseCase1.completion | 4 +
.../completion/lib/test155085_02/declaration.php | 11 +
.../completion/lib/test155085_02/test.php | 14 +
.../test155085_02/test.php.testUseCase1.completion | 5 +
.../testfiles/completion/lib/test163432/test.php | 9 +
.../lib/test163432/test.php.test163432.completion | 4 +
.../test163432/test.php.test163432_1.completion | 4 +
.../testfiles/completion/lib/test164755/test.php | 44 +
.../lib/test164755/test.php.test164755.completion | 5 +
.../test164755/test.php.test164755_1.completion | 5 +
.../testfiles/completion/lib/test171178/html.php | 478 +
.../lib/test171178/html.php.test171178.completion | 43 +
.../completion/lib/test171178/htmlbase.php | 569 +
.../completion/lib/test172925/test172925.php | 8 +
...t172925.php.testPhpContextWithPrefix.completion | 22 +
.../data/testfiles/completion/lib/test186936/a.php | 7 +
.../data/testfiles/completion/lib/test186936/b.php | 7 +
.../completion/lib/test186936/issue186936.php | 6 +
.../issue186936.php.test186936.completion | 6 +
.../completion/lib/test188107/DatabaseRecord.php | 30 +
.../completion/lib/test188107/MyTable.php | 20 +
.../test188107/MyTable.php.testUseCase1.completion | 5 +
.../test188107/MyTable.php.testUseCase2.completion | 7 +
.../test188107/MyTable.php.testUseCase3.completion | 7 +
.../completion/lib/test194294/TestCase.php | 26 +
.../testfiles/completion/lib/test194294/Usage.php | 19 +
.../Usage.php.testReturnType01.completion | 6 +
.../Usage.php.testReturnType02.completion | 6 +
.../Usage.php.testReturnType03.completion | 6 +
.../Usage.php.testReturnType04.completion | 6 +
.../testfiles/completion/lib/test194836/index.php | 17 +
.../index.php.testIssue194836.completion | 3 +
.../completion/lib/test194836/index_02.php | 16 +
.../index_02.php.testIssue194836_02.completion | 8 +
.../completion/lib/test194836/index_03.php | 16 +
.../index_03.php.testIssue194836_03.completion | 8 +
.../completion/lib/test194836/index_04.php | 15 +
.../index_04.php.testIssue194836_04.completion | 8 +
.../completion/lib/test194836/index_05.php | 15 +
.../index_05.php.testIssue194836_05.completion | 8 +
.../completion/lib/test194836/library/Admin.php | 13 +
.../lib/test194836/library/SuperUser.php | 9 +
.../completion/lib/test194836/library/XUser.php | 10 +
.../lib/test194836/library/XUserAbstract.php | 24 +
.../lib/test194836/library/XUserInterface.php | 8 +
.../completion/lib/test197084/Test197084.php | 53 +
.../Test197084.php.testUseCase1.completion | 4 +
.../Test197084.php.testUseCase2.completion | 6 +
.../Test197084.php.testUseCase3.completion | 6 +
.../Test197084.php.testUseCase4.completion | 6 +
.../completion/lib/test200501/test200501.php | 11 +
.../test200501.php.testUseCase1.completion | 4 +
.../completion/lib/test201870/test201870.php | 11 +
.../test201870.php.testUseCase1.completion | 5 +
.../completion/lib/test202498/test202498_01.php | 12 +
.../completion/lib/test202498/test202498_02.php | 12 +
.../test202498_02.php.testUseCase1.completion | 5 +
.../completion/lib/test202530/test202530.php | 25 +
.../test202530.php.testUseCase1.completion | 6 +
.../completion/lib/test203294/test203294.php | 15 +
.../test203294.php.testUseCase1.completion | 12 +
.../completion/lib/test204104/test204104.php | 31 +
.../test204104.php.testUseCase1.completion | 5 +
.../completion/lib/test204104/test204104_02.php | 32 +
.../test204104_02.php.testUseCase2.completion | 5 +
.../completion/lib/test204104/test204104_03.php | 26 +
.../test204104_03.php.testUseCase3.completion | 5 +
.../completion/lib/test204104/test204104_04.php | 23 +
.../test204104_04.php.testUseCase4.completion | 3 +
.../completion/lib/test204104/test204104_05.php | 31 +
.../test204104_05.php.testUseCase5.completion | 4 +
.../testfiles/completion/lib/test204847/Types.php | 12 +
.../testfiles/completion/lib/test204847/User.php | 15 +
.../test204847/User.php.testUseCase1.completion | 7 +
.../completion/lib/test204908/test204908.php | 27 +
.../test204908.php.testUseCase1.completion | 5 +
.../completion/lib/test204958/issue204958.php | 19 +
.../issue204958.php.testUseCase1.completion | 14 +
.../issue204958.php.testUseCase2.completion | 5 +
.../completion/lib/test206521/test206521.php | 20 +
.../test206521.php.testUseCase1.completion | 5 +
.../completion/lib/test207088/test207088.php | 16 +
.../test207088.php.testUseCase1.completion | 18 +
.../completion/lib/test207188/test207188.php | 10 +
.../test207188.php.testUseCase1.completion | 4 +
.../test207188.php.testUseCase2.completion | 85 +
.../testfiles/completion/lib/test207345/bar.php | 9 +
.../lib/test207345/bar.php.testUseCase1.completion | 8 +
.../testfiles/completion/lib/test207345/foo.php | 7 +
.../completion/lib/test207592/Control.php | 9 +
.../completion/lib/test207592/Presenter.php | 9 +
.../lib/test207592/PresenterComponent.php | 12 +
.../completion/lib/test207592/TaskList.php | 11 +
.../TaskList.php.testUseCase1.completion | 5 +
.../completion/lib/test207594/exceptions.php | 17 +
.../completion/lib/test207594/issue207594.php | 11 +
.../issue207594.php.testUseCase1.completion | 7 +
.../completion/lib/test208193/issue208193.php | 26 +
.../issue208193.php.testUseCase1.completion | 6 +
.../completion/lib/test208784/issue208784.php | 32 +
.../issue208784.php.testUseCase1.completion | 4 +
.../testfiles/completion/lib/test208825/Delme2.php | 9 +
.../completion/lib/test208825/delme/Delme1.php | 16 +
.../completion/lib/test208825/test208825.php | 10 +
.../test208825.php.testUseCase1.completion | 5 +
.../completion/lib/test209117/issue209117.php | 17 +
.../issue209117.php.testUseCase1.completion | 28 +
.../completion/lib/test209255/test209255.php | 16 +
.../test209255.php.testUseCase1.completion | 4 +
.../completion/lib/test209405/issue209405.php | 12 +
.../issue209405.php.testUseCase1.completion | 4 +
.../issue209405.php.testUseCase2.completion | 4 +
.../completion/lib/test209608/issue209608.php | 13 +
.../issue209608.php.testUseCase1.completion | 5 +
.../completion/lib/test211230/test211230.php | 17 +
.../test211230.php.testUseCase1.completion | 6 +
.../completion/lib/test215161/test215161.php | 15 +
.../test215161.php.testUseCase1.completion | 5 +
.../data/testfiles/completion/lib/test215371/A.php | 9 +
.../data/testfiles/completion/lib/test215371/B.php | 9 +
.../completion/lib/test215371/Exception.php | 12 +
.../completion/lib/test215371/test215371.php | 17 +
.../test215371.php.testUseCase1.completion | 7 +
.../completion/lib/test216119/test216119.php | 31 +
.../test216119.php.testUseCase1.completion | 6 +
.../completion/lib/test217990/test217990.php | 26 +
.../test217990.php.testUseCase1.completion | 6 +
.../completion/lib/test221725/test221725.php | 28 +
.../test221725.php.testUseCase1.completion | 4 +
.../completion/lib/test224549/declarations.php | 18 +
.../completion/lib/test224549/test224549.php | 9 +
.../test224549.php.testUseCase1.completion | 5 +
.../completion/lib/test225062/test225062.php | 22 +
.../test225062.php.testUseCase1.completion | 5 +
.../completion/lib/test233756/issue233756.php | 19 +
.../issue233756.php.testUseCase1.completion | 30 +
.../completion/lib/test233938/issue233938.php | 4 +
.../issue233938.php.testUseCase1.completion | 83 +
.../completion/lib/test234243/issue234243.php | 76 +
.../issue234243.php.testUseCase1.completion | 5 +
.../completion/lib/test240242/issue240242.php | 14 +
.../issue240242.php.testUseCase1.completion | 6 +
.../completion/lib/test242351/issue242351.php | 18 +
.../issue242351.php.testUseCase1.completion | 5 +
.../completion/lib/tests144653/tests144653.php | 10 +
...s144653.php.testPhpContextWithPrefix.completion | 5 +
.../completion/lib/tests147730/a147730.php | 7 +
...a147730.php.testPhpContextWithPrefix.completion | 4 +
.../completion/lib/tests147730/b147730.php | 5 +
.../completion/lib/tests159970/issue159970.php | 41 +
.../issue159970.php.testCase1.completion | 6 +
.../issue159970.php.testCase2.completion | 6 +
.../completion/lib/tests160444/issue160444.php | 68 +
.../issue160444.php.testIssue160444_1.completion | 5 +
.../issue160444.php.testIssue160444_10.completion | 5 +
.../issue160444.php.testIssue160444_11.completion | 5 +
.../issue160444.php.testIssue160444_12.completion | 5 +
.../issue160444.php.testIssue160444_13.completion | 5 +
.../issue160444.php.testIssue160444_14.completion | 5 +
.../issue160444.php.testIssue160444_15.completion | 5 +
.../issue160444.php.testIssue160444_16.completion | 5 +
.../issue160444.php.testIssue160444_17.completion | 5 +
.../issue160444.php.testIssue160444_18.completion | 5 +
.../issue160444.php.testIssue160444_19.completion | 5 +
.../issue160444.php.testIssue160444_2.completion | 5 +
.../issue160444.php.testIssue160444_20.completion | 5 +
.../issue160444.php.testIssue160444_21.completion | 5 +
.../issue160444.php.testIssue160444_22.completion | 5 +
.../issue160444.php.testIssue160444_23.completion | 5 +
.../issue160444.php.testIssue160444_24.completion | 5 +
.../issue160444.php.testIssue160444_25.completion | 5 +
.../issue160444.php.testIssue160444_26.completion | 5 +
.../issue160444.php.testIssue160444_27.completion | 5 +
.../issue160444.php.testIssue160444_28.completion | 5 +
.../issue160444.php.testIssue160444_29.completion | 5 +
.../issue160444.php.testIssue160444_3.completion | 5 +
.../issue160444.php.testIssue160444_30.completion | 5 +
.../issue160444.php.testIssue160444_31.completion | 5 +
.../issue160444.php.testIssue160444_32.completion | 5 +
.../issue160444.php.testIssue160444_33.completion | 5 +
.../issue160444.php.testIssue160444_34.completion | 5 +
.../issue160444.php.testIssue160444_35.completion | 5 +
.../issue160444.php.testIssue160444_36.completion | 5 +
.../issue160444.php.testIssue160444_4.completion | 5 +
.../issue160444.php.testIssue160444_5.completion | 5 +
.../issue160444.php.testIssue160444_6.completion | 5 +
.../issue160444.php.testIssue160444_7.completion | 5 +
.../issue160444.php.testIssue160444_8.completion | 5 +
.../issue160444.php.testIssue160444_9.completion | 5 +
.../completion/lib/tests166339/tests166339.php | 12 +
...s166339.php.testPhpContextWithPrefix.completion | 5 +
.../completion/lib/tests178955/tests178955.php | 35 +
.../tests178955.php.testUseCase1.completion | 5 +
.../tests178955.php.testUseCase2.completion | 4 +
.../tests178955.php.testUseCase3.completion | 6 +
.../tests178955.php.testUseCase4.completion | 4 +
.../tests178955.php.testUseCase5.completion | 5 +
.../tests178955.php.testUseCase6.completion | 6 +
.../completion/lib/tests191666/issue191666.php | 34 +
.../issue191666.php.testUseCase1.completion | 5 +
.../issue191666.php.testUseCase2.completion | 5 +
.../issue191666.php.testUseCase3.completion | 5 +
.../issue191666.php.testUseCase4.completion | 5 +
.../issue191666.php.testUseCase5.completion | 5 +
.../completion/lib/tests194875/issue194875.php | 19 +
.../issue194875.php.testUseCase1.completion | 7 +
.../issue194875.php.testUseCase2.completion | 6 +
.../completion/lib/tests194875/issue194875_1.php | 21 +
.../issue194875_1.php.testUseCase3.completion | 8 +
.../issue194875_1.php.testUseCase4.completion | 7 +
.../completion/lib/tests195232/issue195232.php | 50 +
.../issue195232.php.testUseCase1.completion | 4 +
.../issue195232.php.testUseCase2.completion | 3 +
.../issue195232.php.testUseCase3.completion | 4 +
.../completion/lib/tests196175/Controller.php | 15 +
.../completion/lib/tests196175/IndexController.php | 9 +
.../IndexController.php.testUseCase1.completion | 6 +
.../completion/lib/tests196175/Request.php | 13 +
.../completion/lib/tests196175/ViewController.php | 10 +
.../completion/lib/tests196175/test196175.php | 5 +
.../test196175.php.testUseCase2.completion | 3 +
.../completion/lib/tests196175/test196175_03.php | 4 +
.../test196175_03.php.testUseCase3.completion | 7 +
.../completion/lib/tests196175/test196175_04.php | 4 +
.../test196175_04.php.testUseCase4.completion | 7 +
.../completion/lib/tests196175/test196175_05.php | 5 +
.../test196175_05.php.testUseCase5.completion | 7 +
.../completion/lib/tests196175/test196175_06.php | 5 +
.../test196175_06.php.testUseCase6.completion | 7 +
.../completion/lib/tests196564/useCase1.php | 18 +
.../useCase1.php.testUseCase1_1.completion | 5 +
.../useCase1.php.testUseCase1_2.completion | 6 +
.../completion/lib/tests196564/useCase2.php | 25 +
.../useCase2.php.testUseCase2_1.completion | 5 +
.../useCase2.php.testUseCase2_2.completion | 5 +
.../completion/lib/tests196565/useCase1.php | 18 +
.../useCase1.php.testUseCase1_1.completion | 5 +
.../useCase1.php.testUseCase1_2.completion | 6 +
.../completion/lib/tests196565/useCase2.php | 18 +
.../useCase2.php.testUseCase2_1.completion | 5 +
.../useCase2.php.testUseCase2_2.completion | 5 +
.../completion/lib/tests196565/useCase3.php | 18 +
.../useCase3.php.testUseCase3.completion | 5 +
.../completion/lib/tests196565/useCase4.php | 17 +
.../useCase4.php.testUseCase4.completion | 5 +
.../completion/lib/tests201310/issue201310.php | 19 +
.../issue201310.php.testUseCase1.completion | 8 +
.../issue201310.php.testUseCase2.completion | 7 +
.../completion/lib/tests201310/issue201310_1.php | 21 +
.../issue201310_1.php.testUseCase3.completion | 9 +
.../issue201310_1.php.testUseCase4.completion | 8 +
.../completion/lib/tests201452_01/issue201452.php | 42 +
.../issue201452.php.testUseCase1.completion | 5 +
.../issue201452.php.testUseCase2.completion | 5 +
.../completion/lib/tests201452_02/Core.User.php | 20 +
.../Core.User.php.testUseCase1.completion | 6 +
.../Core.User.php.testUseCase2.completion | 6 +
.../completion/lib/tests201452_02/Data.User.php | 13 +
.../lib/tests201452_02/Shit.Data.User.php | 11 +
.../completion/lib/tests203332/test203332_01.php | 28 +
.../test203332_01.php.testUseCase1.completion | 5 +
.../completion/lib/tests203332/test203332_02.php | 65 +
.../test203332_02.php.testUseCase2.completion | 6 +
.../completion/lib/tests203332/test203332_03.php | 36 +
.../test203332_03.php.testUseCase3.completion | 6 +
.../completion/lib/tests204925/test204925_01.php | 15 +
.../test204925_01.php.testUseCase1.completion | 4 +
.../completion/lib/tests204925/test204925_02.php | 20 +
.../test204925_02.php.testUseCase2.completion | 4 +
.../completion/lib/tests204925/test204925_03.php | 22 +
.../test204925_03.php.testUseCase3.completion | 4 +
.../completion/lib/tests204925/test204925_04.php | 23 +
.../test204925_04.php.testUseCase4.completion | 4 +
.../completion/lib/tests204925/test204925_05.php | 22 +
.../test204925_05.php.testUseCase5.completion | 4 +
.../completion/lib/tests204925/test204925_06.php | 28 +
.../test204925_06.php.testUseCase6.completion | 4 +
.../completion/lib/tests204925/test204925_07.php | 28 +
.../test204925_07.php.testUseCase7.completion | 4 +
.../completion/lib/tests204925/test204925_08.php | 26 +
.../test204925_08.php.testUseCase8.completion | 4 +
.../completion/lib/tests210254/test210254_01.php | 22 +
.../test210254_01.php.testUseCase1.completion | 13 +
.../test210254_01.php.testUseCase2.completion | 6 +
.../test210254_01.php.testUseCase3.completion | 13 +
.../test210254_01.php.testUseCase4.completion | 4 +
.../test210254_01.php.testUseCase5.completion | 13 +
.../test210254_01.php.testUseCase6.completion | 4 +
.../completion/lib/tests215058/test215058.php | 30 +
.../test215058.php.testUseCase1.completion | 9 +
.../test215058.php.testUseCase2.completion | 4 +
.../test215058.php.testUseCase3.completion | 5 +
.../test215058.php.testUseCase4.completion | 5 +
.../completion/lib/tests217330/MyClass.php | 8 +
.../completion/lib/tests217330/tests217330.php | 4 +
.../tests217330.php.testUseCase1.completion | 5 +
.../completion/lib/tests225089/tests225089.php | 23 +
.../tests225089.php.testUseCase1.completion | 15 +
.../tests225089.php.testUseCase2.completion | 15 +
.../tests225089.php.testUseCase3.completion | 15 +
.../tests225089.php.testUseCase4.completion | 15 +
.../completion/lib/tests225454/test225454.php | 31 +
.../test225454.php.testUseCase1.completion | 5 +
.../test225454.php.testUseCase2.completion | 5 +
.../completion/lib/tests225687/issue225687.php | 24 +
.../issue225687.php.testUseCase1.completion | 4 +
.../issue225687.php.testUseCase2.completion | 4 +
.../completion/lib/tests226071/issue226071.php | 28 +
.../issue226071.php.testUseCase1.completion | 5 +
.../issue226071.php.testUseCase2.completion | 5 +
.../issue226071.php.testUseCase3.completion | 5 +
.../issue226071.php.testUseCase4.completion | 5 +
.../completion/lib/tests226632/test226632.php | 28 +
.../test226632.php.testUseCase1.completion | 5 +
.../completion/lib/tests230052/tests230052.php | 6 +
.../tests230052.php.testUseCase1.completion | 5 +
.../completion/lib/tests236184/issue236184.php | 15 +
.../issue236184.php.testUseCase1.completion | 4 +
.../issue236184.php.testUseCase2.completion | 4 +
.../issue236184.php.testUseCase3.completion | 4 +
.../completion/lib/tests236938/ClsOmg.php | 6 +
.../completion/lib/tests236938/issue236938.php | 9 +
.../issue236938.php.testUseCase1.completion | 5 +
.../issue236938.php.testUseCase2.completion | 5 +
.../completion/lib/tests239987/issue239987.php | 163 +
...e239987.php.testCallerDependentTypes.completion | 13 +
...9987.php.testCallerDependentTypes_02.completion | 14 +
...9987.php.testCallerDependentTypes_03.completion | 4 +
...9987.php.testCallerDependentTypes_04.completion | 17 +
...9987.php.testCallerDependentTypes_05.completion | 17 +
...9987.php.testCallerDependentTypes_06.completion | 4 +
...9987.php.testCallerDependentTypes_07.completion | 14 +
...7.php.testMethodInvocationReturnType.completion | 16 +
...e239987.php.testOnlyReturnStatements.completion | 11 +
.../issue239987.php.testOnlyReturnTags.completion | 11 +
...239987.php.testReturnTagAndStatement.completion | 10 +
...e239987.php.testReturnTagWithOldThis.completion | 10 +
...9987.php.testReturnTagsAndStatements.completion | 11 +
.../completion/lib/tests240522/issue240522.php | 264 +
.../issue240522.php.testUseCase1.completion | 4 +
.../issue240522.php.testUseCase2.completion | 4 +
.../completion/lib/tests240523/issue240523.php | 37 +
.../issue240523.php.testUseCase1.completion | 4 +
.../issue240523.php.testUseCase2.completion | 4 +
.../issue240523.php.testUseCase3.completion | 4 +
.../issue240523.php.testUseCase4.completion | 4 +
.../completion/lib/tests240527/issue240527.php | 199 +
...ue240527.php.testFluentDynamicAccess.completion | 13 +
...27.php.testStaticAccessFromClassName.completion | 7 +
...icAccessFromEnclosedExtendedInstance.completion | 22 +
...testStaticAccessFromEnclosedInstance.completion | 10 +
...estStaticAccessFromExtendedClassName.completion | 13 +
...testStaticAccessFromExtendedInstance.completion | 12 +
...527.php.testStaticAccessFromInstance.completion | 6 +
...hp.testStaticAccessFromInstanceArray.completion | 6 +
...e240527.php.testStaticAccessFromThis.completion | 22 +
.../completion/lib/tests241695/issue241695.php | 37 +
.../issue241695.php.testUseCase1.completion | 5 +
.../issue241695.php.testUseCase2.completion | 5 +
.../issue241695.php.testUseCase3.completion | 5 +
.../completion/lib/tests241902/issue241902.php | 17 +
.../issue241902.php.testUseCase1.completion | 8 +
.../issue241902.php.testUseCase2.completion | 7 +
.../issue241902.php.testUseCase3.completion | 7 +
.../testfiles/completion/lib/tests241902/lib.php | 7 +
.../completion/lib/tests241919/issue241919.php | 13 +
.../issue241919.php.testUseCase1.completion | 5 +
.../completion/lib/tests242398/issue242398_01.php | 6 +
.../issue242398_01.php.testUseCase1.completion | 12 +
.../completion/lib/tests242398/issue242398_02.php | 6 +
.../issue242398_02.php.testUseCase2.completion | 12 +
.../completion/lib/tests243458/issue243458.php | 35 +
.../issue243458.php.testUseCase1.completion | 4 +
.../issue243458.php.testUseCase2.completion | 4 +
.../completion/lib/tests243684/issue243684.php | 14 +
.../issue243684.php.testUseCase1.completion | 4 +
.../issue243684.php.testUseCase2.completion | 4 +
.../completion/lib/tests246396/issue246396.php | 61 +
.../issue246396.php.testUseSelf.completion | 10 +
.../issue246396.php.testUseStatic.completion | 10 +
.../issue246396.php.testUseTraitedSelf.completion | 16 +
...issue246396.php.testUseTraitedStatic.completion | 16 +
.../completion/lib/tests247082/issue247082.php | 97 +
.../issue247082.php.testForKeywords.completion | 90 +
.../issue247082.php.testForParent.completion | 11 +
.../issue247082.php.testForSelf.completion | 16 +
.../issue247082.php.testForThis.completion | 18 +
.../completion/lib/tests247169/issue247169.php | 56 +
.../issue247169.php.testTraitSelf.completion | 10 +
.../issue247169.php.testTraitStatic.completion | 10 +
.../completion/lib/tests248884/issue248884.php | 35 +
.../issue248884.php.testAfterConst.completion | 7 +
.../issue248884.php.testAfterField.completion | 7 +
...ssue248884.php.testFirstTraitInClass.completion | 7 +
...ssue248884.php.testFirstTraitInTrait.completion | 7 +
...sue248884.php.testSecondTraitInClass.completion | 7 +
...sue248884.php.testSecondTraitInTrait.completion | 7 +
.../completion/lib/tests253290/issue253290.php | 169 +
.../issue253290.php.testClassInstance.completion | 14 +
...290.php.testClassInstanceNotEnclosed.completion | 7 +
.../issue253290.php.testClassStatic.completion | 10 +
...53290.php.testClassStaticNotEnclosed.completion | 6 +
...253290.php.testExtendedClassInstance.completion | 15 +
...testExtendedClassInstanceNotEnclosed.completion | 9 +
...ue253290.php.testExtendedClassStatic.completion | 11 +
...p.testExtendedClassStaticNotEnclosed.completion | 7 +
...90.php.testMultipleUsedTraitInstance.completion | 39 +
...3290.php.testMultipleUsedTraitStatic.completion | 28 +
...stMultipleUsedTraitStaticNotEnclosed.completion | 12 +
...php.testTraitedExtendedClassInstance.completion | 21 +
...itedExtendedClassInstanceNotEnclosed.completion | 11 +
...0.php.testTraitedExtendedClassStatic.completion | 14 +
...raitedExtendedClassStaticNotEnclosed.completion | 8 +
...e253290.php.testTraitedTraitInstance.completion | 21 +
...sue253290.php.testTraitedTraitStatic.completion | 16 +
...hp.testTraitedTraitStaticNotEnclosed.completion | 8 +
.../completion/lib/tests256106/issue256106.php | 134 +
.../issue256106.php.testEncloging.completion | 27 +
...6106.php.testEnclogingOnlyRetrunSelf.completion | 27 +
...06.php.testEnclogingOnlyRetrunStatic.completion | 27 +
.../issue256106.php.testNotEncloging.completion | 13 +
...6.php.testNotEnclogingOnlyRetrunSelf.completion | 13 +
...php.testNotEnclogingOnlyRetrunStatic.completion | 13 +
.../completion/lib/tests257088/issue257088.php | 8 +
.../issue257088.php.testClassKeywords.completion | 86 +
.../completion/lib/tests257709/issue257709.php | 13 +
.../issue257709.php.testVdocWithTab.completion | 4 +
.../completion/lib/tests258226/tests258226.php | 17 +
.../tests258226.php.testUseCase1.completion | 4 +
.../tests258226.php.testUseCase2.completion | 4 +
.../completion/lib/tests258352/issue258352.php | 49 +
.../issue258352.php.testForStaticField.completion | 4 +
.../issue258352.php.testForStaticMethod.completion | 4 +
.../lib/tests267226_01/issue267226_01.php | 32 +
.../issue267226_01.php.testAliasedTrait.completion | 4 +
.../completion/lib/tests267226_02/MyClassAlias.php | 10 +
.../completion/lib/tests267226_02/MyTrait.php | 16 +
.../lib/tests267226_02/issue267226_02.php | 6 +
...226_02.php.testAliasedTraitFromIndex.completion | 5 +
.../completion/phpdoc/testIssue245356/data.php | 10 +
.../completion/phpdoc/testIssue245356/issue.php | 11 +
.../issue.php.testIssue245356_01.completion | 25 +
.../issue.php.testIssue245356_02.completion | 8 +
.../typenameresolver/testFullyQualifiedName_01.php | 14 +
.../typenameresolver/testQualifiedName_01.php | 19 +
.../typenameresolver/testQualifiedName_02.php | 19 +
.../typenameresolver/testQualifiedName_03.php | 19 +
.../typenameresolver/testQualifiedName_04.php | 19 +
.../typenameresolver/testQualifiedName_05.php | 19 +
.../typenameresolver/testQualifiedName_06.php | 19 +
.../typenameresolver/testQualifiedName_07.php | 17 +
.../typenameresolver/testQualifiedName_08.php | 17 +
.../typenameresolver/testQualifiedName_09.php | 17 +
.../typenameresolver/testQualifiedName_10.php | 19 +
.../typenameresolver/testQualifiedName_11.php | 19 +
.../typenameresolver/testQualifiedName_12.php | 11 +
.../elements/typenameresolver/testSmartName_01.php | 19 +
.../elements/typenameresolver/testSmartName_02.php | 19 +
.../elements/typenameresolver/testSmartName_03.php | 19 +
.../elements/typenameresolver/testSmartName_04.php | 19 +
.../elements/typenameresolver/testSmartName_05.php | 11 +
.../typenameresolver/testSmartName_fail.php | 7 +
php.editor/test/unit/data/testfiles/embeddings.php | 2 +
.../test/unit/data/testfiles/finally_01.php.folds | 11 +
.../test/unit/data/testfiles/finally_02.php.folds | 9 +
.../foldingConditionalStatements.php.folds | 43 +
.../foldingConditionalStatements_1.php.folds | 55 +
.../unit/data/testfiles/foldingCycles.php.folds | 63 +
.../unit/data/testfiles/foldingCycles_1.php.folds | 79 +
.../unit/data/testfiles/foldingMethod.php.folds | 23 +
.../unit/data/testfiles/foldingMethod_1.php.folds | 28 +
.../unit/data/testfiles/formatting/TraitUses01.php | 19 +
.../testfiles/formatting/TraitUses01.php.formatted | 33 +
.../unit/data/testfiles/formatting/TraitUses02.php | 19 +
.../testfiles/formatting/TraitUses02.php.formatted | 31 +
.../unit/data/testfiles/formatting/TraitUses03.php | 19 +
.../testfiles/formatting/TraitUses03.php.formatted | 31 +
.../formatting/alignment/alignmentKeywords01.php | 60 +
.../alignment/alignmentKeywords01.php.formatted | 73 +
.../formatting/alignment/alignmentKeywords02.php | 60 +
.../alignment/alignmentKeywords02.php.formatted | 73 +
.../formatting/alignment/alignmentKeywords03.php | 60 +
.../alignment/alignmentKeywords03.php.formatted | 88 +
.../formatting/alignment/alignmentKeywords04.php | 60 +
.../alignment/alignmentKeywords04.php.formatted | 77 +
.../testfiles/formatting/alignment/finally_01.php | 10 +
.../formatting/alignment/finally_01.php.formatted | 11 +
.../testfiles/formatting/alignment/finally_02.php | 10 +
.../formatting/alignment/finally_02.php.formatted | 10 +
.../alignment/groupAlignmentArrayInit01.php | 41 +
.../groupAlignmentArrayInit01.php.formatted | 41 +
.../alignment/groupAlignmentAssignment01.php | 41 +
.../groupAlignmentAssignment01.php.formatted | 41 +
.../testfiles/formatting/alignment/issue209030.php | 17 +
.../formatting/alignment/issue209030.php.formatted | 17 +
.../testfiles/formatting/alignment/issue210617.php | 118 +
.../formatting/alignment/issue210617.php.formatted | 118 +
.../formatting/alignment/issue211445_01.php | 5 +
.../alignment/issue211445_01.php.formatted | 4 +
.../formatting/alignment/issue211445_02.php | 5 +
.../alignment/issue211445_02.php.formatted | 6 +
.../formatting/alignment/issue211445_03.php | 5 +
.../alignment/issue211445_03.php.formatted | 4 +
.../formatting/alignment/issue211445_04.php | 5 +
.../alignment/issue211445_04.php.formatted | 7 +
.../formatting/alignment/issue211445_05.php | 6 +
.../alignment/issue211445_05.php.formatted | 6 +
.../testfiles/formatting/alignment/issue211482.php | 32 +
.../formatting/alignment/issue211482.php.formatted | 32 +
.../testfiles/formatting/alignment/issue214466.php | 13 +
.../formatting/alignment/issue214466.php.formatted | 12 +
.../testfiles/formatting/alignment/issue218847.php | 55 +
.../formatting/alignment/issue218847.php.formatted | 69 +
.../testfiles/formatting/alignment/issue225003.php | 16 +
.../formatting/alignment/issue225003.php.formatted | 17 +
.../testfiles/formatting/alignment/issue225010.php | 4 +
.../formatting/alignment/issue225010.php.formatted | 5 +
.../testfiles/formatting/alignment/issue230798.php | 8 +
.../formatting/alignment/issue230798.php.formatted | 11 +
.../formatting/alignment/issue230949_01.php | 8 +
.../alignment/issue230949_01.php.formatted | 7 +
.../formatting/alignment/issue230949_02.php | 8 +
.../alignment/issue230949_02.php.formatted | 8 +
.../testfiles/formatting/alignment/issue244566.php | 7 +
.../formatting/alignment/issue244566.php.formatted | 6 +
.../data/testfiles/formatting/anonymousClass.php | 24 +
.../formatting/anonymousClass.php.formatted | 33 +
.../testfiles/formatting/anonymousClassBP_01.php | 5 +
.../formatting/anonymousClassBP_01.php.formatted | 9 +
.../testfiles/formatting/anonymousClassBP_02.php | 5 +
.../formatting/anonymousClassBP_02.php.formatted | 8 +
.../testfiles/formatting/anonymousClassBP_03.php | 5 +
.../formatting/anonymousClassBP_03.php.formatted | 8 +
.../testfiles/formatting/anonymousClassBP_04.php | 5 +
.../formatting/anonymousClassBP_04.php.formatted | 9 +
.../unit/data/testfiles/formatting/arrays1.php | 5 +
.../testfiles/formatting/arrays1.php.formatted | 6 +
.../unit/data/testfiles/formatting/arrays2.php | 8 +
.../testfiles/formatting/arrays2.php.formatted | 9 +
.../unit/data/testfiles/formatting/arrays3.php | 23 +
.../testfiles/formatting/arrays3.php.formatted | 26 +
.../unit/data/testfiles/formatting/arrays4.php | 9 +
.../testfiles/formatting/arrays4.php.formatted | 9 +
.../unit/data/testfiles/formatting/arrays5.php | 15 +
.../testfiles/formatting/arrays5.php.formatted | 15 +
.../blankLines/AlternativeSyntaxPlacement01.php | 45 +
.../AlternativeSyntaxPlacement01.php.formatted | 43 +
.../formatting/blankLines/AnonymousClass01.php | 31 +
.../blankLines/AnonymousClass01.php.formatted | 32 +
.../formatting/blankLines/AnonymousClass02.php | 15 +
.../blankLines/AnonymousClass02.php.formatted | 15 +
.../formatting/blankLines/AnonymousClass03.php | 59 +
.../blankLines/AnonymousClass03.php.formatted | 67 +
.../formatting/blankLines/BracePlacement01.php | 60 +
.../blankLines/BracePlacement01.php.formatted | 80 +
.../formatting/blankLines/BracePlacement02.php | 60 +
.../blankLines/BracePlacement02.php.formatted | 80 +
.../formatting/blankLines/BracePlacement03.php | 60 +
.../blankLines/BracePlacement03.php.formatted | 62 +
.../testfiles/formatting/blankLines/Class01.php | 33 +
.../formatting/blankLines/Class01.php.formatted | 33 +
.../testfiles/formatting/blankLines/Class02.php | 17 +
.../formatting/blankLines/Class02.php.formatted | 17 +
.../testfiles/formatting/blankLines/Class03.php | 60 +
.../formatting/blankLines/Class03.php.formatted | 70 +
.../testfiles/formatting/blankLines/Fields01.php | 10 +
.../formatting/blankLines/Fields01.php.formatted | 7 +
.../testfiles/formatting/blankLines/Fields02.php | 16 +
.../formatting/blankLines/Fields02.php.formatted | 8 +
.../testfiles/formatting/blankLines/Fields03.php | 13 +
.../formatting/blankLines/Fields03.php.formatted | 11 +
.../testfiles/formatting/blankLines/Fields04.php | 10 +
.../formatting/blankLines/Fields04.php.formatted | 11 +
.../testfiles/formatting/blankLines/Fields05.php | 13 +
.../formatting/blankLines/Fields05.php.formatted | 12 +
.../testfiles/formatting/blankLines/Fields06.php | 18 +
.../formatting/blankLines/Fields06.php.formatted | 15 +
.../testfiles/formatting/blankLines/Fields07.php | 18 +
.../formatting/blankLines/Fields07.php.formatted | 17 +
.../testfiles/formatting/blankLines/Fields08.php | 28 +
.../formatting/blankLines/Fields08.php.formatted | 32 +
.../testfiles/formatting/blankLines/Fields09.php | 34 +
.../formatting/blankLines/Fields09.php.formatted | 38 +
.../testfiles/formatting/blankLines/Fields10.php | 13 +
.../formatting/blankLines/Fields10.php.formatted | 17 +
.../testfiles/formatting/blankLines/Fields11.php | 8 +
.../formatting/blankLines/Fields11.php.formatted | 12 +
.../testfiles/formatting/blankLines/Function01.php | 5 +
.../formatting/blankLines/Function01.php.formatted | 7 +
.../testfiles/formatting/blankLines/Function02.php | 22 +
.../formatting/blankLines/Function02.php.formatted | 14 +
.../testfiles/formatting/blankLines/Function04.php | 8 +
.../formatting/blankLines/Function04.php.formatted | 15 +
.../testfiles/formatting/blankLines/GroupUse01.php | 12 +
.../formatting/blankLines/GroupUse01.php.formatted | 20 +
.../testfiles/formatting/blankLines/GroupUse02.php | 27 +
.../formatting/blankLines/GroupUse02.php.formatted | 20 +
.../testfiles/formatting/blankLines/GroupUse03.php | 39 +
.../formatting/blankLines/GroupUse03.php.formatted | 26 +
.../testfiles/formatting/blankLines/GroupUse04.php | 13 +
.../formatting/blankLines/GroupUse04.php.formatted | 18 +
.../formatting/blankLines/Namespace01.php | 9 +
.../blankLines/Namespace01.php.formatted | 14 +
.../formatting/blankLines/Namespace02.php | 15 +
.../blankLines/Namespace02.php.formatted | 14 +
.../formatting/blankLines/Namespace03.php | 19 +
.../blankLines/Namespace03.php.formatted | 15 +
.../formatting/blankLines/OpenClosePHPTag01.php | 9 +
.../blankLines/OpenClosePHPTag01.php.formatted | 4 +
.../formatting/blankLines/OpenClosePHPTag02.php | 11 +
.../blankLines/OpenClosePHPTag02.php.formatted | 5 +
.../formatting/blankLines/OpenClosePHPTag03.php | 11 +
.../blankLines/OpenClosePHPTag03.php.formatted | 6 +
.../formatting/blankLines/OpenClosePHPTag04.php | 2 +
.../blankLines/OpenClosePHPTag04.php.formatted | 2 +
.../formatting/blankLines/OpenClosePHPTag05.php | 1 +
.../blankLines/OpenClosePHPTag05.php.formatted | 1 +
.../blankLines/SimpleAnonymousClass01.php | 9 +
.../SimpleAnonymousClass01.php.formatted | 12 +
.../blankLines/SimpleAnonymousClass02.php | 25 +
.../SimpleAnonymousClass02.php.formatted | 16 +
.../blankLines/SimpleAnonymousClass03.php | 8 +
.../SimpleAnonymousClass03.php.formatted | 12 +
.../blankLines/SimpleAnonymousClass04.php | 19 +
.../SimpleAnonymousClass04.php.formatted | 24 +
.../blankLines/SimpleAnonymousClass05.php | 5 +
.../SimpleAnonymousClass05.php.formatted | 7 +
.../blankLines/SimpleAnonymousClass06.php | 5 +
.../SimpleAnonymousClass06.php.formatted | 8 +
.../blankLines/SimpleAnonymousClass07.php | 5 +
.../SimpleAnonymousClass07.php.formatted | 8 +
.../blankLines/SimpleAnonymousClass08.php | 5 +
.../SimpleAnonymousClass08.php.formatted | 7 +
.../blankLines/SimpleAnonymousClass09.php | 5 +
.../SimpleAnonymousClass09.php.formatted | 8 +
.../blankLines/SimpleAnonymousClass10.php | 5 +
.../SimpleAnonymousClass10.php.formatted | 7 +
.../blankLines/SimpleAnonymousClass11.php | 5 +
.../SimpleAnonymousClass11.php.formatted | 7 +
.../blankLines/SimpleAnonymousClass12.php | 5 +
.../SimpleAnonymousClass12.php.formatted | 9 +
.../blankLines/SimpleAnonymousClass13.php | 5 +
.../SimpleAnonymousClass13.php.formatted | 8 +
.../blankLines/SimpleAnonymousClass14.php | 4 +
.../SimpleAnonymousClass14.php.formatted | 8 +
.../blankLines/SimpleAnonymousClass15.php | 4 +
.../SimpleAnonymousClass15.php.formatted | 8 +
.../blankLines/SimpleAnonymousClass16.php | 5 +
.../SimpleAnonymousClass16.php.formatted | 10 +
.../blankLines/SimpleAnonymousClass17.php | 5 +
.../SimpleAnonymousClass17.php.formatted | 11 +
.../formatting/blankLines/SimpleClass01.php | 10 +
.../blankLines/SimpleClass01.php.formatted | 15 +
.../formatting/blankLines/SimpleClass02.php | 25 +
.../blankLines/SimpleClass02.php.formatted | 18 +
.../formatting/blankLines/SimpleClass03.php | 9 +
.../blankLines/SimpleClass03.php.formatted | 14 +
.../formatting/blankLines/SimpleClass04.php | 20 +
.../blankLines/SimpleClass04.php.formatted | 27 +
.../formatting/blankLines/SimpleClass05.php | 6 +
.../blankLines/SimpleClass05.php.formatted | 8 +
.../formatting/blankLines/SimpleClass06.php | 6 +
.../blankLines/SimpleClass06.php.formatted | 9 +
.../formatting/blankLines/SimpleClass07.php | 6 +
.../blankLines/SimpleClass07.php.formatted | 9 +
.../formatting/blankLines/SimpleClass08.php | 6 +
.../blankLines/SimpleClass08.php.formatted | 9 +
.../formatting/blankLines/SimpleClass09.php | 6 +
.../blankLines/SimpleClass09.php.formatted | 9 +
.../formatting/blankLines/SimpleClass10.php | 6 +
.../blankLines/SimpleClass10.php.formatted | 8 +
.../formatting/blankLines/SimpleClass11.php | 6 +
.../blankLines/SimpleClass11.php.formatted | 9 +
.../formatting/blankLines/SimpleClass12.php | 6 +
.../blankLines/SimpleClass12.php.formatted | 10 +
.../formatting/blankLines/SimpleClass13.php | 6 +
.../blankLines/SimpleClass13.php.formatted | 11 +
.../formatting/blankLines/SimpleClass14.php | 5 +
.../blankLines/SimpleClass14.php.formatted | 11 +
.../formatting/blankLines/SimpleClass15.php | 5 +
.../blankLines/SimpleClass15.php.formatted | 11 +
.../formatting/blankLines/SimpleClass16.php | 6 +
.../blankLines/SimpleClass16.php.formatted | 13 +
.../formatting/blankLines/SimpleClass17.php | 6 +
.../blankLines/SimpleClass17.php.formatted | 13 +
.../formatting/blankLines/SimpleTrait01.php | 10 +
.../blankLines/SimpleTrait01.php.formatted | 15 +
.../formatting/blankLines/SimpleTrait02.php | 25 +
.../blankLines/SimpleTrait02.php.formatted | 18 +
.../formatting/blankLines/SimpleTrait03.php | 9 +
.../blankLines/SimpleTrait03.php.formatted | 14 +
.../formatting/blankLines/SimpleTrait04.php | 20 +
.../blankLines/SimpleTrait04.php.formatted | 27 +
.../formatting/blankLines/SimpleTrait05.php | 6 +
.../blankLines/SimpleTrait05.php.formatted | 8 +
.../formatting/blankLines/SimpleTrait06.php | 6 +
.../blankLines/SimpleTrait06.php.formatted | 9 +
.../formatting/blankLines/SimpleTrait07.php | 6 +
.../blankLines/SimpleTrait07.php.formatted | 9 +
.../formatting/blankLines/SimpleTrait08.php | 6 +
.../blankLines/SimpleTrait08.php.formatted | 9 +
.../formatting/blankLines/SimpleTrait09.php | 6 +
.../blankLines/SimpleTrait09.php.formatted | 9 +
.../formatting/blankLines/SimpleTrait10.php | 6 +
.../blankLines/SimpleTrait10.php.formatted | 8 +
.../formatting/blankLines/SimpleTrait11.php | 6 +
.../blankLines/SimpleTrait11.php.formatted | 9 +
.../formatting/blankLines/SimpleTrait12.php | 6 +
.../blankLines/SimpleTrait12.php.formatted | 10 +
.../formatting/blankLines/SimpleTrait13.php | 6 +
.../blankLines/SimpleTrait13.php.formatted | 11 +
.../formatting/blankLines/SimpleTrait14.php | 5 +
.../blankLines/SimpleTrait14.php.formatted | 11 +
.../formatting/blankLines/SimpleTrait15.php | 5 +
.../blankLines/SimpleTrait15.php.formatted | 11 +
.../formatting/blankLines/SimpleTrait16.php | 6 +
.../blankLines/SimpleTrait16.php.formatted | 13 +
.../formatting/blankLines/SimpleTrait17.php | 6 +
.../blankLines/SimpleTrait17.php.formatted | 13 +
.../testfiles/formatting/blankLines/Trait01.php | 33 +
.../formatting/blankLines/Trait01.php.formatted | 33 +
.../testfiles/formatting/blankLines/Trait02.php | 16 +
.../formatting/blankLines/Trait02.php.formatted | 16 +
.../testfiles/formatting/blankLines/Trait03.php | 60 +
.../formatting/blankLines/Trait03.php.formatted | 70 +
.../formatting/blankLines/TraitUses01.php | 19 +
.../blankLines/TraitUses01.php.formatted | 27 +
.../formatting/blankLines/TraitUses02.php | 19 +
.../blankLines/TraitUses02.php.formatted | 31 +
.../data/testfiles/formatting/blankLines/Use01.php | 13 +
.../formatting/blankLines/Use01.php.formatted | 16 +
.../data/testfiles/formatting/blankLines/Use02.php | 28 +
.../formatting/blankLines/Use02.php.formatted | 16 +
.../data/testfiles/formatting/blankLines/Use03.php | 40 +
.../formatting/blankLines/Use03.php.formatted | 22 +
.../data/testfiles/formatting/blankLines/Use04.php | 14 +
.../formatting/blankLines/Use04.php.formatted | 14 +
.../formatting/blankLines/issue181003_01.php | 8 +
.../blankLines/issue181003_01.php.formatted | 13 +
.../formatting/blankLines/issue181003_02.php | 8 +
.../blankLines/issue181003_02.php.formatted | 15 +
.../formatting/blankLines/issue181003_03.php | 8 +
.../blankLines/issue181003_03.php.formatted | 13 +
.../formatting/blankLines/issue181003_04.php | 8 +
.../blankLines/issue181003_04.php.formatted | 11 +
.../formatting/blankLines/issue186461_01.php | 15 +
.../blankLines/issue186461_01.php.formatted | 14 +
.../formatting/blankLines/issue186461_02.php | 32 +
.../blankLines/issue186461_02.php.formatted | 33 +
.../formatting/blankLines/issue186738_01.php | 26 +
.../blankLines/issue186738_01.php.formatted | 28 +
.../formatting/blankLines/issue187264_01.php | 58 +
.../blankLines/issue187264_01.php.formatted | 45 +
.../formatting/blankLines/issue187264_02.php | 15 +
.../blankLines/issue187264_02.php.formatted | 12 +
.../formatting/blankLines/issue201994_01.php | 3 +
.../blankLines/issue201994_01.php.formatted | 3 +
.../formatting/blankLines/issue229703.php | 16 +
.../blankLines/issue229703.php.formatted | 20 +
.../formatting/blankLines/issue232395_01.php | 12 +
.../blankLines/issue232395_01.php.formatted | 17 +
.../formatting/blankLines/issue232395_02.php | 12 +
.../blankLines/issue232395_02.php.formatted | 17 +
.../formatting/blankLines/issue232395_03.php | 12 +
.../blankLines/issue232395_03.php.formatted | 17 +
.../formatting/blankLines/issue232395_04.php | 12 +
.../blankLines/issue232395_04.php.formatted | 17 +
.../formatting/blankLines/issue232395_05.php | 12 +
.../blankLines/issue232395_05.php.formatted | 17 +
.../formatting/blankLines/issue232395_06.php | 12 +
.../blankLines/issue232395_06.php.formatted | 17 +
.../formatting/blankLines/issue232395_07.php | 12 +
.../blankLines/issue232395_07.php.formatted | 17 +
.../formatting/blankLines/issue232395_08.php | 12 +
.../blankLines/issue232395_08.php.formatted | 17 +
.../formatting/blankLines/issue234764_01.php | 1 +
.../blankLines/issue234764_01.php.formatted | 9 +
.../formatting/blankLines/issue234764_02.php | 3 +
.../blankLines/issue234764_02.php.formatted | 11 +
.../formatting/blankLines/issue234764_03.php | 5 +
.../blankLines/issue234764_03.php.formatted | 21 +
.../formatting/blankLines/issue234764_04.php | 6 +
.../blankLines/issue234764_04.php.formatted | 23 +
.../formatting/blankLines/issue234774.php | 3 +
.../blankLines/issue234774.php.formatted | 12 +
.../formatting/blankLines/issue235710_01.php | 8 +
.../blankLines/issue235710_01.php.formatted | 7 +
.../formatting/blankLines/issue235710_02.php | 8 +
.../blankLines/issue235710_02.php.formatted | 11 +
.../formatting/blankLines/issue235710_03.php | 8 +
.../blankLines/issue235710_03.php.formatted | 11 +
.../formatting/blankLines/issue235710_04.php | 8 +
.../blankLines/issue235710_04.php.formatted | 11 +
.../formatting/blankLines/issue235710_05.php | 8 +
.../blankLines/issue235710_05.php.formatted | 8 +
.../formatting/blankLines/issue235710_06.php | 8 +
.../blankLines/issue235710_06.php.formatted | 11 +
.../formatting/blankLines/issue235710_07.php | 8 +
.../blankLines/issue235710_07.php.formatted | 11 +
.../formatting/blankLines/issue235710_08.php | 8 +
.../blankLines/issue235710_08.php.formatted | 11 +
.../formatting/blankLines/issue235972_01.php | 5 +
.../blankLines/issue235972_01.php.formatted | 3 +
.../formatting/blankLines/issue235972_02.php | 7 +
.../blankLines/issue235972_02.php.formatted | 5 +
.../formatting/blankLines/issue243744.php | 8 +
.../blankLines/issue243744.php.formatted | 6 +
.../testfiles/formatting/broken/issue197074_01.php | 22 +
.../formatting/broken/issue197074_01.php.formatted | 21 +
.../testfiles/formatting/broken/issue197074_02.php | 10 +
.../formatting/broken/issue197074_02.php.formatted | 10 +
.../testfiles/formatting/broken/issue197074_03.php | 12 +
.../formatting/broken/issue197074_03.php.formatted | 14 +
.../testfiles/formatting/broken/issue197074_04.php | 78 +
.../formatting/broken/issue197074_04.php.formatted | 77 +
.../unit/data/testfiles/formatting/comment01.php | 11 +
.../testfiles/formatting/comment01.php.formatted | 9 +
.../unit/data/testfiles/formatting/comment02.php | 10 +
.../testfiles/formatting/comment02.php.formatted | 8 +
.../unit/data/testfiles/formatting/comment03.php | 10 +
.../testfiles/formatting/comment03.php.formatted | 8 +
.../unit/data/testfiles/formatting/comment04.php | 9 +
.../testfiles/formatting/comment04.php.formatted | 7 +
.../unit/data/testfiles/formatting/comment05.php | 5 +
.../testfiles/formatting/comment05.php.formatted | 6 +
.../unit/data/testfiles/formatting/comment06.php | 48 +
.../testfiles/formatting/comment06.php.formatted | 55 +
.../unit/data/testfiles/formatting/comment07.php | 7 +
.../testfiles/formatting/comment07.php.formatted | 7 +
.../unit/data/testfiles/formatting/comment08.php | 8 +
.../testfiles/formatting/comment08.php.formatted | 8 +
.../unit/data/testfiles/formatting/comment09.php | 8 +
.../testfiles/formatting/comment09.php.formatted | 8 +
.../unit/data/testfiles/formatting/comment10.php | 20 +
.../testfiles/formatting/comment10.php.formatted | 19 +
.../unit/data/testfiles/formatting/comment11.php | 7 +
.../testfiles/formatting/comment11.php.formatted | 8 +
.../testfiles/formatting/continued_expression.php | 7 +
.../formatting/continued_expression.php.formatted | 6 +
.../testfiles/formatting/continued_expression2.php | 10 +
.../formatting/continued_expression2.php.formatted | 7 +
.../data/testfiles/formatting/format_fragment1.php | 8 +
.../formatting/format_fragment1.php.formatted | 11 +
.../data/testfiles/formatting/groupUseBP_01.php | 12 +
.../formatting/groupUseBP_01.php.formatted | 29 +
.../data/testfiles/formatting/groupUseBP_02.php | 12 +
.../formatting/groupUseBP_02.php.formatted | 29 +
.../data/testfiles/formatting/groupUseBP_03.php | 12 +
.../formatting/groupUseBP_03.php.formatted | 22 +
.../data/testfiles/formatting/groupUseBP_04.php | 12 +
.../formatting/groupUseBP_04.php.formatted | 25 +
.../formatting/groupUseInNamespaceBlock.php | 11 +
.../groupUseInNamespaceBlock.php.formatted | 22 +
.../unit/data/testfiles/formatting/heredoc.php | 10 +
.../testfiles/formatting/heredoc.php.formatted | 11 +
.../unit/data/testfiles/formatting/html/html01.php | 8 +
.../testfiles/formatting/html/html01.php.formatted | 8 +
.../unit/data/testfiles/formatting/html/html02.php | 8 +
.../testfiles/formatting/html/html02.php.formatted | 8 +
.../unit/data/testfiles/formatting/html/html03.php | 10 +
.../testfiles/formatting/html/html03.php.formatted | 10 +
.../unit/data/testfiles/formatting/html/html04.php | 25 +
.../testfiles/formatting/html/html04.php.formatted | 25 +
.../unit/data/testfiles/formatting/html/html05.php | 28 +
.../testfiles/formatting/html/html05.php.formatted | 28 +
.../unit/data/testfiles/formatting/html/if_01.php | 18 +
.../testfiles/formatting/html/if_01.php.formatted | 18 +
.../unit/data/testfiles/formatting/html/if_02.php | 22 +
.../testfiles/formatting/html/if_02.php.formatted | 22 +
.../unit/data/testfiles/formatting/html/if_03.php | 36 +
.../testfiles/formatting/html/if_03.php.formatted | 36 +
.../data/testfiles/formatting/html/issue175229.php | 8 +
.../formatting/html/issue175229.php.formatted | 8 +
.../data/testfiles/formatting/html/issue176223.php | 10 +
.../formatting/html/issue176223.php.formatted | 10 +
.../testfiles/formatting/html/issue179108_01.php | 12 +
.../formatting/html/issue179108_01.php.formatted | 12 +
.../testfiles/formatting/html/issue179108_02.php | 8 +
.../formatting/html/issue179108_02.php.formatted | 8 +
.../data/testfiles/formatting/html/issue179184.php | 33 +
.../formatting/html/issue179184.php.formatted | 34 +
.../testfiles/formatting/html/issue179184_02.php | 14 +
.../formatting/html/issue179184_02.php.formatted | 14 +
.../data/testfiles/formatting/html/issue183268.php | 151 +
.../formatting/html/issue183268.php.formatted | 141 +
.../data/testfiles/formatting/html/issue187309.php | 7 +
.../formatting/html/issue187309.php.formatted | 6 +
.../testfiles/formatting/html/issue189002_01.php | 11 +
.../formatting/html/issue189002_01.php.formatted | 11 +
.../testfiles/formatting/html/issue189002_02.php | 11 +
.../formatting/html/issue189002_02.php.formatted | 11 +
.../data/testfiles/formatting/html/issue189850.php | 13 +
.../formatting/html/issue189850.php.formatted | 13 +
.../data/testfiles/formatting/html/issue190544.php | 69 +
.../formatting/html/issue190544.php.formatted | 69 +
.../data/testfiles/formatting/html/issue190652.php | 19 +
.../formatting/html/issue190652.php.formatted | 18 +
.../formatting/ifelse_alternative_syntax.php | 9 +
.../ifelse_alternative_syntax.php.formatted | 10 +
.../testfiles/formatting/ifelse_nobrackets.php | 6 +
.../formatting/ifelse_nobrackets.php.formatted | 7 +
.../data/testfiles/formatting/initialIndent01.php | 13 +
.../formatting/initialIndent01.php.formatted | 15 +
.../data/testfiles/formatting/initial_indent1.php | 13 +
.../formatting/initial_indent1.php.formatted | 13 +
.../unit/data/testfiles/formatting/issue161049.php | 5 +
.../testfiles/formatting/issue161049.php.formatted | 7 +
.../unit/data/testfiles/formatting/issue162126.php | 24 +
.../testfiles/formatting/issue162126.php.formatted | 24 +
.../unit/data/testfiles/formatting/issue162320.php | 16 +
.../testfiles/formatting/issue162320.php.formatted | 20 +
.../unit/data/testfiles/formatting/issue162586.php | 15 +
.../testfiles/formatting/issue162586.php.formatted | 15 +
.../unit/data/testfiles/formatting/issue162785.php | 8 +
.../testfiles/formatting/issue162785.php.formatted | 8 +
.../unit/data/testfiles/formatting/issue164219.php | 20 +
.../testfiles/formatting/issue164219.php.formatted | 25 +
.../unit/data/testfiles/formatting/issue164381.php | 30 +
.../testfiles/formatting/issue164381.php.formatted | 26 +
.../unit/data/testfiles/formatting/issue165762.php | 26 +
.../testfiles/formatting/issue165762.php.formatted | 26 +
.../unit/data/testfiles/formatting/issue166550.php | 9 +
.../testfiles/formatting/issue166550.php.formatted | 13 +
.../unit/data/testfiles/formatting/issue167791.php | 28 +
.../testfiles/formatting/issue167791.php.formatted | 31 +
.../data/testfiles/formatting/issue168396_01.php | 37 +
.../formatting/issue168396_01.php.formatted | 37 +
.../unit/data/testfiles/formatting/issue171309.php | 22 +
.../testfiles/formatting/issue171309.php.formatted | 20 +
.../unit/data/testfiles/formatting/issue172259.php | 5 +
.../testfiles/formatting/issue172259.php.formatted | 6 +
.../unit/data/testfiles/formatting/issue172475.php | 16 +
.../testfiles/formatting/issue172475.php.formatted | 16 +
.../testfiles/formatting/issue173906_dowhile.php | 5 +
.../formatting/issue173906_dowhile.php.formatted | 6 +
.../unit/data/testfiles/formatting/issue174544.php | 5 +
.../testfiles/formatting/issue174544.php.formatted | 6 +
.../unit/data/testfiles/formatting/issue174563.php | 7 +
.../testfiles/formatting/issue174563.php.formatted | 9 +
.../unit/data/testfiles/formatting/issue174595.php | 4 +
.../testfiles/formatting/issue174595.php.formatted | 4 +
.../unit/data/testfiles/formatting/issue176224.php | 6 +
.../testfiles/formatting/issue176224.php.formatted | 6 +
.../unit/data/testfiles/formatting/issue176453.php | 12 +
.../testfiles/formatting/issue176453.php.formatted | 11 +
.../data/testfiles/formatting/issue180332_01.php | 9 +
.../formatting/issue180332_01.php.formatted | 10 +
.../unit/data/testfiles/formatting/issue181588.php | 20 +
.../testfiles/formatting/issue181588.php.formatted | 24 +
.../data/testfiles/formatting/issue182072_01.php | 17 +
.../formatting/issue182072_01.php.formatted | 18 +
.../data/testfiles/formatting/issue183200_01.php | 14 +
.../formatting/issue183200_01.php.formatted | 14 +
.../data/testfiles/formatting/issue183200_02.php | 14 +
.../formatting/issue183200_02.php.formatted | 15 +
.../data/testfiles/formatting/issue184687_01.php | 14 +
.../formatting/issue184687_01.php.formatted | 22 +
.../data/testfiles/formatting/issue184687_02.php | 22 +
.../formatting/issue184687_02.php.formatted | 22 +
.../data/testfiles/formatting/issue185353_01.php | 6 +
.../formatting/issue185353_01.php.formatted | 6 +
.../data/testfiles/formatting/issue185353_02.php | 7 +
.../formatting/issue185353_02.php.formatted | 6 +
.../data/testfiles/formatting/issue185353_03.php | 8 +
.../formatting/issue185353_03.php.formatted | 7 +
.../data/testfiles/formatting/issue185353_04.php | 8 +
.../formatting/issue185353_04.php.formatted | 7 +
.../data/testfiles/formatting/issue185353_05.php | 8 +
.../formatting/issue185353_05.php.formatted | 7 +
.../data/testfiles/formatting/issue185353_06.php | 24 +
.../formatting/issue185353_06.php.formatted | 23 +
.../unit/data/testfiles/formatting/issue187757.php | 1 +
.../testfiles/formatting/issue187757.php.formatted | 1 +
.../data/testfiles/formatting/issue188431_01.php | 11 +
.../formatting/issue188431_01.php.formatted | 13 +
.../data/testfiles/formatting/issue188431_02.php | 11 +
.../formatting/issue188431_02.php.formatted | 13 +
.../data/testfiles/formatting/issue188431_03.php | 139 +
.../formatting/issue188431_03.php.formatted | 138 +
.../data/testfiles/formatting/issue189835_01.php | 3 +
.../formatting/issue189835_01.php.formatted | 4 +
.../data/testfiles/formatting/issue189835_02.php | 3 +
.../formatting/issue189835_02.php.formatted | 4 +
.../data/testfiles/formatting/issue189835_03.php | 3 +
.../formatting/issue189835_03.php.formatted | 4 +
.../data/testfiles/formatting/issue189835_04.php | 3 +
.../formatting/issue189835_04.php.formatted | 4 +
.../data/testfiles/formatting/issue189835_05.php | 3 +
.../formatting/issue189835_05.php.formatted | 6 +
.../data/testfiles/formatting/issue189835_06.php | 3 +
.../formatting/issue189835_06.php.formatted | 4 +
.../data/testfiles/formatting/issue190010_01.php | 7 +
.../formatting/issue190010_01.php.formatted | 6 +
.../data/testfiles/formatting/issue190010_02.php | 18 +
.../formatting/issue190010_02.php.formatted | 19 +
.../data/testfiles/formatting/issue190010_03.php | 7 +
.../formatting/issue190010_03.php.formatted | 6 +
.../data/testfiles/formatting/issue190010_04.php | 7 +
.../formatting/issue190010_04.php.formatted | 6 +
.../unit/data/testfiles/formatting/issue190426.php | 36 +
.../testfiles/formatting/issue190426.php.formatted | 36 +
.../unit/data/testfiles/formatting/issue196405.php | 21 +
.../testfiles/formatting/issue196405.php.formatted | 19 +
.../data/testfiles/formatting/issue197304_01.php | 4 +
.../formatting/issue197304_01.php.formatted | 4 +
.../data/testfiles/formatting/issue197617_01.php | 11 +
.../formatting/issue197617_01.php.formatted | 11 +
.../unit/data/testfiles/formatting/issue197698.php | 18 +
.../testfiles/formatting/issue197698.php.formatted | 19 +
.../data/testfiles/formatting/issue199298_01.php | 22 +
.../formatting/issue199298_01.php.formatted | 22 +
.../unit/data/testfiles/formatting/issue199654.php | 17 +
.../testfiles/formatting/issue199654.php.formatted | 17 +
.../unit/data/testfiles/formatting/issue218013.php | 44 +
.../testfiles/formatting/issue218013.php.formatted | 34 +
.../unit/data/testfiles/formatting/issue218877.php | 12 +
.../testfiles/formatting/issue218877.php.formatted | 19 +
.../unit/data/testfiles/formatting/issue227287.php | 27 +
.../testfiles/formatting/issue227287.php.formatted | 27 +
.../unit/data/testfiles/formatting/issue228401.php | 8 +
.../testfiles/formatting/issue228401.php.formatted | 9 +
.../unit/data/testfiles/formatting/issue229961.php | 13 +
.../testfiles/formatting/issue229961.php.formatted | 11 +
.../data/testfiles/formatting/issue233353_01.php | 7 +
.../formatting/issue233353_01.php.formatted | 6 +
.../data/testfiles/formatting/issue233353_02.php | 7 +
.../formatting/issue233353_02.php.formatted | 6 +
.../data/testfiles/formatting/issue233353_03.php | 13 +
.../formatting/issue233353_03.php.formatted | 13 +
.../data/testfiles/formatting/issue233353_04.php | 13 +
.../formatting/issue233353_04.php.formatted | 13 +
.../unit/data/testfiles/formatting/issue235181.php | 10 +
.../testfiles/formatting/issue235181.php.formatted | 10 +
.../data/testfiles/formatting/issue235239_01.php | 12 +
.../formatting/issue235239_01.php.formatted | 11 +
.../data/testfiles/formatting/issue235239_02.php | 12 +
.../formatting/issue235239_02.php.formatted | 11 +
.../unit/data/testfiles/formatting/issue240649.php | 11 +
.../testfiles/formatting/issue240649.php.formatted | 11 +
.../unit/data/testfiles/formatting/issue243593.php | 12 +
.../testfiles/formatting/issue243593.php.formatted | 11 +
.../unit/data/testfiles/formatting/issue247047.php | 22 +
.../testfiles/formatting/issue247047.php.formatted | 22 +
.../data/testfiles/formatting/issue253030a.php | 7 +
.../formatting/issue253030a.php.formatted | 8 +
.../data/testfiles/formatting/issue253030b.php | 9 +
.../formatting/issue253030b.php.formatted | 10 +
.../data/testfiles/formatting/issue253030c.php | 6 +
.../formatting/issue253030c.php.formatted | 8 +
.../unit/data/testfiles/formatting/issue257241.php | 10 +
.../testfiles/formatting/issue257241.php.formatted | 10 +
.../unit/data/testfiles/formatting/issue261521.php | 12 +
.../testfiles/formatting/issue261521.php.formatted | 17 +
.../testfiles/formatting/issues_159339_161408.php | 16 +
.../formatting/issues_159339_161408.php.formatted | 15 +
.../data/testfiles/formatting/lineComment01.php | 3 +
.../formatting/lineComment01.php.formatted | 4 +
.../data/testfiles/formatting/lineComment02.php | 10 +
.../formatting/lineComment02.php.formatted | 6 +
.../data/testfiles/formatting/lineComment03.php | 7 +
.../formatting/lineComment03.php.formatted | 6 +
.../data/testfiles/formatting/lineComment04.php | 6 +
.../formatting/lineComment04.php.formatted | 7 +
.../data/testfiles/formatting/lineComment05.php | 6 +
.../formatting/lineComment05.php.formatted | 7 +
.../data/testfiles/formatting/line_splitting1.php | 10 +
.../formatting/line_splitting1.php.formatted | 13 +
.../data/testfiles/formatting/line_splitting2.php | 4 +
.../formatting/line_splitting2.php.formatted | 9 +
.../formatting/multiline_function_header.php | 7 +
.../multiline_function_header.php.formatted | 7 +
.../data/testfiles/formatting/multiline_string.php | 8 +
.../formatting/multiline_string.php.formatted | 9 +
.../unit/data/testfiles/formatting/namespaces1.php | 9 +
.../testfiles/formatting/namespaces1.php.formatted | 13 +
.../data/testfiles/formatting/namespaces_02.php | 12 +
.../formatting/namespaces_02.php.formatted | 17 +
.../data/testfiles/formatting/namespaces_03.php | 12 +
.../formatting/namespaces_03.php.formatted | 20 +
.../data/testfiles/formatting/namespaces_04.php | 12 +
.../formatting/namespaces_04.php.formatted | 20 +
.../data/testfiles/formatting/namespaces_05.php | 13 +
.../formatting/namespaces_05.php.formatted | 18 +
.../data/testfiles/formatting/nested_array1.php | 10 +
.../formatting/nested_array1.php.formatted | 11 +
.../testfiles/formatting/nested_short_array1.php | 10 +
.../formatting/nested_short_array1.php.formatted | 11 +
.../unit/data/testfiles/formatting/private_01.php | 14 +
.../qa/issues/regressions/124273_175247.php | 7 +
.../issues/regressions/124273_175247.php.formatted | 7 +
.../regressions/124273_175247.php_10_10.formatted | 7 +
.../regressions/124273_175247.php_5_5.formatted | 7 +
.../qa/issues/stable_fixedIssues/124273.php | 7 +
.../issues/stable_fixedIssues/124273.php.formatted | 7 +
.../qa/issues/stable_fixedIssues/152429_1.php | 21 +
.../stable_fixedIssues/152429_1.php.formatted | 24 +
.../152429_1.php_10_10.formatted | 24 +
.../stable_fixedIssues/152429_1.php_5_5.formatted | 24 +
.../qa/issues/stable_fixedIssues/152429_2.php | 24 +
.../stable_fixedIssues/152429_2.php.formatted | 23 +
.../152429_2.php_10_10.formatted | 23 +
.../stable_fixedIssues/152429_2.php_5_5.formatted | 23 +
.../qa/issues/stable_fixedIssues/152429_3.php | 13 +
.../stable_fixedIssues/152429_3.php.formatted | 13 +
.../152429_3.php_10_10.formatted | 14 +
.../stable_fixedIssues/152429_3.php_5_5.formatted | 14 +
.../qa/issues/stable_fixedIssues/160996.php | 7 +
.../issues/stable_fixedIssues/160996.php.formatted | 8 +
.../stable_fixedIssues/160996.php_10_10.formatted | 8 +
.../stable_fixedIssues/160996.php_5_5.formatted | 8 +
.../qa/issues/stable_fixedIssues/162320.php | 15 +
.../issues/stable_fixedIssues/162320.php.formatted | 16 +
.../stable_fixedIssues/162320.php_10_10.formatted | 16 +
.../stable_fixedIssues/162320.php_5_5.formatted | 16 +
.../qa/issues/stable_fixedIssues/162586.php | 14 +
.../issues/stable_fixedIssues/162586.php.formatted | 12 +
.../stable_fixedIssues/162586.php_10_10.formatted | 12 +
.../stable_fixedIssues/162586.php_5_5.formatted | 12 +
.../qa/issues/stable_fixedIssues/163071.php | 122 +
.../issues/stable_fixedIssues/163071.php.formatted | 122 +
.../qa/issues/stable_fixedIssues/167162_1.php | 4 +
.../stable_fixedIssues/167162_1.php.formatted | 4 +
.../qa/issues/stable_fixedIssues/167162_2.php | 16 +
.../stable_fixedIssues/167162_2.php.formatted | 16 +
.../qa/issues/stable_fixedIssues/168187.php | 8 +
.../issues/stable_fixedIssues/168187.php.formatted | 8 +
.../qa/issues/stable_fixedIssues/168396_1.php | 16 +
.../stable_fixedIssues/168396_1.php.formatted | 19 +
.../qa/issues/stable_fixedIssues/168396_2.php | 12 +
.../stable_fixedIssues/168396_2.php.formatted | 13 +
.../qa/issues/stable_fixedIssues/168396_3.php | 6 +
.../stable_fixedIssues/168396_3.php.formatted | 7 +
.../qa/issues/stable_fixedIssues/173107.php | 13 +
.../issues/stable_fixedIssues/173107.php.formatted | 11 +
.../stable_fixedIssues/173107.php_10_10.formatted | 11 +
.../stable_fixedIssues/173107.php_5_5.formatted | 11 +
.../qa/issues/stable_fixedIssues/173354_1.php | 9 +
.../stable_fixedIssues/173354_1.php.formatted | 10 +
.../173354_1.php_10_10.formatted | 10 +
.../stable_fixedIssues/173354_1.php_5_5.formatted | 10 +
.../qa/issues/stable_fixedIssues/173354_2.php | 7 +
.../stable_fixedIssues/173354_2.php.formatted | 8 +
.../173354_2.php_10_10.formatted | 8 +
.../stable_fixedIssues/173354_2.php_5_5.formatted | 8 +
.../qa/issues/stable_fixedIssues/173354_3.php | 8 +
.../stable_fixedIssues/173354_3.php.formatted | 8 +
.../173354_3.php_10_10.formatted | 8 +
.../stable_fixedIssues/173354_3.php_5_5.formatted | 8 +
.../qa/issues/stable_fixedIssues/173899.php | 4 +
.../issues/stable_fixedIssues/173899.php.formatted | 5 +
.../stable_fixedIssues/173899.php_10_10.formatted | 5 +
.../stable_fixedIssues/173899.php_5_5.formatted | 5 +
.../qa/issues/stable_fixedIssues/173903.php | 7 +
.../issues/stable_fixedIssues/173903.php.formatted | 11 +
.../stable_fixedIssues/173903.php_10_10.formatted | 11 +
.../stable_fixedIssues/173903.php_5_5.formatted | 11 +
.../issues/stable_fixedIssues/173906_172475_1.php | 7 +
.../173906_172475_1.php.formatted | 8 +
.../173906_172475_1.php_10_10.formatted | 8 +
.../173906_172475_1.php_5_5.formatted | 8 +
.../issues/stable_fixedIssues/173906_172475_2.php | 8 +
.../173906_172475_2.php.formatted | 9 +
.../173906_172475_2.php_10_10.formatted | 9 +
.../173906_172475_2.php_5_5.formatted | 9 +
.../issues/stable_fixedIssues/173906_172475_3.php | 7 +
.../173906_172475_3.php.formatted | 8 +
.../173906_172475_3.php_10_10.formatted | 8 +
.../173906_172475_3.php_5_5.formatted | 8 +
.../qa/issues/stable_fixedIssues/173908.php | 21 +
.../issues/stable_fixedIssues/173908.php.formatted | 20 +
.../stable_fixedIssues/173908.php_10_10.formatted | 20 +
.../stable_fixedIssues/173908.php_5_5.formatted | 20 +
.../qa/issues/stable_fixedIssues/174563_1.php | 7 +
.../stable_fixedIssues/174563_1.php.formatted | 9 +
.../174563_1.php_10_10.formatted | 9 +
.../stable_fixedIssues/174563_1.php_5_5.formatted | 9 +
.../qa/issues/stable_fixedIssues/174578.php | 9 +
.../issues/stable_fixedIssues/174578.php.formatted | 9 +
.../stable_fixedIssues/174578.php_10_10.formatted | 9 +
.../stable_fixedIssues/174578.php_5_5.formatted | 9 +
.../qa/issues/stable_fixedIssues/174579.php | 7 +
.../issues/stable_fixedIssues/174579.php.formatted | 8 +
.../stable_fixedIssues/174579.php_10_10.formatted | 8 +
.../stable_fixedIssues/174579.php_5_5.formatted | 8 +
.../qa/issues/stable_fixedIssues/174595_175229.php | 23 +
.../stable_fixedIssues/174595_175229.php.formatted | 23 +
.../174595_175229.php_10_10.formatted | 23 +
.../174595_175229.php_5_5.formatted | 23 +
.../qa/issues/stable_fixedIssues/175229_1.php | 8 +
.../stable_fixedIssues/175229_1.php.formatted | 8 +
.../qa/issues/stable_fixedIssues/175229_2.php | 11 +
.../stable_fixedIssues/175229_2.php.formatted | 11 +
.../qa/issues/stable_fixedIssues/175425.php | 14 +
.../issues/stable_fixedIssues/175425.php.formatted | 14 +
.../qa/issues/stable_fixedIssues/175427.php | 7 +
.../issues/stable_fixedIssues/175427.php.formatted | 7 +
.../qa/issues/stable_fixedIssues/176224.php | 8 +
.../issues/stable_fixedIssues/176224.php.formatted | 8 +
.../qa/issues/stable_fixedIssues/180332.php | 9 +
.../issues/stable_fixedIssues/180332.php.formatted | 10 +
.../qa/issues/stable_fixedIssues/188810.php | 8 +
.../issues/stable_fixedIssues/188810.php.formatted | 8 +
.../qa/issues/stable_fixedIssues/else_if.php | 47 +
.../stable_fixedIssues/else_if.php.formatted | 45 +
.../stable_fixedIssues/else_if.php_10_10.formatted | 45 +
.../stable_fixedIssues/else_if.php_5_5.formatted | 45 +
.../spacesAfterObjectReferences.php | 4 +
.../spacesAfterObjectReferences.php.formatted | 5 +
...spacesAfterObjectReferences.php_10_10.formatted | 5 +
.../spacesAfterObjectReferences.php_5_5.formatted | 5 +
.../issues/stable_partialTests/174873_173906.php | 11 +
.../174873_173906.php.formatted | 13 +
.../174873_173906.php_10_10.formatted | 13 +
.../174873_173906.php_5_5.formatted | 13 +
.../issues/stable_partialTests/174873_173906_1.php | 8 +
.../174873_173906_1.php.formatted | 13 +
.../174873_173906_1.php_10_10.formatted | 13 +
.../174873_173906_1.php_5_5.formatted | 13 +
.../qa/issues/unstable_newIssues/148732.php | 1 +
.../issues/unstable_newIssues/148732.php.formatted | 9 +
.../qa/issues/unstable_newIssues/175229_1.php | 3 +
.../unstable_newIssues/175229_1.php.formatted | 3 +
.../qa/issues/unstable_newIssues/175229_2.php | 2 +
.../unstable_newIssues/175229_2.php.formatted | 2 +
.../qa/issues/unstable_newIssues/175229_3.php | 8 +
.../unstable_newIssues/175229_3.php.formatted | 10 +
.../data/testfiles/formatting/shortArrays1.php | 5 +
.../formatting/shortArrays1.php.formatted | 6 +
.../data/testfiles/formatting/shortArrays2.php | 8 +
.../formatting/shortArrays2.php.formatted | 9 +
.../data/testfiles/formatting/shortArrays3.php | 23 +
.../formatting/shortArrays3.php.formatted | 26 +
.../data/testfiles/formatting/shortArrays4.php | 9 +
.../formatting/shortArrays4.php.formatted | 9 +
.../data/testfiles/formatting/shortArrays5.php | 15 +
.../formatting/shortArrays5.php.formatted | 15 +
.../data/testfiles/formatting/simple_class_def.php | 14 +
.../formatting/simple_class_def.php.formatted | 17 +
.../testfiles/formatting/spaces/TraitUses01.php | 19 +
.../formatting/spaces/TraitUses01.php.formatted | 31 +
.../testfiles/formatting/spaces/TraitUses02.php | 19 +
.../formatting/spaces/TraitUses02.php.formatted | 31 +
.../testfiles/formatting/spaces/finally_01.php | 10 +
.../formatting/spaces/finally_01.php.formatted | 10 +
.../testfiles/formatting/spaces/finally_02.php | 10 +
.../formatting/spaces/finally_02.php.formatted | 10 +
.../testfiles/formatting/spaces/finally_03.php | 10 +
.../formatting/spaces/finally_03.php.formatted | 10 +
.../testfiles/formatting/spaces/finally_04.php | 10 +
.../formatting/spaces/finally_04.php.formatted | 10 +
.../testfiles/formatting/spaces/issue180859_01.php | 7 +
.../formatting/spaces/issue180859_01.php.formatted | 6 +
.../testfiles/formatting/spaces/issue180859_02.php | 7 +
.../formatting/spaces/issue180859_02.php.formatted | 6 +
.../testfiles/formatting/spaces/issue181624_01.php | 7 +
.../formatting/spaces/issue181624_01.php.formatted | 7 +
.../testfiles/formatting/spaces/issue186183_01.php | 9 +
.../formatting/spaces/issue186183_01.php.formatted | 6 +
.../testfiles/formatting/spaces/issue187665_01.php | 13 +
.../formatting/spaces/issue187665_01.php.formatted | 11 +
.../testfiles/formatting/spaces/issue187665_02.php | 13 +
.../formatting/spaces/issue187665_02.php.formatted | 11 +
.../testfiles/formatting/spaces/issue187864_01.php | 9 +
.../formatting/spaces/issue187864_01.php.formatted | 19 +
.../testfiles/formatting/spaces/issue187888_01.php | 12 +
.../formatting/spaces/issue187888_01.php.formatted | 12 +
.../testfiles/formatting/spaces/issue187888_02.php | 12 +
.../formatting/spaces/issue187888_02.php.formatted | 12 +
.../testfiles/formatting/spaces/issue188810_01.php | 14 +
.../formatting/spaces/issue188810_01.php.formatted | 9 +
.../testfiles/formatting/spaces/issue191893_01.php | 6 +
.../formatting/spaces/issue191893_01.php.formatted | 6 +
.../testfiles/formatting/spaces/issue195562.php | 10 +
.../formatting/spaces/issue195562.php.formatted | 10 +
.../testfiles/formatting/spaces/issue202940_01.php | 33 +
.../formatting/spaces/issue202940_01.php.formatted | 30 +
.../testfiles/formatting/spaces/issue202940_02.php | 22 +
.../formatting/spaces/issue202940_02.php.formatted | 22 +
.../testfiles/formatting/spaces/issue202940_03.php | 22 +
.../formatting/spaces/issue202940_03.php.formatted | 22 +
.../testfiles/formatting/spaces/issue202940_04.php | 22 +
.../formatting/spaces/issue202940_04.php.formatted | 22 +
.../testfiles/formatting/spaces/issue202940_05.php | 12 +
.../formatting/spaces/issue202940_05.php.formatted | 13 +
.../testfiles/formatting/spaces/issue203160_01.php | 15 +
.../formatting/spaces/issue203160_01.php.formatted | 16 +
.../testfiles/formatting/spaces/issue228422_01.php | 6 +
.../formatting/spaces/issue228422_01.php.formatted | 5 +
.../testfiles/formatting/spaces/issue228422_02.php | 6 +
.../formatting/spaces/issue228422_02.php.formatted | 5 +
.../testfiles/formatting/spaces/issue230779_01.php | 6 +
.../formatting/spaces/issue230779_01.php.formatted | 5 +
.../testfiles/formatting/spaces/issue230779_02.php | 6 +
.../formatting/spaces/issue230779_02.php.formatted | 5 +
.../testfiles/formatting/spaces/issue231387.php | 14 +
.../formatting/spaces/issue231387.php.formatted | 15 +
.../testfiles/formatting/spaces/issue233050_01.php | 7 +
.../formatting/spaces/issue233050_01.php.formatted | 6 +
.../testfiles/formatting/spaces/issue233050_02.php | 7 +
.../formatting/spaces/issue233050_02.php.formatted | 6 +
.../testfiles/formatting/spaces/issue240274.php | 10 +
.../formatting/spaces/issue240274.php.formatted | 9 +
.../testfiles/formatting/spaces/issue253093a.php | 6 +
.../formatting/spaces/issue253093a.php.formatted | 6 +
.../testfiles/formatting/spaces/issue253093b.php | 6 +
.../formatting/spaces/issue253093b.php.formatted | 6 +
.../testfiles/formatting/spaces/issue253093c.php | 6 +
.../formatting/spaces/issue253093c.php.formatted | 6 +
.../testfiles/formatting/spaces/issue253093d.php | 6 +
.../formatting/spaces/issue253093d.php.formatted | 6 +
.../formatting/spaces/spaceAfterShortPHPTag01.php | 1 +
.../spaces/spaceAfterShortPHPTag01.php.formatted | 1 +
.../formatting/spaces/spaceAfterShortPHPTag02.php | 1 +
.../spaces/spaceAfterShortPHPTag02.php.formatted | 1 +
.../formatting/spaces/spaceAfterTypeCast01.php | 8 +
.../spaces/spaceAfterTypeCast01.php.formatted | 9 +
.../formatting/spaces/spaceAfterTypeCast02.php | 8 +
.../spaces/spaceAfterTypeCast02.php.formatted | 9 +
.../formatting/spaces/spaceAroundKeyValueOp01.php | 17 +
.../spaces/spaceAroundKeyValueOp01.php.formatted | 16 +
.../formatting/spaces/spaceAroundKeyValueOp02.php | 17 +
.../spaces/spaceAroundKeyValueOp02.php.formatted | 16 +
.../formatting/spaces/spaceAroundReturnType01.php | 3 +
.../spaces/spaceAroundReturnType01.php.formatted | 5 +
.../formatting/spaces/spaceAroundReturnType02.php | 3 +
.../spaces/spaceAroundReturnType02.php.formatted | 5 +
.../formatting/spaces/spaceAroundReturnType03.php | 3 +
.../spaces/spaceAroundReturnType03.php.formatted | 5 +
.../formatting/spaces/spaceAroundReturnType04.php | 3 +
.../spaces/spaceAroundReturnType04.php.formatted | 5 +
.../formatting/spaces/spaceAroundReturnType05.php | 3 +
.../spaces/spaceAroundReturnType05.php.formatted | 5 +
.../formatting/spaces/spaceAroundReturnType06.php | 3 +
.../spaces/spaceAroundReturnType06.php.formatted | 5 +
.../formatting/spaces/spaceAroundReturnType07.php | 5 +
.../spaces/spaceAroundReturnType07.php.formatted | 9 +
.../formatting/spaces/spaceAroundReturnType08.php | 5 +
.../spaces/spaceAroundReturnType08.php.formatted | 9 +
.../formatting/spaces/spaceAroundReturnType09.php | 5 +
.../spaces/spaceAroundReturnType09.php.formatted | 9 +
.../formatting/spaces/spaceAroundReturnType10.php | 4 +
.../spaces/spaceAroundReturnType10.php.formatted | 6 +
.../formatting/spaces/spaceAroundReturnType11.php | 4 +
.../spaces/spaceAroundReturnType11.php.formatted | 6 +
.../formatting/spaces/spaceAroundReturnType12.php | 4 +
.../spaces/spaceAroundReturnType12.php.formatted | 6 +
.../spaces/spaceAroundStringConcat01.php | 60 +
.../spaces/spaceAroundStringConcat01.php.formatted | 62 +
.../formatting/spaces/spaceAroundTernaryOp01.php | 5 +
.../spaces/spaceAroundTernaryOp01.php.formatted | 4 +
.../formatting/spaces/spaceAroundTernaryOp02.php | 5 +
.../spaces/spaceAroundTernaryOp02.php.formatted | 4 +
.../formatting/spaces/spaceAroundTernaryOp03.php | 5 +
.../spaces/spaceAroundTernaryOp03.php.formatted | 4 +
.../formatting/spaces/spaceAroundTernaryOp04.php | 3 +
.../spaces/spaceAroundTernaryOp04.php.formatted | 4 +
.../formatting/spaces/spaceAroundTernaryOp05.php | 3 +
.../spaces/spaceAroundTernaryOp05.php.formatted | 4 +
.../formatting/spaces/spaceAroundTernaryOp06.php | 2 +
.../spaces/spaceAroundTernaryOp06.php.formatted | 3 +
.../formatting/spaces/spaceAroundTernaryOp07.php | 2 +
.../spaces/spaceAroundTernaryOp07.php.formatted | 3 +
.../formatting/spaces/spaceAroundTernaryOp08.php | 2 +
.../spaces/spaceAroundTernaryOp08.php.formatted | 3 +
.../formatting/spaces/spaceAroundTernaryOp09.php | 3 +
.../spaces/spaceAroundTernaryOp09.php.formatted | 4 +
.../formatting/spaces/spaceAroundTernaryOp10.php | 3 +
.../spaces/spaceAroundTernaryOp10.php.formatted | 4 +
.../formatting/spaces/spaceAroundTernaryOp11.php | 2 +
.../spaces/spaceAroundTernaryOp11.php.formatted | 3 +
.../formatting/spaces/spaceAroundTernaryOp12.php | 2 +
.../spaces/spaceAroundTernaryOp12.php.formatted | 3 +
.../formatting/spaces/spaceAroundUnaryOps01.php | 7 +
.../spaces/spaceAroundUnaryOps01.php.formatted | 6 +
.../formatting/spaces/spaceAroundUnaryOps02.php | 7 +
.../spaces/spaceAroundUnaryOps02.php.formatted | 6 +
.../formatting/spaces/spaceAroundUnaryOps03.php | 7 +
.../spaces/spaceAroundUnaryOps03.php.formatted | 6 +
.../formatting/spaces/spaceBeforeAfterComma01.php | 5 +
.../spaces/spaceBeforeAfterComma01.php.formatted | 9 +
.../formatting/spaces/spaceBeforeAfterComma02.php | 5 +
.../spaces/spaceBeforeAfterComma02.php.formatted | 9 +
.../formatting/spaces/spaceBeforeAfterComma03.php | 5 +
.../spaces/spaceBeforeAfterComma03.php.formatted | 9 +
.../formatting/spaces/spaceBeforeAfterComma04.php | 5 +
.../spaces/spaceBeforeAfterComma04.php.formatted | 9 +
.../formatting/spaces/spaceBeforeAfterSemi01.php | 11 +
.../spaces/spaceBeforeAfterSemi01.php.formatted | 11 +
.../formatting/spaces/spaceBeforeAfterSemi02.php | 11 +
.../spaces/spaceBeforeAfterSemi02.php.formatted | 11 +
.../formatting/spaces/spaceBeforeAfterSemi03.php | 11 +
.../spaces/spaceBeforeAfterSemi03.php.formatted | 11 +
.../formatting/spaces/spaceBeforeAfterSemi04.php | 11 +
.../spaces/spaceBeforeAfterSemi04.php.formatted | 11 +
.../spaces/spaceBeforeAnonymousClassParen01.php | 5 +
.../spaceBeforeAnonymousClassParen01.php.formatted | 5 +
.../spaces/spaceBeforeAnonymousClassParen02.php | 5 +
.../spaceBeforeAnonymousClassParen02.php.formatted | 5 +
.../formatting/spaces/spaceBeforeCatch01.php | 10 +
.../spaces/spaceBeforeCatch01.php.formatted | 9 +
.../formatting/spaces/spaceBeforeCatch02.php | 10 +
.../spaces/spaceBeforeCatch02.php.formatted | 9 +
.../spaces/spaceBeforeCatchLeftBrace01.php | 64 +
.../spaceBeforeCatchLeftBrace01.php.formatted | 64 +
.../formatting/spaces/spaceBeforeCatchParen01.php | 60 +
.../spaces/spaceBeforeCatchParen01.php.formatted | 62 +
.../formatting/spaces/spaceBeforeCatchParen02.php | 60 +
.../spaces/spaceBeforeCatchParen02.php.formatted | 62 +
.../spaces/spaceBeforeClassDecLeftBrace01.php | 9 +
.../spaceBeforeClassDecLeftBrace01.php.formatted | 13 +
.../spaces/spaceBeforeClassDecLeftBrace02.php | 9 +
.../spaceBeforeClassDecLeftBrace02.php.formatted | 13 +
.../spaces/spaceBeforeClassDecLeftBrace03.php | 12 +
.../spaceBeforeClassDecLeftBrace03.php.formatted | 13 +
.../formatting/spaces/spaceBeforeDoLeftBrace01.php | 64 +
.../spaces/spaceBeforeDoLeftBrace01.php.formatted | 64 +
.../formatting/spaces/spaceBeforeElse01.php | 19 +
.../spaces/spaceBeforeElse01.php.formatted | 20 +
.../formatting/spaces/spaceBeforeElse02.php | 20 +
.../spaces/spaceBeforeElse02.php.formatted | 20 +
.../formatting/spaces/spaceBeforeElse03.php | 20 +
.../spaces/spaceBeforeElse03.php.formatted | 20 +
.../formatting/spaces/spaceBeforeElse04.php | 19 +
.../spaces/spaceBeforeElse04.php.formatted | 20 +
.../spaces/spaceBeforeElseLeftBrace01.php | 64 +
.../spaceBeforeElseLeftBrace01.php.formatted | 64 +
.../spaces/spaceBeforeForLeftBrace01.php | 64 +
.../spaces/spaceBeforeForLeftBrace01.php.formatted | 64 +
.../formatting/spaces/spaceBeforeForParen01.php | 60 +
.../spaces/spaceBeforeForParen01.php.formatted | 62 +
.../formatting/spaces/spaceBeforeForParen02.php | 60 +
.../spaces/spaceBeforeForParen02.php.formatted | 62 +
.../spaces/spaceBeforeIfElseIfLeftBrace01.php | 64 +
.../spaceBeforeIfElseIfLeftBrace01.php.formatted | 64 +
.../formatting/spaces/spaceBeforeIfParen01.php | 60 +
.../spaces/spaceBeforeIfParen01.php.formatted | 62 +
.../formatting/spaces/spaceBeforeIfParen02.php | 60 +
.../spaces/spaceBeforeIfParen02.php.formatted | 62 +
.../formatting/spaces/spaceBeforeKeywords01.php | 35 +
.../spaces/spaceBeforeKeywords01.php.formatted | 35 +
.../formatting/spaces/spaceBeforeKeywords02.php | 35 +
.../spaces/spaceBeforeKeywords02.php.formatted | 39 +
.../formatting/spaces/spaceBeforeKeywords03.php | 35 +
.../spaces/spaceBeforeKeywords03.php.formatted | 35 +
.../formatting/spaces/spaceBeforeKeywords04.php | 24 +
.../spaces/spaceBeforeKeywords04.php.formatted | 24 +
.../spaces/spaceBeforeMethodCallParen01.php | 60 +
.../spaceBeforeMethodCallParen01.php.formatted | 62 +
.../spaces/spaceBeforeMethodCallParen02.php | 60 +
.../spaceBeforeMethodCallParen02.php.formatted | 62 +
.../spaces/spaceBeforeMethodDeclLeftBrace01.php | 9 +
.../spaceBeforeMethodDeclLeftBrace01.php.formatted | 11 +
.../spaces/spaceBeforeMethodDeclLeftBrace02.php | 9 +
.../spaceBeforeMethodDeclLeftBrace02.php.formatted | 11 +
.../spaces/spaceBeforeMethodDeclLeftBrace03.php | 9 +
.../spaceBeforeMethodDeclLeftBrace03.php.formatted | 13 +
.../spaces/spaceBeforeMethodDeclParen01.php | 60 +
.../spaceBeforeMethodDeclParen01.php.formatted | 62 +
.../spaces/spaceBeforeMethodDeclParen02.php | 60 +
.../spaceBeforeMethodDeclParen02.php.formatted | 62 +
.../spaces/spaceBeforeSwitchLeftBrace01.php | 64 +
.../spaceBeforeSwitchLeftBrace01.php.formatted | 64 +
.../formatting/spaces/spaceBeforeSwitchParen01.php | 60 +
.../spaces/spaceBeforeSwitchParen01.php.formatted | 62 +
.../formatting/spaces/spaceBeforeSwitchParen02.php | 60 +
.../spaces/spaceBeforeSwitchParen02.php.formatted | 62 +
.../spaces/spaceBeforeTryLeftBrace01.php | 64 +
.../spaces/spaceBeforeTryLeftBrace01.php.formatted | 64 +
.../spaces/spaceBeforeUseStatementPart01.php | 7 +
.../spaceBeforeUseStatementPart01.php.formatted | 9 +
.../spaces/spaceBeforeUseStatementPart02.php | 10 +
.../spaceBeforeUseStatementPart02.php.formatted | 9 +
.../spaces/spaceBeforeUseStatementPart03.php | 12 +
.../spaceBeforeUseStatementPart03.php.formatted | 9 +
.../spaces/spaceBeforeUseStatementPart04.php | 9 +
.../spaceBeforeUseStatementPart04.php.formatted | 9 +
.../spaces/spaceBeforeUseStatementPart05.php | 7 +
.../spaceBeforeUseStatementPart05.php.formatted | 9 +
.../spaces/spaceBeforeUseStatementPart06.php | 7 +
.../spaceBeforeUseStatementPart06.php.formatted | 9 +
.../formatting/spaces/spaceBeforeWhile01.php | 6 +
.../spaces/spaceBeforeWhile01.php.formatted | 6 +
.../formatting/spaces/spaceBeforeWhile02.php | 6 +
.../spaces/spaceBeforeWhile02.php.formatted | 6 +
.../formatting/spaces/spaceBeforeWhile03.php | 6 +
.../spaces/spaceBeforeWhile03.php.formatted | 6 +
.../spaces/spaceBeforeWhileLeftBrace01.php | 64 +
.../spaceBeforeWhileLeftBrace01.php.formatted | 64 +
.../formatting/spaces/spaceBeforeWhileParen01.php | 60 +
.../spaces/spaceBeforeWhileParen01.php.formatted | 62 +
.../formatting/spaces/spaceBeforeWhileParen02.php | 60 +
.../spaces/spaceBeforeWhileParen02.php.formatted | 62 +
.../spaces/spaceCheckAfterKeywords01.php | 16 +
.../spaces/spaceCheckAfterKeywords01.php.formatted | 17 +
.../spaces/spaceCheckAfterKeywords02.php | 38 +
.../spaces/spaceCheckAfterKeywords02.php.formatted | 37 +
.../spaces/spaceWithinAnonymousClassParen01.php | 5 +
.../spaceWithinAnonymousClassParen01.php.formatted | 5 +
.../spaces/spaceWithinAnonymousClassParen02.php | 5 +
.../spaceWithinAnonymousClassParen02.php.formatted | 5 +
.../spaces/spaceWithinAnonymousClassParen03.php | 5 +
.../spaceWithinAnonymousClassParen03.php.formatted | 5 +
.../spaces/spaceWithinAnonymousClassParen04.php | 5 +
.../spaceWithinAnonymousClassParen04.php.formatted | 5 +
.../spaces/spaceWithinArrayBrackets01.php | 8 +
.../spaceWithinArrayBrackets01.php.formatted | 7 +
.../spaces/spaceWithinArrayBrackets02.php | 8 +
.../spaceWithinArrayBrackets02.php.formatted | 7 +
.../spaces/spaceWithinArrayBrackets03.php | 8 +
.../spaceWithinArrayBrackets03.php.formatted | 7 +
.../spaces/spaceWithinArrayBrackets04.php | 8 +
.../spaceWithinArrayBrackets04.php.formatted | 7 +
.../spaces/spaceWithinArrayDeclParens01.php | 17 +
.../spaceWithinArrayDeclParens01.php.formatted | 16 +
.../spaces/spaceWithinArrayDeclParens02.php | 17 +
.../spaceWithinArrayDeclParens02.php.formatted | 16 +
.../formatting/spaces/spaceWithinMethodDecl01.php | 14 +
.../spaces/spaceWithinMethodDecl01.php.formatted | 13 +
.../formatting/spaces/spaceWithinMethodDecl02.php | 14 +
.../spaces/spaceWithinMethodDecl02.php.formatted | 13 +
.../formatting/spaces/spaceWithinParens01.php | 60 +
.../spaces/spaceWithinParens01.php.formatted | 62 +
.../formatting/spaces/spaceWithinParens02.php | 60 +
.../spaces/spaceWithinParens02.php.formatted | 62 +
.../formatting/spaces/spaceWithinParens03.php | 60 +
.../spaces/spaceWithinParens03.php.formatted | 62 +
.../formatting/spaces/spaceWithinParens04.php | 60 +
.../spaces/spaceWithinParens04.php.formatted | 62 +
.../formatting/spaces/spaceWithinParens05.php | 60 +
.../spaces/spaceWithinParens05.php.formatted | 62 +
.../formatting/spaces/spaceWithinParens06.php | 60 +
.../spaces/spaceWithinParens06.php.formatted | 62 +
.../formatting/spaces/spaceWithinParens07.php | 62 +
.../spaces/spaceWithinParens07.php.formatted | 63 +
.../formatting/spaces/spaceWithinParens08.php | 62 +
.../spaces/spaceWithinParens08.php.formatted | 63 +
.../spaces/spaceWithinTypeCastParens01.php | 7 +
.../spaceWithinTypeCastParens01.php.formatted | 8 +
.../spaces/spaceWithinTypeCastParens02.php | 7 +
.../spaceWithinTypeCastParens02.php.formatted | 8 +
.../unit/data/testfiles/formatting/spaceship01.php | 3 +
.../testfiles/formatting/spaceship01.php.formatted | 4 +
.../data/testfiles/formatting/subsequentquotes.php | 7 +
.../formatting/subsequentquotes.php.formatted | 8 +
.../unit/data/testfiles/formatting/switch_stmt.php | 12 +
.../testfiles/formatting/switch_stmt.php.formatted | 13 +
.../data/testfiles/formatting/switch_stmt01.php | 6 +
.../formatting/switch_stmt01.php.formatted | 6 +
.../testfiles/formatting/templates/__README__.txt | 1 +
.../formatting/templates/firstLineInHTML_01.php | 17 +
.../templates/firstLineInHTML_01.php.formatted | 17 +
.../testfiles/formatting/templates/fore_01.php | 8 +
.../formatting/templates/fore_01.php.formatted | 8 +
.../testfiles/formatting/templates/fore_02.php | 8 +
.../formatting/templates/fore_02.php.formatted | 8 +
.../testfiles/formatting/templates/fore_03.php | 8 +
.../formatting/templates/fore_03.php.formatted | 9 +
.../testfiles/formatting/templates/fore_04.php | 10 +
.../formatting/templates/fore_04.php.formatted | 11 +
.../testfiles/formatting/templates/fore_05.php | 9 +
.../formatting/templates/fore_05.php.formatted | 10 +
.../testfiles/formatting/templates/fore_06.php | 11 +
.../formatting/templates/fore_06.php.formatted | 12 +
.../testfiles/formatting/templates/function_01.php | 17 +
.../formatting/templates/function_01.php.formatted | 17 +
.../formatting/templates/groupUseWrapAlways_01.php | 15 +
.../templates/groupUseWrapAlways_01.php.formatted | 15 +
.../formatting/templates/groupUseWrapAlways_02.php | 14 +
.../templates/groupUseWrapAlways_02.php.formatted | 14 +
.../formatting/templates/groupUseWrapAlways_03.php | 17 +
.../templates/groupUseWrapAlways_03.php.formatted | 17 +
.../formatting/templates/groupUseWrapAlways_04.php | 20 +
.../templates/groupUseWrapAlways_04.php.formatted | 20 +
.../formatting/templates/groupUseWrapAlways_05.php | 25 +
.../templates/groupUseWrapAlways_05.php.formatted | 25 +
.../formatting/templates/groupUseWrapAlways_06.php | 31 +
.../templates/groupUseWrapAlways_06.php.formatted | 31 +
.../formatting/templates/groupUseWrapIfLong_01.php | 15 +
.../templates/groupUseWrapIfLong_01.php.formatted | 15 +
.../formatting/templates/groupUseWrapIfLong_02.php | 14 +
.../templates/groupUseWrapIfLong_02.php.formatted | 14 +
.../formatting/templates/groupUseWrapIfLong_03.php | 17 +
.../templates/groupUseWrapIfLong_03.php.formatted | 17 +
.../formatting/templates/groupUseWrapIfLong_04.php | 20 +
.../templates/groupUseWrapIfLong_04.php.formatted | 20 +
.../formatting/templates/groupUseWrapIfLong_05.php | 25 +
.../templates/groupUseWrapIfLong_05.php.formatted | 25 +
.../formatting/templates/groupUseWrapIfLong_06.php | 31 +
.../templates/groupUseWrapIfLong_06.php.formatted | 31 +
.../formatting/templates/groupUseWrapNever_01.php | 15 +
.../templates/groupUseWrapNever_01.php.formatted | 15 +
.../formatting/templates/groupUseWrapNever_02.php | 14 +
.../templates/groupUseWrapNever_02.php.formatted | 14 +
.../formatting/templates/groupUseWrapNever_03.php | 17 +
.../templates/groupUseWrapNever_03.php.formatted | 17 +
.../formatting/templates/groupUseWrapNever_04.php | 20 +
.../templates/groupUseWrapNever_04.php.formatted | 20 +
.../formatting/templates/groupUseWrapNever_05.php | 25 +
.../templates/groupUseWrapNever_05.php.formatted | 25 +
.../formatting/templates/groupUseWrapNever_06.php | 31 +
.../templates/groupUseWrapNever_06.php.formatted | 31 +
.../templates/implementsOverwrite_01.php | 25 +
.../templates/implementsOverwrite_01.php.formatted | 28 +
.../templates/implementsOverwrite_02.php | 25 +
.../templates/implementsOverwrite_02.php.formatted | 30 +
.../templates/implementsOverwrite_03.php | 25 +
.../templates/implementsOverwrite_03.php.formatted | 30 +
.../formatting/templates/issue184070_01.php | 10 +
.../templates/issue184070_01.php.formatted | 10 +
.../testfiles/formatting/templates/issue184141.php | 45 +
.../formatting/templates/issue184141.php.formatted | 45 +
.../formatting/templates/issue184481_01.php | 8 +
.../templates/issue184481_01.php.formatted | 8 +
.../formatting/templates/issue184481_02.php | 8 +
.../templates/issue184481_02.php.formatted | 8 +
.../formatting/templates/issue184481_03.php | 11 +
.../templates/issue184481_03.php.formatted | 11 +
.../formatting/templates/issue184481_04.php | 11 +
.../templates/issue184481_04.php.formatted | 11 +
.../formatting/templates/issue184690_01.php | 16 +
.../templates/issue184690_01.php.formatted | 16 +
.../formatting/templates/issue185435_01.php | 25 +
.../templates/issue185435_01.php.formatted | 25 +
.../formatting/templates/issue185435_02.php | 24 +
.../templates/issue185435_02.php.formatted | 24 +
.../formatting/templates/issue185435_03.php | 25 +
.../templates/issue185435_03.php.formatted | 25 +
.../formatting/templates/issue185435_04.php | 25 +
.../templates/issue185435_04.php.formatted | 25 +
.../formatting/templates/issue185435_05.php | 25 +
.../templates/issue185435_05.php.formatted | 25 +
.../formatting/templates/issue185438_01.php | 16 +
.../templates/issue185438_01.php.formatted | 16 +
.../formatting/templates/issue185438_02.php | 17 +
.../templates/issue185438_02.php.formatted | 17 +
.../formatting/templates/issue186008_01.php | 77 +
.../templates/issue186008_01.php.formatted | 77 +
.../formatting/templates/issue186008_02.php | 77 +
.../templates/issue186008_02.php.formatted | 77 +
.../formatting/templates/issue186008_03.php | 77 +
.../templates/issue186008_03.php.formatted | 77 +
.../formatting/templates/issue187665_01.php | 13 +
.../templates/issue187665_01.php.formatted | 13 +
.../formatting/templates/issue187665_02.php | 13 +
.../templates/issue187665_02.php.formatted | 13 +
.../testfiles/formatting/templates/issue187757.php | 1 +
.../formatting/templates/issue187757.php.formatted | 1 +
.../formatting/templates/issue188656_01.php | 18 +
.../templates/issue188656_01.php.formatted | 18 +
.../formatting/templates/issue188656_02.php | 18 +
.../templates/issue188656_02.php.formatted | 18 +
.../formatting/templates/issue188656_03.php | 18 +
.../templates/issue188656_03.php.formatted | 18 +
.../formatting/templates/issue188656_04.php | 19 +
.../templates/issue188656_04.php.formatted | 19 +
.../formatting/templates/issue188656_05.php | 18 +
.../templates/issue188656_05.php.formatted | 18 +
.../formatting/templates/issue188656_06.php | 20 +
.../templates/issue188656_06.php.formatted | 20 +
.../formatting/templates/issue188656_07.php | 18 +
.../templates/issue188656_07.php.formatted | 18 +
.../formatting/templates/issue188656_08.php | 16 +
.../templates/issue188656_08.php.formatted | 16 +
.../formatting/templates/issue188656_09.php | 16 +
.../templates/issue188656_09.php.formatted | 16 +
.../formatting/templates/issue191565_01.php | 5 +
.../templates/issue191565_01.php.formatted | 5 +
.../testfiles/formatting/templates/issue192220.php | 4 +
.../formatting/templates/issue192220.php.formatted | 4 +
.../testfiles/formatting/templates/issue198616.php | 18 +
.../formatting/templates/issue198616.php.formatted | 20 +
.../formatting/templates/issue262205_01.php | 7 +
.../templates/issue262205_01.php.formatted | 7 +
.../formatting/templates/issue262205_02.php | 8 +
.../templates/issue262205_02.php.formatted | 8 +
.../formatting/templates/issue262205_03.php | 7 +
.../templates/issue262205_03.php.formatted | 7 +
.../formatting/templates/issue262205_04.php | 7 +
.../templates/issue262205_04.php.formatted | 7 +
.../testfiles/formatting/templates/private_01.php | 14 +
.../formatting/templates/private_01.php.formatted | 14 +
.../testfiles/formatting/templates/private_02.php | 15 +
.../formatting/templates/private_02.php.formatted | 15 +
.../testfiles/formatting/wrapping/arrayInit01.php | 27 +
.../formatting/wrapping/arrayInit01.php.formatted | 30 +
.../testfiles/formatting/wrapping/arrayInit02.php | 27 +
.../formatting/wrapping/arrayInit02.php.formatted | 31 +
.../testfiles/formatting/wrapping/arrayInit03.php | 27 +
.../formatting/wrapping/arrayInit03.php.formatted | 47 +
.../testfiles/formatting/wrapping/assignOps01.php | 7 +
.../formatting/wrapping/assignOps01.php.formatted | 10 +
.../testfiles/formatting/wrapping/assignOps02.php | 7 +
.../formatting/wrapping/assignOps02.php.formatted | 6 +
.../testfiles/formatting/wrapping/assignOps03.php | 7 +
.../formatting/wrapping/assignOps03.php.formatted | 7 +
.../testfiles/formatting/wrapping/assignOps04.php | 7 +
.../formatting/wrapping/assignOps04.php.formatted | 10 +
.../testfiles/formatting/wrapping/assignOps05.php | 7 +
.../formatting/wrapping/assignOps05.php.formatted | 6 +
.../testfiles/formatting/wrapping/assignOps06.php | 7 +
.../formatting/wrapping/assignOps06.php.formatted | 7 +
.../testfiles/formatting/wrapping/binaryOps01.php | 7 +
.../formatting/wrapping/binaryOps01.php.formatted | 6 +
.../testfiles/formatting/wrapping/binaryOps02.php | 7 +
.../formatting/wrapping/binaryOps02.php.formatted | 6 +
.../testfiles/formatting/wrapping/binaryOps03.php | 7 +
.../formatting/wrapping/binaryOps03.php.formatted | 7 +
.../testfiles/formatting/wrapping/binaryOps04.php | 7 +
.../formatting/wrapping/binaryOps04.php.formatted | 9 +
.../testfiles/formatting/wrapping/binaryOps05.php | 7 +
.../formatting/wrapping/binaryOps05.php.formatted | 6 +
.../testfiles/formatting/wrapping/binaryOps06.php | 7 +
.../formatting/wrapping/binaryOps06.php.formatted | 7 +
.../testfiles/formatting/wrapping/binaryOps07.php | 7 +
.../formatting/wrapping/binaryOps07.php.formatted | 9 +
.../data/testfiles/formatting/wrapping/block01.php | 41 +
.../formatting/wrapping/block01.php.formatted | 61 +
.../data/testfiles/formatting/wrapping/block02.php | 41 +
.../formatting/wrapping/block02.php.formatted | 47 +
.../data/testfiles/formatting/wrapping/block03.php | 42 +
.../formatting/wrapping/block03.php.formatted | 63 +
.../data/testfiles/formatting/wrapping/block04.php | 42 +
.../formatting/wrapping/block04.php.formatted | 49 +
.../data/testfiles/formatting/wrapping/block05.php | 42 +
.../formatting/wrapping/block05.php.formatted | 78 +
.../data/testfiles/formatting/wrapping/block06.php | 42 +
.../formatting/wrapping/block06.php.formatted | 64 +
.../formatting/wrapping/doStatement01.php | 7 +
.../wrapping/doStatement01.php.formatted | 5 +
.../formatting/wrapping/doStatement02.php | 4 +
.../wrapping/doStatement02.php.formatted | 6 +
.../formatting/wrapping/doStatement03.php | 4 +
.../wrapping/doStatement03.php.formatted | 5 +
.../data/testfiles/formatting/wrapping/for01.php | 9 +
.../formatting/wrapping/for01.php.formatted | 6 +
.../data/testfiles/formatting/wrapping/for02.php | 5 +
.../formatting/wrapping/for02.php.formatted | 8 +
.../formatting/wrapping/forStatement01.php | 4 +
.../wrapping/forStatement01.php.formatted | 4 +
.../formatting/wrapping/forStatement02.php | 6 +
.../wrapping/forStatement02.php.formatted | 4 +
.../formatting/wrapping/forStatement03.php | 6 +
.../wrapping/forStatement03.php.formatted | 4 +
.../formatting/wrapping/forStatement04.php | 4 +
.../wrapping/forStatement04.php.formatted | 5 +
.../formatting/wrapping/forStatement05.php | 6 +
.../wrapping/forStatement05.php.formatted | 5 +
.../formatting/wrapping/forStatement06.php | 4 +
.../wrapping/forStatement06.php.formatted | 4 +
.../formatting/wrapping/forStatement07.php | 4 +
.../wrapping/forStatement07.php.formatted | 5 +
.../formatting/wrapping/forStatement08.php | 4 +
.../wrapping/forStatement08.php.formatted | 4 +
.../formatting/wrapping/forStatement09.php | 4 +
.../wrapping/forStatement09.php.formatted | 5 +
.../formatting/wrapping/forStatement10.php | 4 +
.../wrapping/forStatement10.php.formatted | 5 +
.../formatting/wrapping/groupUseBraces01.php | 12 +
.../wrapping/groupUseBraces01.php.formatted | 16 +
.../formatting/wrapping/groupUseBraces02.php | 12 +
.../wrapping/groupUseBraces02.php.formatted | 25 +
.../formatting/wrapping/groupUseBraces03.php | 11 +
.../wrapping/groupUseBraces03.php.formatted | 22 +
.../formatting/wrapping/groupUseList01.php | 12 +
.../wrapping/groupUseList01.php.formatted | 10 +
.../formatting/wrapping/groupUseList02.php | 13 +
.../wrapping/groupUseList02.php.formatted | 20 +
.../formatting/wrapping/groupUseList03.php | 11 +
.../wrapping/groupUseList03.php.formatted | 15 +
.../wrapping/groupUseListWithComments01.php | 12 +
.../groupUseListWithComments01.php.formatted | 13 +
.../wrapping/groupUseListWithComments02.php | 13 +
.../groupUseListWithComments02.php.formatted | 18 +
.../wrapping/groupUseListWithComments03.php | 11 +
.../groupUseListWithComments03.php.formatted | 16 +
.../formatting/wrapping/ifStatement01.php | 9 +
.../wrapping/ifStatement01.php.formatted | 6 +
.../formatting/wrapping/ifStatement02.php | 6 +
.../wrapping/ifStatement02.php.formatted | 9 +
.../formatting/wrapping/ifStatement03.php | 6 +
.../wrapping/ifStatement03.php.formatted | 8 +
.../testfiles/formatting/wrapping/interfaces01.php | 7 +
.../formatting/wrapping/interfaces01.php.formatted | 12 +
.../formatting/wrapping/interfaces01_5.php | 7 +
.../formatting/wrapping/interfaces01_6.php | 7 +
.../formatting/wrapping/interfaces01_7.php | 7 +
.../testfiles/formatting/wrapping/interfaces02.php | 7 +
.../formatting/wrapping/interfaces02.php.formatted | 12 +
.../testfiles/formatting/wrapping/interfaces03.php | 7 +
.../formatting/wrapping/interfaces03.php.formatted | 12 +
.../testfiles/formatting/wrapping/interfaces04.php | 7 +
.../formatting/wrapping/interfaces04.php.formatted | 13 +
.../testfiles/formatting/wrapping/interfaces05.php | 7 +
.../formatting/wrapping/interfaces05.php.formatted | 14 +
.../formatting/wrapping/issue189722_01.php | 7 +
.../wrapping/issue189722_01.php.formatted | 7 +
.../formatting/wrapping/issue189722_02.php | 7 +
.../wrapping/issue189722_02.php.formatted | 8 +
.../formatting/wrapping/issue189722_03.php | 7 +
.../wrapping/issue189722_03.php.formatted | 6 +
.../formatting/wrapping/issue189722_04.php | 7 +
.../wrapping/issue189722_04.php.formatted | 6 +
.../formatting/wrapping/issue189722_05.php | 7 +
.../wrapping/issue189722_05.php.formatted | 6 +
.../formatting/wrapping/issue189722_06.php | 7 +
.../wrapping/issue189722_06.php.formatted | 6 +
.../formatting/wrapping/issue211933_01.php | 12 +
.../wrapping/issue211933_01.php.formatted | 13 +
.../formatting/wrapping/issue211933_02.php | 12 +
.../wrapping/issue211933_02.php.formatted | 13 +
.../formatting/wrapping/issue211933_03.php | 12 +
.../wrapping/issue211933_03.php.formatted | 13 +
.../formatting/wrapping/issue222774_01.php | 6 +
.../wrapping/issue222774_01.php.formatted | 6 +
.../formatting/wrapping/issue222774_02.php | 6 +
.../wrapping/issue222774_02.php.formatted | 6 +
.../formatting/wrapping/issue222774_03.php | 6 +
.../wrapping/issue222774_03.php.formatted | 6 +
.../formatting/wrapping/issue222774_04.php | 6 +
.../wrapping/issue222774_04.php.formatted | 6 +
.../formatting/wrapping/issue222774_05.php | 6 +
.../wrapping/issue222774_05.php.formatted | 6 +
.../formatting/wrapping/issue222774_06.php | 6 +
.../wrapping/issue222774_06.php.formatted | 6 +
.../formatting/wrapping/issue222774_07.php | 7 +
.../wrapping/issue222774_07.php.formatted | 6 +
.../formatting/wrapping/issue222774_08.php | 7 +
.../wrapping/issue222774_08.php.formatted | 6 +
.../formatting/wrapping/issue222774_09.php | 7 +
.../wrapping/issue222774_09.php.formatted | 7 +
.../formatting/wrapping/issue222774_10.php | 7 +
.../wrapping/issue222774_10.php.formatted | 6 +
.../formatting/wrapping/issue222774_11.php | 7 +
.../wrapping/issue222774_11.php.formatted | 6 +
.../formatting/wrapping/issue222774_12.php | 7 +
.../wrapping/issue222774_12.php.formatted | 7 +
.../formatting/wrapping/issue225535_01.php | 5 +
.../wrapping/issue225535_01.php.formatted | 4 +
.../formatting/wrapping/issue225535_02.php | 5 +
.../wrapping/issue225535_02.php.formatted | 5 +
.../formatting/wrapping/issue225535_03.php | 5 +
.../wrapping/issue225535_03.php.formatted | 4 +
.../formatting/wrapping/issue225535_04.php | 5 +
.../wrapping/issue225535_04.php.formatted | 5 +
.../formatting/wrapping/issue225535_05.php | 5 +
.../wrapping/issue225535_05.php.formatted | 4 +
.../formatting/wrapping/issue225535_06.php | 5 +
.../wrapping/issue225535_06.php.formatted | 5 +
.../formatting/wrapping/issue225535_07.php | 5 +
.../wrapping/issue225535_07.php.formatted | 4 +
.../formatting/wrapping/issue225535_08.php | 5 +
.../wrapping/issue225535_08.php.formatted | 5 +
.../testfiles/formatting/wrapping/issue228712.php | 10 +
.../formatting/wrapping/issue228712.php.formatted | 12 +
.../testfiles/formatting/wrapping/issue230286.php | 6 +
.../formatting/wrapping/issue230286.php.formatted | 6 +
.../formatting/wrapping/issue233527_01.php | 5 +
.../wrapping/issue233527_01.php.formatted | 4 +
.../formatting/wrapping/issue233527_02.php | 5 +
.../wrapping/issue233527_02.php.formatted | 4 +
.../formatting/wrapping/issue233527_03.php | 5 +
.../wrapping/issue233527_03.php.formatted | 6 +
.../formatting/wrapping/issue233527_04.php | 5 +
.../wrapping/issue233527_04.php.formatted | 6 +
.../formatting/wrapping/methodCallArg01.php | 8 +
.../wrapping/methodCallArg01.php.formatted | 8 +
.../formatting/wrapping/methodCallArg02.php | 8 +
.../wrapping/methodCallArg02.php.formatted | 8 +
.../formatting/wrapping/methodCallArg03.php | 8 +
.../wrapping/methodCallArg03.php.formatted | 8 +
.../formatting/wrapping/methodCallArg04.php | 8 +
.../wrapping/methodCallArg04.php.formatted | 8 +
.../formatting/wrapping/methodCallArg05.php | 9 +
.../wrapping/methodCallArg05.php.formatted | 9 +
.../wrapping/methodCallArgWithAnonymousClass01.php | 57 +
...methodCallArgWithAnonymousClass01.php.formatted | 74 +
.../wrapping/methodCallArgWithAnonymousClass02.php | 49 +
...methodCallArgWithAnonymousClass02.php.formatted | 62 +
.../formatting/wrapping/methodChainCall_01.php | 14 +
.../wrapping/methodChainCall_01.php.formatted | 11 +
.../formatting/wrapping/methodParams01.php | 7 +
.../wrapping/methodParams01.php.formatted | 19 +
.../formatting/wrapping/methodParams02.php | 14 +
.../wrapping/methodParams02.php.formatted | 19 +
.../formatting/wrapping/methodParams03.php | 13 +
.../wrapping/methodParams03.php.formatted | 19 +
.../formatting/wrapping/methodParams04.php | 14 +
.../wrapping/methodParams04.php.formatted | 19 +
.../formatting/wrapping/methodParams05.php | 15 +
.../wrapping/methodParams05.php.formatted | 19 +
.../formatting/wrapping/methodParams06.php | 15 +
.../wrapping/methodParams06.php.formatted | 9 +
.../formatting/wrapping/methodParams07.php | 15 +
.../wrapping/methodParams07.php.formatted | 9 +
.../wrapping/selectedGroupUseListAlways01.php | 15 +
.../selectedGroupUseListAlways01.php.formatted | 15 +
.../wrapping/selectedGroupUseListAlways02.php | 14 +
.../selectedGroupUseListAlways02.php.formatted | 14 +
.../wrapping/selectedGroupUseListAlways03.php | 17 +
.../selectedGroupUseListAlways03.php.formatted | 17 +
.../wrapping/selectedGroupUseListAlways04.php | 20 +
.../selectedGroupUseListAlways04.php.formatted | 20 +
.../wrapping/selectedGroupUseListAlways05.php | 19 +
.../selectedGroupUseListAlways05.php.formatted | 20 +
.../wrapping/selectedGroupUseListAlways06.php | 25 +
.../selectedGroupUseListAlways06.php.formatted | 26 +
.../wrapping/selectedGroupUseListAlways07.php | 32 +
.../selectedGroupUseListAlways07.php.formatted | 33 +
.../wrapping/selectedGroupUseListIfLong01.php | 15 +
.../selectedGroupUseListIfLong01.php.formatted | 15 +
.../wrapping/selectedGroupUseListIfLong02.php | 14 +
.../selectedGroupUseListIfLong02.php.formatted | 14 +
.../wrapping/selectedGroupUseListIfLong03.php | 17 +
.../selectedGroupUseListIfLong03.php.formatted | 17 +
.../wrapping/selectedGroupUseListIfLong04.php | 20 +
.../selectedGroupUseListIfLong04.php.formatted | 20 +
.../wrapping/selectedGroupUseListIfLong05.php | 19 +
.../selectedGroupUseListIfLong05.php.formatted | 19 +
.../wrapping/selectedGroupUseListIfLong06.php | 25 +
.../selectedGroupUseListIfLong06.php.formatted | 25 +
.../wrapping/selectedGroupUseListIfLong07.php | 32 +
.../selectedGroupUseListIfLong07.php.formatted | 32 +
.../wrapping/selectedGroupUseListNever01.php | 15 +
.../selectedGroupUseListNever01.php.formatted | 15 +
.../wrapping/selectedGroupUseListNever02.php | 14 +
.../selectedGroupUseListNever02.php.formatted | 14 +
.../wrapping/selectedGroupUseListNever03.php | 17 +
.../selectedGroupUseListNever03.php.formatted | 17 +
.../wrapping/selectedGroupUseListNever04.php | 20 +
.../selectedGroupUseListNever04.php.formatted | 20 +
.../wrapping/selectedGroupUseListNever05.php | 19 +
.../selectedGroupUseListNever05.php.formatted | 19 +
.../wrapping/selectedGroupUseListNever06.php | 25 +
.../selectedGroupUseListNever06.php.formatted | 25 +
.../wrapping/selectedGroupUseListNever07.php | 32 +
.../selectedGroupUseListNever07.php.formatted | 32 +
.../testfiles/formatting/wrapping/statements01.php | 18 +
.../formatting/wrapping/statements01.php.formatted | 26 +
.../testfiles/formatting/wrapping/statements02.php | 18 +
.../formatting/wrapping/statements02.php.formatted | 21 +
.../testfiles/formatting/wrapping/statements03.php | 18 +
.../formatting/wrapping/statements03.php.formatted | 21 +
.../testfiles/formatting/wrapping/statements04.php | 12 +
.../formatting/wrapping/statements04.php.formatted | 11 +
.../testfiles/formatting/wrapping/ternaryOp01.php | 16 +
.../formatting/wrapping/ternaryOp01.php.formatted | 11 +
.../testfiles/formatting/wrapping/ternaryOp02.php | 10 +
.../formatting/wrapping/ternaryOp02.php.formatted | 17 +
.../testfiles/formatting/wrapping/ternaryOp03.php | 10 +
.../formatting/wrapping/ternaryOp03.php.formatted | 11 +
.../testfiles/formatting/wrapping/ternaryOp04.php | 3 +
.../formatting/wrapping/ternaryOp04.php.formatted | 3 +
.../testfiles/formatting/wrapping/ternaryOp05.php | 3 +
.../formatting/wrapping/ternaryOp05.php.formatted | 5 +
.../testfiles/formatting/wrapping/ternaryOp06.php | 3 +
.../formatting/wrapping/ternaryOp06.php.formatted | 3 +
.../testfiles/formatting/wrapping/ternaryOp07.php | 3 +
.../formatting/wrapping/ternaryOp07.php.formatted | 5 +
.../formatting/wrapping/whileStatement01.php | 4 +
.../wrapping/whileStatement01.php.formatted | 4 +
.../formatting/wrapping/whileStatement02.php | 5 +
.../wrapping/whileStatement02.php.formatted | 5 +
.../formatting/wrapping/whileStatement03.php | 5 +
.../wrapping/whileStatement03.php.formatted | 5 +
.../test/unit/data/testfiles/gotoConstrTest.php | 12 +
php.editor/test/unit/data/testfiles/gotoType.php | 41 +
php.editor/test/unit/data/testfiles/gotoType2.php | 3 +
php.editor/test/unit/data/testfiles/gotoarray.php | 26 +
.../testAnonymousClass01/testAnonymousClass01.php | 37 +
.../testAnonymousClass02/testAnonymousClass02.php | 10 +
.../testAnonymousClass03/testAnonymousClass03.php | 26 +
.../testAnonymousClass04/testAnonymousClass04.php | 19 +
.../testAnonymousClass05/testAnonymousClass05.php | 15 +
.../testAnonymousClass06/testAnonymousClass06.php | 24 +
.../testAnonymousClass07/testAnonymousClass07.php | 17 +
.../testClassInUseStatement209187.php | 22 +
.../testClassInstantiation.php | 86 +
.../testClsVarPropInPhpDocTest.php | 25 +
.../testConstAccesInFldDecl.php | 7 +
.../testConstantAccess/testConstantAccess.php | 86 +
.../testConstantArrayAccess.php | 49 +
.../testConstants/testConstants.php | 23 +
.../gotodeclaration/testExtendsClass/classMan.php | 33 +
.../testExtendsClass/classPerson.php | 8 +
.../testExtendsClass/testExtendsClass.php | 31 +
.../testFieldAccessInInstanceOf.php | 13 +
.../testFuncParamAsReference.php | 9 +
.../testGotoConstructTest.php | 12 +
.../testGotoTypeArrays/testGotoTypeArrays.php | 26 +
.../testGotoTypeClsIface/testGotoTypeClsIface.php | 41 +
.../testGotoTypeClsIfaceCatch.php | 41 +
.../testGotoTypeClsIfaceFromalParam.php | 41 +
.../testGotoTypeClsIfaceInstanceof.php | 41 +
.../gotodeclaration/testGroupUse/testGroupUse.php | 58 +
.../testGroupUseConst/testGroupUseConst.php | 27 +
.../testGroupUseFunc/testGroupUseFunc.php | 33 +
.../testGroupUseMixed/testGroupUseMixed.php | 21 +
.../testIfaceTest/testIfaceTest.php | 21 +
.../testImplementsInterface/classPerson.php | 8 +
.../testImplementsInterface.php | 34 +
.../gotodeclaration/testIssue147517/container.php | 3 +
.../gotodeclaration/testIssue147517/driver.php | 3 +
.../gotodeclaration/testIssue147517/factory.php | 3 +
.../gotodeclaration/testIssue147517/manager.php | 3 +
.../testIssue147517/testIssue147517.php | 8 +
.../gotodeclaration/testIssue186553/object1.php | 7 +
.../testIssue186553/testIssue186553.php | 12 +
.../testIssue200596/testIssue200596.php | 35 +
.../testIssue203073/testIssue203073.php | 35 +
.../testIssue203814/testIssue203814.php | 28 +
.../testIssue207346/testIssue207346.php | 27 +
.../testIssue207615/testIssue207615.php | 15 +
.../testIssue207971/testIssue207971.php | 14 +
.../testIssue208851/testIssue208851.php | 22 +
.../testIssue209308/testIssue209308.php | 36 +
.../testIssue209309/testIssue209309.php | 16 +
.../gotodeclaration/testIssue209888/Types.php | 14 +
.../testIssue209888/testIssue209888.php | 29 +
.../testIssue211230/testIssue211230.php | 17 +
.../testIssue213133/testIssue213133.php | 9 +
.../testIssue213584/testIssue213584.php | 29 +
.../gotodeclaration/testIssue217360/Two.php | 12 +
.../testIssue217360/testIssue217360.php | 17 +
.../testIssue218487/testIssue218487.php | 18 +
.../testIssue244317/testIssue244317.php | 17 +
.../testIssue247082/testIssue247082.php | 50 +
.../testMethodInvocation/testMethodInvocation.php | 86 +
.../testMixedTypes200156/testMixedTypes200156.php | 36 +
.../testParamVarPropInPhpDocTest.php | 25 +
.../testQualifiedClassInPhpDoc.php | 26 +
.../testReturnType/testReturnType.php | 20 +
.../testStaticAccessWithNs.php | 41 +
.../testStaticAccessWithNsAlias.php | 38 +
.../testStaticConstant197239.php | 13 +
.../testStaticFieldAccess.php | 86 +
.../testStaticMethodInvocation.php | 94 +
.../testSuperClasses/testSuperClasses.php | 86 +
.../testUniformVariableSyntax.php | 52 +
.../testUseFuncAndConst/testUseFuncAndConst.php | 19 +
.../testVardoc166660/testVardoc166660.php | 5 +
php.editor/test/unit/data/testfiles/ifaceTest.php | 21 +
.../data/testfiles/indent/after_switch_break.php | 7 +
.../indent/after_switch_break.php.indented | 8 +
.../data/testfiles/indent/after_switch_break_1.php | 7 +
.../indent/after_switch_break_1.php.indented | 8 +
.../data/testfiles/indent/after_switch_case.php | 5 +
.../indent/after_switch_case.php.indented | 6 +
.../test/unit/data/testfiles/indent/arrays1.php | 5 +
.../data/testfiles/indent/arrays1.php.indented | 6 +
.../test/unit/data/testfiles/indent/arrays10.php | 5 +
.../data/testfiles/indent/arrays10.php.indented | 6 +
.../test/unit/data/testfiles/indent/arrays11.php | 6 +
.../data/testfiles/indent/arrays11.php.indented | 7 +
.../test/unit/data/testfiles/indent/arrays12.php | 5 +
.../data/testfiles/indent/arrays12.php.indented | 6 +
.../test/unit/data/testfiles/indent/arrays13.php | 5 +
.../data/testfiles/indent/arrays13.php.indented | 6 +
.../test/unit/data/testfiles/indent/arrays14.php | 5 +
.../data/testfiles/indent/arrays14.php.indented | 7 +
.../test/unit/data/testfiles/indent/arrays15.php | 5 +
.../data/testfiles/indent/arrays15.php.indented | 7 +
.../test/unit/data/testfiles/indent/arrays16.php | 6 +
.../data/testfiles/indent/arrays16.php.indented | 8 +
.../test/unit/data/testfiles/indent/arrays17.php | 4 +
.../data/testfiles/indent/arrays17.php.indented | 6 +
.../test/unit/data/testfiles/indent/arrays18.php | 7 +
.../data/testfiles/indent/arrays18.php.indented | 9 +
.../test/unit/data/testfiles/indent/arrays19.php | 4 +
.../data/testfiles/indent/arrays19.php.indented | 5 +
.../test/unit/data/testfiles/indent/arrays2.php | 5 +
.../data/testfiles/indent/arrays2.php.indented | 6 +
.../test/unit/data/testfiles/indent/arrays20.php | 6 +
.../data/testfiles/indent/arrays20.php.indented | 8 +
.../test/unit/data/testfiles/indent/arrays21.php | 8 +
.../data/testfiles/indent/arrays21.php.indented | 9 +
.../test/unit/data/testfiles/indent/arrays22.php | 8 +
.../data/testfiles/indent/arrays22.php.indented | 9 +
.../test/unit/data/testfiles/indent/arrays23.php | 9 +
.../data/testfiles/indent/arrays23.php.indented | 11 +
.../test/unit/data/testfiles/indent/arrays24.php | 11 +
.../data/testfiles/indent/arrays24.php.indented | 12 +
.../test/unit/data/testfiles/indent/arrays25.php | 11 +
.../data/testfiles/indent/arrays25.php.indented | 12 +
.../test/unit/data/testfiles/indent/arrays26.php | 11 +
.../data/testfiles/indent/arrays26.php.indented | 13 +
.../test/unit/data/testfiles/indent/arrays27.php | 11 +
.../data/testfiles/indent/arrays27.php.indented | 13 +
.../test/unit/data/testfiles/indent/arrays28.php | 13 +
.../data/testfiles/indent/arrays28.php.indented | 14 +
.../test/unit/data/testfiles/indent/arrays29.php | 6 +
.../data/testfiles/indent/arrays29.php.indented | 7 +
.../test/unit/data/testfiles/indent/arrays3.php | 4 +
.../data/testfiles/indent/arrays3.php.indented | 5 +
.../test/unit/data/testfiles/indent/arrays4.php | 3 +
.../data/testfiles/indent/arrays4.php.indented | 4 +
.../test/unit/data/testfiles/indent/arrays5.php | 3 +
.../data/testfiles/indent/arrays5.php.indented | 5 +
.../test/unit/data/testfiles/indent/arrays6.php | 3 +
.../data/testfiles/indent/arrays6.php.indented | 5 +
.../test/unit/data/testfiles/indent/arrays7.php | 3 +
.../data/testfiles/indent/arrays7.php.indented | 5 +
.../test/unit/data/testfiles/indent/arrays8.php | 5 +
.../data/testfiles/indent/arrays8.php.indented | 6 +
.../test/unit/data/testfiles/indent/arrays9.php | 6 +
.../data/testfiles/indent/arrays9.php.indented | 7 +
.../unit/data/testfiles/indent/break_in_while.php | 5 +
.../testfiles/indent/break_in_while.php.indented | 6 +
.../indent/control_stmt_without_bracket1.php | 5 +
.../control_stmt_without_bracket1.php.indented | 6 +
.../indent/control_stmt_without_bracket2.php | 6 +
.../control_stmt_without_bracket2.php.indented | 7 +
.../indent/control_stmt_without_bracket3.php | 8 +
.../control_stmt_without_bracket3.php.indented | 9 +
.../unit/data/testfiles/indent/firstline_01.php | 2 +
.../testfiles/indent/firstline_01.php.indented | 3 +
.../unit/data/testfiles/indent/firstline_02.php | 4 +
.../testfiles/indent/firstline_02.php.indented | 5 +
.../unit/data/testfiles/indent/firstline_03.php | 5 +
.../testfiles/indent/firstline_03.php.indented | 6 +
.../unit/data/testfiles/indent/firstline_04.php | 6 +
.../testfiles/indent/firstline_04.php.indented | 7 +
.../data/testfiles/indent/groupUseConst_01.php | 6 +
.../testfiles/indent/groupUseConst_01.php.indented | 7 +
.../data/testfiles/indent/groupUseConst_02.php | 6 +
.../testfiles/indent/groupUseConst_02.php.indented | 7 +
.../data/testfiles/indent/groupUseConst_03.php | 6 +
.../testfiles/indent/groupUseConst_03.php.indented | 7 +
.../data/testfiles/indent/groupUseFunction_01.php | 6 +
.../indent/groupUseFunction_01.php.indented | 7 +
.../data/testfiles/indent/groupUseFunction_02.php | 6 +
.../indent/groupUseFunction_02.php.indented | 7 +
.../data/testfiles/indent/groupUseFunction_03.php | 6 +
.../indent/groupUseFunction_03.php.indented | 7 +
.../unit/data/testfiles/indent/groupUse_01.php | 10 +
.../data/testfiles/indent/groupUse_01.php.indented | 11 +
.../unit/data/testfiles/indent/groupUse_02.php | 10 +
.../data/testfiles/indent/groupUse_02.php.indented | 11 +
.../unit/data/testfiles/indent/groupUse_03.php | 10 +
.../data/testfiles/indent/groupUse_03.php.indented | 11 +
.../unit/data/testfiles/indent/groupUse_04.php | 10 +
.../data/testfiles/indent/groupUse_04.php.indented | 11 +
.../unit/data/testfiles/indent/groupUse_05.php | 10 +
.../data/testfiles/indent/groupUse_05.php.indented | 11 +
.../data/testfiles/indent/html_indent_in_php.php | 10 +
.../indent/html_indent_in_php.php.indented | 12 +
.../indent/indent_after_closing_bracket.php | 7 +
.../indent_after_closing_bracket.php.indented | 8 +
.../indent/indent_after_multiline_stmt1.php | 11 +
.../indent_after_multiline_stmt1.php.indented | 12 +
.../testfiles/indent/initialIndentation_01.php | 1 +
.../indent/initialIndentation_01.php.indented | 2 +
.../testfiles/indent/initialIndentation_02.php | 1 +
.../indent/initialIndentation_02.php.indented | 2 +
.../testfiles/indent/initialIndentation_03.php | 5 +
.../indent/initialIndentation_03.php.indented | 6 +
.../testfiles/indent/initialIndentation_04.php | 5 +
.../indent/initialIndentation_04.php.indented | 6 +
.../unit/data/testfiles/indent/issue157137.php | 3 +
.../data/testfiles/indent/issue157137.php.indented | 4 +
.../unit/data/testfiles/indent/issue162586.php | 8 +
.../data/testfiles/indent/issue162586.php.indented | 9 +
.../unit/data/testfiles/indent/issue166552.php | 15 +
.../data/testfiles/indent/issue166552.php.indented | 16 +
.../unit/data/testfiles/indent/issue168908.php | 9 +
.../data/testfiles/indent/issue168908.php.indented | 10 +
.../unit/data/testfiles/indent/issue173937_01.php | 6 +
.../testfiles/indent/issue173937_01.php.indented | 7 +
.../unit/data/testfiles/indent/issue173979_1.php | 6 +
.../testfiles/indent/issue173979_1.php.indented | 8 +
.../unit/data/testfiles/indent/issue173979_2.php | 8 +
.../testfiles/indent/issue173979_2.php.indented | 9 +
.../unit/data/testfiles/indent/issue174835_01.php | 6 +
.../testfiles/indent/issue174835_01.php.indented | 7 +
.../unit/data/testfiles/indent/issue175118_01.php | 5 +
.../testfiles/indent/issue175118_01.php.indented | 6 +
.../unit/data/testfiles/indent/issue175118_02.php | 6 +
.../testfiles/indent/issue175118_02.php.indented | 7 +
.../unit/data/testfiles/indent/issue175118_03.php | 6 +
.../testfiles/indent/issue175118_03.php.indented | 7 +
.../unit/data/testfiles/indent/issue175118_04.php | 3 +
.../testfiles/indent/issue175118_04.php.indented | 4 +
.../unit/data/testfiles/indent/issue175118_05.php | 2 +
.../testfiles/indent/issue175118_05.php.indented | 3 +
.../unit/data/testfiles/indent/issue175118_06.php | 2 +
.../testfiles/indent/issue175118_06.php.indented | 3 +
.../unit/data/testfiles/indent/issue175118_07.php | 3 +
.../testfiles/indent/issue175118_07.php.indented | 4 +
.../unit/data/testfiles/indent/issue175118_08.php | 5 +
.../testfiles/indent/issue175118_08.php.indented | 6 +
.../unit/data/testfiles/indent/issue175118_09.php | 3 +
.../testfiles/indent/issue175118_09.php.indented | 4 +
.../unit/data/testfiles/indent/issue175118_10.php | 2 +
.../testfiles/indent/issue175118_10.php.indented | 3 +
.../unit/data/testfiles/indent/issue175118_11.php | 2 +
.../testfiles/indent/issue175118_11.php.indented | 3 +
.../unit/data/testfiles/indent/issue175118_12.php | 5 +
.../testfiles/indent/issue175118_12.php.indented | 6 +
.../unit/data/testfiles/indent/issue175118_13.php | 5 +
.../testfiles/indent/issue175118_13.php.indented | 6 +
.../unit/data/testfiles/indent/issue175118_14.php | 2 +
.../testfiles/indent/issue175118_14.php.indented | 3 +
.../unit/data/testfiles/indent/issue175118_15.php | 2 +
.../testfiles/indent/issue175118_15.php.indented | 3 +
.../unit/data/testfiles/indent/issue175118_16.php | 3 +
.../testfiles/indent/issue175118_16.php.indented | 4 +
.../unit/data/testfiles/indent/issue175118_17.php | 4 +
.../testfiles/indent/issue175118_17.php.indented | 5 +
.../unit/data/testfiles/indent/issue175437_1.php | 5 +
.../testfiles/indent/issue175437_1.php.indented | 6 +
.../unit/data/testfiles/indent/issue175437_10.php | 9 +
.../testfiles/indent/issue175437_10.php.indented | 10 +
.../unit/data/testfiles/indent/issue175437_11.php | 5 +
.../testfiles/indent/issue175437_11.php.indented | 6 +
.../data/testfiles/indent/issue175437_11_3.php | 5 +
.../unit/data/testfiles/indent/issue175437_12.php | 6 +
.../testfiles/indent/issue175437_12.php.indented | 7 +
.../unit/data/testfiles/indent/issue175437_13.php | 6 +
.../testfiles/indent/issue175437_13.php.indented | 7 +
.../unit/data/testfiles/indent/issue175437_2.php | 4 +
.../testfiles/indent/issue175437_2.php.indented | 5 +
.../unit/data/testfiles/indent/issue175437_3.php | 4 +
.../testfiles/indent/issue175437_3.php.indented | 5 +
.../unit/data/testfiles/indent/issue175437_4.php | 4 +
.../testfiles/indent/issue175437_4.php.indented | 5 +
.../unit/data/testfiles/indent/issue175437_5.php | 6 +
.../testfiles/indent/issue175437_5.php.indented | 7 +
.../unit/data/testfiles/indent/issue175437_6.php | 5 +
.../testfiles/indent/issue175437_6.php.indented | 6 +
.../unit/data/testfiles/indent/issue175437_7.php | 4 +
.../testfiles/indent/issue175437_7.php.indented | 5 +
.../unit/data/testfiles/indent/issue175437_8.php | 8 +
.../testfiles/indent/issue175437_8.php.indented | 9 +
.../unit/data/testfiles/indent/issue175437_9.php | 8 +
.../testfiles/indent/issue175437_9.php.indented | 9 +
.../unit/data/testfiles/indent/issue176061.php | 14 +
.../data/testfiles/indent/issue176061.php.indented | 15 +
.../unit/data/testfiles/indent/issue178024_01.php | 7 +
.../testfiles/indent/issue178024_01.php.indented | 8 +
.../unit/data/testfiles/indent/issue178024_02.php | 7 +
.../testfiles/indent/issue178024_02.php.indented | 8 +
.../unit/data/testfiles/indent/issue178024_03.php | 7 +
.../testfiles/indent/issue178024_03.php.indented | 8 +
.../unit/data/testfiles/indent/issue178024_04.php | 8 +
.../testfiles/indent/issue178024_04.php.indented | 9 +
.../unit/data/testfiles/indent/issue178024_05.php | 8 +
.../testfiles/indent/issue178024_05.php.indented | 9 +
.../unit/data/testfiles/indent/issue178024_06.php | 8 +
.../testfiles/indent/issue178024_06.php.indented | 9 +
.../unit/data/testfiles/indent/issue178542_01.php | 5 +
.../testfiles/indent/issue178542_01.php.indented | 7 +
.../unit/data/testfiles/indent/issue178542_02.php | 5 +
.../testfiles/indent/issue178542_02.php.indented | 7 +
.../unit/data/testfiles/indent/issue178542_03.php | 6 +
.../testfiles/indent/issue178542_03.php.indented | 8 +
.../unit/data/testfiles/indent/issue179522_01.php | 9 +
.../testfiles/indent/issue179522_01.php.indented | 10 +
.../unit/data/testfiles/indent/issue179522_02.php | 9 +
.../testfiles/indent/issue179522_02.php.indented | 10 +
.../unit/data/testfiles/indent/issue179522_03.php | 9 +
.../testfiles/indent/issue179522_03.php.indented | 10 +
.../unit/data/testfiles/indent/issue179522_04.php | 9 +
.../testfiles/indent/issue179522_04.php.indented | 10 +
.../unit/data/testfiles/indent/issue179522_05.php | 10 +
.../testfiles/indent/issue179522_05.php.indented | 11 +
.../unit/data/testfiles/indent/issue191896_01.php | 5 +
.../testfiles/indent/issue191896_01.php.indented | 6 +
.../unit/data/testfiles/indent/issue191896_02.php | 5 +
.../testfiles/indent/issue191896_02.php.indented | 6 +
.../unit/data/testfiles/indent/issue191896_03.php | 5 +
.../testfiles/indent/issue191896_03.php.indented | 6 +
.../unit/data/testfiles/indent/issue191896_04.php | 5 +
.../testfiles/indent/issue191896_04.php.indented | 6 +
.../unit/data/testfiles/indent/issue197583_01.php | 5 +
.../testfiles/indent/issue197583_01.php.indented | 6 +
.../unit/data/testfiles/indent/issue197583_02.php | 6 +
.../testfiles/indent/issue197583_02.php.indented | 7 +
.../unit/data/testfiles/indent/issue201285_01.php | 7 +
.../testfiles/indent/issue201285_01.php.indented | 8 +
.../unit/data/testfiles/indent/issue201285_02.php | 9 +
.../testfiles/indent/issue201285_02.php.indented | 10 +
.../unit/data/testfiles/indent/issue201330_01.php | 12 +
.../testfiles/indent/issue201330_01.php.indented | 13 +
.../unit/data/testfiles/indent/issue201330_02.php | 11 +
.../testfiles/indent/issue201330_02.php.indented | 12 +
.../unit/data/testfiles/indent/issue201330_03.php | 12 +
.../testfiles/indent/issue201330_03.php.indented | 13 +
.../unit/data/testfiles/indent/issue201330_04.php | 11 +
.../testfiles/indent/issue201330_04.php.indented | 12 +
.../unit/data/testfiles/indent/issue202151.php | 2 +
.../data/testfiles/indent/issue202151.php.indented | 3 +
.../unit/data/testfiles/indent/issue203389.php | 14 +
.../data/testfiles/indent/issue203389.php.indented | 15 +
.../unit/data/testfiles/indent/issue222753_01.php | 12 +
.../testfiles/indent/issue222753_01.php.indented | 13 +
.../unit/data/testfiles/indent/issue222753_02.php | 12 +
.../testfiles/indent/issue222753_02.php.indented | 13 +
.../unit/data/testfiles/indent/issue222753_03.php | 13 +
.../testfiles/indent/issue222753_03.php.indented | 14 +
.../unit/data/testfiles/indent/issue222980_01.php | 14 +
.../testfiles/indent/issue222980_01.php.indented | 15 +
.../unit/data/testfiles/indent/issue222980_02.php | 14 +
.../testfiles/indent/issue222980_02.php.indented | 15 +
.../unit/data/testfiles/indent/issue222980_03.php | 14 +
.../testfiles/indent/issue222980_03.php.indented | 15 +
.../unit/data/testfiles/indent/issue222980_04.php | 14 +
.../testfiles/indent/issue222980_04.php.indented | 15 +
.../unit/data/testfiles/indent/issue222980_05.php | 14 +
.../testfiles/indent/issue222980_05.php.indented | 15 +
.../unit/data/testfiles/indent/issue222980_06.php | 14 +
.../testfiles/indent/issue222980_06.php.indented | 15 +
.../unit/data/testfiles/indent/issue222980_07.php | 14 +
.../testfiles/indent/issue222980_07.php.indented | 15 +
.../unit/data/testfiles/indent/issue222980_08.php | 16 +
.../testfiles/indent/issue222980_08.php.indented | 17 +
.../unit/data/testfiles/indent/issue222980_09.php | 16 +
.../testfiles/indent/issue222980_09.php.indented | 17 +
.../unit/data/testfiles/indent/linecomment_1.php | 4 +
.../testfiles/indent/linecomment_1.php.indented | 5 +
.../data/testfiles/indent/linecomment_175685_1.php | 5 +
.../indent/linecomment_175685_1.php.indented | 6 +
.../testfiles/indent/linecomment_175685_10.php | 19 +
.../indent/linecomment_175685_10.php.indented | 20 +
.../testfiles/indent/linecomment_175685_11.php | 21 +
.../indent/linecomment_175685_11.php.indented | 22 +
.../data/testfiles/indent/linecomment_175685_2.php | 15 +
.../indent/linecomment_175685_2.php.indented | 16 +
.../data/testfiles/indent/linecomment_175685_3.php | 15 +
.../indent/linecomment_175685_3.php.indented | 16 +
.../data/testfiles/indent/linecomment_175685_4.php | 16 +
.../indent/linecomment_175685_4.php.indented | 17 +
.../data/testfiles/indent/linecomment_175685_5.php | 16 +
.../indent/linecomment_175685_5.php.indented | 17 +
.../data/testfiles/indent/linecomment_175685_6.php | 16 +
.../indent/linecomment_175685_6.php.indented | 17 +
.../data/testfiles/indent/linecomment_175685_7.php | 19 +
.../indent/linecomment_175685_7.php.indented | 20 +
.../data/testfiles/indent/linecomment_175685_8.php | 19 +
.../indent/linecomment_175685_8.php.indented | 20 +
.../data/testfiles/indent/linecomment_175685_9.php | 18 +
.../indent/linecomment_175685_9.php.indented | 19 +
.../unit/data/testfiles/indent/linecomment_2.php | 4 +
.../testfiles/indent/linecomment_2.php.indented | 5 +
.../unit/data/testfiles/indent/linecomment_3.php | 5 +
.../testfiles/indent/linecomment_3.php.indented | 6 +
.../unit/data/testfiles/indent/linecomment_4.php | 4 +
.../testfiles/indent/linecomment_4.php.indented | 5 +
.../testfiles/indent/multiline_function_call.php | 3 +
.../indent/multiline_function_call.php.indented | 4 +
.../indent/multiline_function_call_01.php | 2 +
.../indent/multiline_function_call_01.php.indented | 3 +
.../indent/multiline_function_call_02.php | 2 +
.../indent/multiline_function_call_02.php.indented | 3 +
.../indent/multiline_function_call_03.php | 2 +
.../indent/multiline_function_call_03.php.indented | 3 +
.../indent/multiline_function_call_04.php | 2 +
.../indent/multiline_function_call_04.php.indented | 3 +
.../indent/multiline_function_call_05.php | 4 +
.../indent/multiline_function_call_05.php.indented | 5 +
.../indent/multiline_function_call_06.php | 4 +
.../indent/multiline_function_call_06.php.indented | 5 +
.../indent/multiline_function_call_07.php | 5 +
.../indent/multiline_function_call_07.php.indented | 6 +
.../indent/multiline_function_call_08.php | 5 +
.../indent/multiline_function_call_08.php.indented | 6 +
.../indent/multiline_function_call_08_3.php | 5 +
.../indent/multiline_function_call_08_4.php | 5 +
.../indent/multiline_function_call_09.php | 3 +
.../indent/multiline_function_call_09.php.indented | 4 +
.../indent/multiline_function_call_10.php | 5 +
.../indent/multiline_function_call_10.php.indented | 6 +
.../indent/multiline_function_call_11.php | 5 +
.../indent/multiline_function_call_11.php.indented | 6 +
.../indent/multiline_function_call_12.php | 3 +
.../indent/multiline_function_call_12.php.indented | 4 +
.../indent/multiline_function_call_13.php | 3 +
.../indent/multiline_function_call_13.php.indented | 4 +
.../indent/multiline_function_call_14.php | 3 +
.../indent/multiline_function_call_14.php.indented | 4 +
.../indent/multiline_function_call_15.php | 3 +
.../indent/multiline_function_call_15.php.indented | 4 +
.../indent/multiline_function_call_16.php | 3 +
.../indent/multiline_function_call_16.php.indented | 4 +
.../indent/multiline_function_call_17.php | 4 +
.../indent/multiline_function_call_17.php.indented | 5 +
.../indent/multiline_function_call_18.php | 7 +
.../indent/multiline_function_call_18.php.indented | 8 +
.../indent/multiline_function_call_19.php | 4 +
.../indent/multiline_function_call_19.php.indented | 5 +
.../indent/multiline_function_call_20.php | 6 +
.../indent/multiline_function_call_20.php.indented | 7 +
.../indent/multiline_function_call_21.php | 7 +
.../indent/multiline_function_call_21.php.indented | 8 +
.../indent/multiline_function_call_22.php | 5 +
.../indent/multiline_function_call_22.php.indented | 6 +
.../indent/multiline_function_call_23.php | 5 +
.../indent/multiline_function_call_23.php.indented | 6 +
.../indent/multiline_function_call_24.php | 6 +
.../indent/multiline_function_call_24.php.indented | 7 +
.../indent/multiline_function_call_25.php | 7 +
.../indent/multiline_function_call_25.php.indented | 8 +
.../indent/multiline_function_call_26.php | 8 +
.../indent/multiline_function_call_26.php.indented | 9 +
.../indent/multiline_function_call_27.php | 6 +
.../indent/multiline_function_call_27.php.indented | 8 +
.../indent/multiline_function_call_28.php | 5 +
.../indent/multiline_function_call_28.php.indented | 7 +
.../indent/multiline_function_call_29.php | 5 +
.../indent/multiline_function_call_29.php.indented | 6 +
.../indent/multiline_function_call_30.php | 5 +
.../indent/multiline_function_call_30.php.indented | 7 +
.../indent/multiline_function_call_31.php | 6 +
.../indent/multiline_function_call_31.php.indented | 8 +
.../indent/multiline_function_call_32.php | 6 +
.../indent/multiline_function_call_32.php.indented | 7 +
.../indent/multiline_function_call_33.php | 10 +
.../indent/multiline_function_call_33.php.indented | 11 +
.../data/testfiles/indent/multiline_string1.php | 7 +
.../indent/multiline_string1.php.indented | 8 +
.../data/testfiles/indent/multiline_string2.php | 7 +
.../indent/multiline_string2.php.indented | 8 +
.../data/testfiles/indent/multiline_string3.php | 7 +
.../indent/multiline_string3.php.indented | 8 +
.../data/testfiles/indent/multiline_string4.php | 7 +
.../indent/multiline_string4.php.indented | 8 +
.../testfiles/indent/objectOperatorContinue_01.php | 7 +
.../indent/objectOperatorContinue_01.php.indented | 8 +
.../testfiles/indent/objectOperatorContinue_02.php | 8 +
.../indent/objectOperatorContinue_02.php.indented | 9 +
.../testfiles/indent/objectOperatorContinue_03.php | 10 +
.../indent/objectOperatorContinue_03.php.indented | 11 +
.../testfiles/indent/objectOperatorContinue_04.php | 10 +
.../indent/objectOperatorContinue_04.php.indented | 11 +
.../testfiles/indent/objectOperatorContinue_05.php | 11 +
.../indent/objectOperatorContinue_05.php.indented | 12 +
.../testfiles/indent/objectOperatorContinue_06.php | 11 +
.../indent/objectOperatorContinue_06.php.indented | 12 +
.../testfiles/indent/objectOperatorContinue_07.php | 10 +
.../indent/objectOperatorContinue_07.php.indented | 12 +
.../testfiles/indent/objectOperatorContinue_09.php | 12 +
.../indent/objectOperatorContinue_09.php.indented | 13 +
.../testfiles/indent/objectOperatorContinue_10.php | 11 +
.../indent/objectOperatorContinue_10.php.indented | 12 +
.../testfiles/indent/objectOperatorContinue_11.php | 11 +
.../indent/objectOperatorContinue_11.php.indented | 12 +
.../unit/data/testfiles/indent/phpInHtml_01.php | 5 +
.../testfiles/indent/phpInHtml_01.php.indented | 6 +
.../qa/issues/10_10_5/regressions/173900.php | 4 +
.../regressions/173900.php.10_10_5.indented | 5 +
.../issues/10_10_5/stable_fixedIssues/146247_1.php | 5 +
.../146247_1.php.10_10_5.indented | 6 +
.../issues/10_10_5/stable_fixedIssues/146247_2.php | 5 +
.../146247_2.php.10_10_5.indented | 6 +
.../issues/10_10_5/stable_fixedIssues/146247_3.php | 4 +
.../146247_3.php.10_10_5.indented | 5 +
.../issues/10_10_5/stable_fixedIssues/146247_4.php | 4 +
.../146247_4.php.10_10_5.indented | 5 +
.../issues/10_10_5/stable_fixedIssues/166543_1.php | 6 +
.../166543_1.php.10_10_5.indented | 7 +
.../issues/10_10_5/stable_fixedIssues/166543_2.php | 11 +
.../166543_2.php.10_10_5.indented | 12 +
.../issues/10_10_5/stable_fixedIssues/167087.php | 4 +
.../stable_fixedIssues/167087.php.10_10_5.indented | 5 +
.../issues/10_10_5/stable_fixedIssues/168337.php | 6 +
.../stable_fixedIssues/168337.php.10_10_5.indented | 7 +
.../issues/10_10_5/stable_fixedIssues/172797.php | 19 +
.../stable_fixedIssues/172797.php.10_10_5.indented | 21 +
.../issues/10_10_5/stable_fixedIssues/173357_1.php | 17 +
.../173357_1.php.10_10_5.indented | 18 +
.../issues/10_10_5/stable_fixedIssues/173357_2.php | 3 +
.../173357_2.php.10_10_5.indented | 5 +
.../issues/10_10_5/stable_fixedIssues/173937_1.php | 9 +
.../173937_1.php.10_10_5.indented | 10 +
.../issues/10_10_5/stable_fixedIssues/173966.php | 6 +
.../stable_fixedIssues/173966.php.10_10_5.indented | 8 +
.../issues/10_10_5/stable_fixedIssues/175437.php | 3 +
.../stable_fixedIssues/175437.php.10_10_5.indented | 4 +
.../issues/10_10_5/stable_fixedIssues/176061.php | 46 +
.../stable_fixedIssues/176061.php.10_10_5.indented | 47 +
.../stable_fixedIssues/classAfterFunction.php | 13 +
.../classAfterFunction.php.10_10_5.indented | 15 +
.../indent/qa/issues/regressions/173900.php | 4 +
.../qa/issues/regressions/173900.php.indented | 5 +
.../qa/issues/stable_fixedIssues/146247_1.php | 5 +
.../stable_fixedIssues/146247_1.php.indented | 6 +
.../qa/issues/stable_fixedIssues/146247_2.php | 5 +
.../stable_fixedIssues/146247_2.php.indented | 6 +
.../qa/issues/stable_fixedIssues/146247_3.php | 4 +
.../stable_fixedIssues/146247_3.php.indented | 5 +
.../qa/issues/stable_fixedIssues/146247_4.php | 4 +
.../stable_fixedIssues/146247_4.php.indented | 5 +
.../qa/issues/stable_fixedIssues/166543_1.php | 6 +
.../stable_fixedIssues/166543_1.php.indented | 7 +
.../qa/issues/stable_fixedIssues/166543_2.php | 8 +
.../stable_fixedIssues/166543_2.php.indented | 9 +
.../indent/qa/issues/stable_fixedIssues/167087.php | 4 +
.../issues/stable_fixedIssues/167087.php.indented | 5 +
.../indent/qa/issues/stable_fixedIssues/168337.php | 6 +
.../issues/stable_fixedIssues/168337.php.indented | 7 +
.../indent/qa/issues/stable_fixedIssues/172797.php | 18 +
.../issues/stable_fixedIssues/172797.php.indented | 20 +
.../qa/issues/stable_fixedIssues/173357_1.php | 17 +
.../stable_fixedIssues/173357_1.php.indented | 18 +
.../qa/issues/stable_fixedIssues/173357_2.php | 3 +
.../stable_fixedIssues/173357_2.php.indented | 5 +
.../qa/issues/stable_fixedIssues/173937_1.php | 7 +
.../stable_fixedIssues/173937_1.php.indented | 8 +
.../indent/qa/issues/stable_fixedIssues/173966.php | 5 +
.../issues/stable_fixedIssues/173966.php.indented | 7 +
.../indent/qa/issues/stable_fixedIssues/175437.php | 3 +
.../issues/stable_fixedIssues/175437.php.indented | 4 +
.../indent/qa/issues/stable_fixedIssues/176061.php | 46 +
.../issues/stable_fixedIssues/176061.php.indented | 47 +
.../indent/qa/issues/stable_fixedIssues/177250.php | 10 +
.../issues/stable_fixedIssues/177250.php.indented | 11 +
.../indent/qa/issues/stable_fixedIssues/182072.php | 10 +
.../issues/stable_fixedIssues/182072.php.indented | 11 +
.../indent/qa/issues/stable_fixedIssues/183135.php | 3 +
.../issues/stable_fixedIssues/183135.php.indented | 4 +
.../stable_fixedIssues/classAfterFunction.php | 13 +
.../classAfterFunction.php.indented | 15 +
.../unit/data/testfiles/indent/shortArrays1.php | 5 +
.../testfiles/indent/shortArrays1.php.indented | 6 +
.../unit/data/testfiles/indent/shortArrays10.php | 5 +
.../testfiles/indent/shortArrays10.php.indented | 6 +
.../unit/data/testfiles/indent/shortArrays11.php | 6 +
.../testfiles/indent/shortArrays11.php.indented | 7 +
.../unit/data/testfiles/indent/shortArrays12.php | 5 +
.../testfiles/indent/shortArrays12.php.indented | 6 +
.../unit/data/testfiles/indent/shortArrays13.php | 5 +
.../testfiles/indent/shortArrays13.php.indented | 6 +
.../unit/data/testfiles/indent/shortArrays14.php | 5 +
.../testfiles/indent/shortArrays14.php.indented | 7 +
.../unit/data/testfiles/indent/shortArrays15.php | 5 +
.../testfiles/indent/shortArrays15.php.indented | 7 +
.../unit/data/testfiles/indent/shortArrays16.php | 6 +
.../testfiles/indent/shortArrays16.php.indented | 8 +
.../unit/data/testfiles/indent/shortArrays17.php | 5 +
.../testfiles/indent/shortArrays17.php.indented | 7 +
.../unit/data/testfiles/indent/shortArrays18.php | 7 +
.../testfiles/indent/shortArrays18.php.indented | 9 +
.../unit/data/testfiles/indent/shortArrays19.php | 4 +
.../testfiles/indent/shortArrays19.php.indented | 5 +
.../unit/data/testfiles/indent/shortArrays2.php | 5 +
.../testfiles/indent/shortArrays2.php.indented | 6 +
.../unit/data/testfiles/indent/shortArrays20.php | 6 +
.../testfiles/indent/shortArrays20.php.indented | 8 +
.../unit/data/testfiles/indent/shortArrays21.php | 8 +
.../testfiles/indent/shortArrays21.php.indented | 9 +
.../unit/data/testfiles/indent/shortArrays22.php | 8 +
.../testfiles/indent/shortArrays22.php.indented | 9 +
.../unit/data/testfiles/indent/shortArrays23.php | 9 +
.../testfiles/indent/shortArrays23.php.indented | 11 +
.../unit/data/testfiles/indent/shortArrays24.php | 11 +
.../testfiles/indent/shortArrays24.php.indented | 12 +
.../unit/data/testfiles/indent/shortArrays25.php | 11 +
.../testfiles/indent/shortArrays25.php.indented | 12 +
.../unit/data/testfiles/indent/shortArrays26.php | 11 +
.../testfiles/indent/shortArrays26.php.indented | 13 +
.../unit/data/testfiles/indent/shortArrays27.php | 11 +
.../testfiles/indent/shortArrays27.php.indented | 13 +
.../unit/data/testfiles/indent/shortArrays28.php | 13 +
.../testfiles/indent/shortArrays28.php.indented | 14 +
.../unit/data/testfiles/indent/shortArrays29.php | 6 +
.../testfiles/indent/shortArrays29.php.indented | 7 +
.../unit/data/testfiles/indent/shortArrays3.php | 4 +
.../testfiles/indent/shortArrays3.php.indented | 5 +
.../unit/data/testfiles/indent/shortArrays4.php | 3 +
.../testfiles/indent/shortArrays4.php.indented | 4 +
.../unit/data/testfiles/indent/shortArrays5.php | 3 +
.../testfiles/indent/shortArrays5.php.indented | 5 +
.../unit/data/testfiles/indent/shortArrays6.php | 3 +
.../testfiles/indent/shortArrays6.php.indented | 5 +
.../unit/data/testfiles/indent/shortArrays7.php | 3 +
.../testfiles/indent/shortArrays7.php.indented | 5 +
.../unit/data/testfiles/indent/shortArrays8.php | 5 +
.../testfiles/indent/shortArrays8.php.indented | 6 +
.../unit/data/testfiles/indent/shortArrays9.php | 6 +
.../testfiles/indent/shortArrays9.php.indented | 7 +
.../unit/data/testfiles/indent/smart_enter.php | 3 +
.../data/testfiles/indent/smart_enter.php.indented | 5 +
.../unit/data/testfiles/indent/smart_enter_02.php | 3 +
.../testfiles/indent/smart_enter_02.php.indented | 5 +
.../unit/data/testfiles/indent/smart_enter_03.php | 3 +
.../testfiles/indent/smart_enter_03.php.indented | 5 +
.../test/unit/data/testfiles/indent/switch_01.php | 6 +
.../data/testfiles/indent/switch_01.php.indented | 7 +
.../test/unit/data/testfiles/indent/switch_02.php | 6 +
.../data/testfiles/indent/switch_02.php.indented | 7 +
.../test/unit/data/testfiles/indent/switch_03.php | 6 +
.../data/testfiles/indent/switch_03.php.indented | 7 +
.../test/unit/data/testfiles/indent/switch_04.php | 8 +
.../data/testfiles/indent/switch_04.php.indented | 9 +
.../test/unit/data/testfiles/indent/switch_05.php | 8 +
.../data/testfiles/indent/switch_05.php.indented | 9 +
.../test/unit/data/testfiles/indent/switch_06.php | 9 +
.../data/testfiles/indent/switch_06.php.indented | 10 +
.../test/unit/data/testfiles/indent/switch_07.php | 10 +
.../data/testfiles/indent/switch_07.php.indented | 11 +
.../test/unit/data/testfiles/indent/switch_08.php | 11 +
.../data/testfiles/indent/switch_08.php.indented | 12 +
.../test/unit/data/testfiles/indent/switch_09.php | 8 +
.../data/testfiles/indent/switch_09.php.indented | 9 +
.../testfiles/indent/trivial_repeated_indent.php | 9 +
.../indent/trivial_repeated_indent.php.indented | 10 +
.../testGetAllTopLevel/testGetAllTopLevel.php | 9 +
.../testGetClassAncestors.php | 13 +
.../testGetClassHierarchy.php | 9 +
.../testGetClassHierarchy_1.php | 4 +
.../testGetClassHierarchy_2.php | 3 +
.../index/testGetClasses/testGetClasses.php | 9 +
.../testGetClasses/testGetClasses.php.indexed | 80 +
.../index/testGetClasses/testGetClasses_1.php | 4 +
.../testGetClassesWithNsInterfaces.php | 10 +
.../testGetClassesWithNsInterfaces.php.indexed | 43 +
.../index/testGetConstants/testGetConstants.php | 13 +
.../testGetDirectIncludes.php | 13 +
.../testfiles/index/testGetFiles/testGetFiles.php | 13 +
.../index/testGetFunctions/testGetFunctions.php | 7 +
.../testGetFunctions/testGetFunctions.php.indexed | 46 +
.../index/testGetFunctions/testGetFunctions_1.php | 4 +
.../testGetInterfaceAncestors.php | 13 +
.../testGetInterfaceHierarchy.php | 6 +
.../index/testGetInterfaces/testGetInterfaces.php | 8 +
.../testGetInterfaces.php.indexed | 43 +
.../testGetInterfaces/testGetInterfaces_1.php | 4 +
.../index/testGetMethods/testGetMethods.php | 7 +
.../testGetMethods/testGetMethods.php.indexed | 23 +
.../index/testGetMethods/testGetMethods_1.php | 14 +
.../index/testGetNamespaces/testGetNamespaces.php | 12 +
.../testGetNamespaces.php.indexed | 44 +
.../testGetTopLevelVariables.php | 13 +
.../testGetTypeAncestors/testGetTypeAncestors.php | 13 +
.../index/testIssue240824/testIssue240824.php | 17 +
.../testIssue240824/testIssue240824.php.indexed | 28 +
.../testSimpleClassDeclaration.php | 13 +
.../testSimpleClassDeclaration.php.indexed | 57 +
.../test/unit/data/testfiles/issue213616.php.folds | 10 +
.../test/unit/data/testfiles/issue216088.php.folds | 7 +
.../test/unit/data/testfiles/issue232884.php.folds | 6 +
.../testfiles/js/embeddedMultipleSections1.php | 19 +
.../js/embeddedMultipleSections1.php.formatted | 19 +
.../unit/data/testfiles/js/embeddedSimple1.php | 22 +
.../testfiles/js/embeddedSimple1.php.formatted | 22 +
.../unit/data/testfiles/js/embeddedSimple2.php | 13 +
.../testfiles/js/embeddedSimple2.php.formatted | 13 +
.../unit/data/testfiles/js/embeddedSimple3.php | 18 +
.../testfiles/js/embeddedSimple3.php.formatted | 18 +
.../unit/data/testfiles/js/embeddedSimple4.php | 3 +
.../testfiles/js/embeddedSimple4.php.formatted | 3 +
.../unit/data/testfiles/js/embeddedSimple5.php | 24 +
.../testfiles/js/embeddedSimple5.php.formatted | 22 +
.../data/testfiles/lexer/binaryNotation_01.php | 5 +
.../data/testfiles/lexer/binaryNotation_02.php | 5 +
.../data/testfiles/lexer/binaryNotation_03.php | 5 +
.../data/testfiles/lexer/binaryNotation_04.php | 5 +
.../test/unit/data/testfiles/lexer/coalesce_01.php | 2 +
.../test/unit/data/testfiles/lexer/coalesce_02.php | 2 +
.../test/unit/data/testfiles/lexer/coalesce_03.php | 2 +
.../test/unit/data/testfiles/lexer/coalesce_04.php | 3 +
.../test/unit/data/testfiles/lexer/coalesce_05.php | 3 +
.../test/unit/data/testfiles/lexer/elvis_01.php | 2 +
.../test/unit/data/testfiles/lexer/elvis_02.php | 2 +
.../test/unit/data/testfiles/lexer/elvis_03.php | 2 +
.../test/unit/data/testfiles/lexer/elvis_04.php | 2 +
.../test/unit/data/testfiles/lexer/elvis_05.php | 3 +
.../test/unit/data/testfiles/lexer/elvis_06.php | 3 +
.../test/unit/data/testfiles/lexer/heredoc00.php | 27 +
.../test/unit/data/testfiles/lexer/heredoc01.php | 5 +
.../test/unit/data/testfiles/lexer/heredoc_001.php | 23 +
.../test/unit/data/testfiles/lexer/heredoc_002.php | 23 +
.../test/unit/data/testfiles/lexer/heredoc_003.php | 23 +
.../test/unit/data/testfiles/lexer/heredoc_004.php | 23 +
.../test/unit/data/testfiles/lexer/heredoc_005.php | 22 +
.../test/unit/data/testfiles/lexer/heredoc_006.php | 23 +
.../test/unit/data/testfiles/lexer/heredoc_007.php | 23 +
.../test/unit/data/testfiles/lexer/heredoc_008.php | 17 +
.../test/unit/data/testfiles/lexer/heredoc_009.php | 42 +
.../test/unit/data/testfiles/lexer/heredoc_010.php | 32 +
.../test/unit/data/testfiles/lexer/heredoc_011.php | 20 +
.../test/unit/data/testfiles/lexer/heredoc_012.php | 12 +
.../test/unit/data/testfiles/lexer/heredoc_013.php | 12 +
.../test/unit/data/testfiles/lexer/heredoc_014.php | 12 +
.../test/unit/data/testfiles/lexer/heredoc_015.php | 18 +
.../test/unit/data/testfiles/lexer/heredoc_02.php | 7 +
.../test/unit/data/testfiles/lexer/heredoc_03.php | 7 +
.../test/unit/data/testfiles/lexer/heredoc_04.php | 6 +
.../test/unit/data/testfiles/lexer/issue138261.php | 5 +
.../test/unit/data/testfiles/lexer/issue144337.php | 15 +
.../test/unit/data/testfiles/lexer/issue198572.php | 25 +
.../test/unit/data/testfiles/lexer/issue221484.php | 8 +
.../unit/data/testfiles/lexer/issue222092_01.php | 7 +
.../unit/data/testfiles/lexer/issue222092_02.php | 7 +
.../test/unit/data/testfiles/lexer/issue225549.php | 5 +
.../test/unit/data/testfiles/lexer/issue229960.php | 3 +
.../test/unit/data/testfiles/lexer/issue235973.php | 5 +
.../test/unit/data/testfiles/lexer/jump01.php | 14 +
.../test/unit/data/testfiles/lexer/jump02.php | 16 +
.../test/unit/data/testfiles/lexer/jump03.php | 18 +
.../test/unit/data/testfiles/lexer/jump04.php | 24 +
.../test/unit/data/testfiles/lexer/jump05.php | 26 +
.../test/unit/data/testfiles/lexer/jump06.php | 8 +
.../test/unit/data/testfiles/lexer/jump07.php | 11 +
.../test/unit/data/testfiles/lexer/jump08.php | 11 +
.../test/unit/data/testfiles/lexer/jump09.php | 13 +
.../test/unit/data/testfiles/lexer/jump10.php | 13 +
.../test/unit/data/testfiles/lexer/jump11.php | 26 +
.../test/unit/data/testfiles/lexer/jump12.php | 19 +
.../test/unit/data/testfiles/lexer/jump13.php | 25 +
.../test/unit/data/testfiles/lexer/nowdoc01.php | 16 +
.../test/unit/data/testfiles/lexer/nowdoc02.php | 16 +
.../test/unit/data/testfiles/lexer/nowdoc_000.php | 10 +
.../test/unit/data/testfiles/lexer/nowdoc_001.php | 24 +
.../test/unit/data/testfiles/lexer/nowdoc_002.php | 23 +
.../test/unit/data/testfiles/lexer/nowdoc_003.php | 23 +
.../test/unit/data/testfiles/lexer/nowdoc_004.php | 23 +
.../test/unit/data/testfiles/lexer/nowdoc_005.php | 23 +
.../test/unit/data/testfiles/lexer/nowdoc_006.php | 23 +
.../test/unit/data/testfiles/lexer/nowdoc_007.php | 23 +
.../test/unit/data/testfiles/lexer/nowdoc_008.php | 17 +
.../test/unit/data/testfiles/lexer/nowdoc_009.php | 40 +
.../test/unit/data/testfiles/lexer/nowdoc_010.php | 33 +
.../test/unit/data/testfiles/lexer/nowdoc_011.php | 20 +
.../test/unit/data/testfiles/lexer/nowdoc_012.php | 25 +
.../test/unit/data/testfiles/lexer/nowdoc_013.php | 26 +
.../test/unit/data/testfiles/lexer/nowdoc_014.php | 25 +
.../test/unit/data/testfiles/lexer/nowdoc_015.php | 74 +
.../unit/data/testfiles/lexer/return_types_01.php | 4 +
.../unit/data/testfiles/lexer/return_types_02.php | 4 +
.../unit/data/testfiles/lexer/return_types_03.php | 8 +
.../unit/data/testfiles/lexer/scalar_types_01.php | 17 +
.../testfiles/lexer/shortArraysStaticScalar_01.php | 7 +
.../testfiles/lexer/shortArraysStaticScalar_02.php | 5 +
.../unit/data/testfiles/lexer/shortArrays_01.php | 4 +
.../unit/data/testfiles/lexer/shortArrays_02.php | 6 +
.../unit/data/testfiles/lexer/spaceship_01.php | 2 +
.../unit/data/testfiles/lexer/spaceship_02.php | 4 +
.../test/unit/data/testfiles/lexer/test01.php | 9 +
.../test/unit/data/testfiles/lexer/traits_01.php | 5 +
.../test/unit/data/testfiles/lexer/traits_02.php | 5 +
.../test/unit/data/testfiles/lexer/traits_03.php | 5 +
.../test/unit/data/testfiles/lexer/traits_04.php | 7 +
.../test/unit/data/testfiles/lexer/traits_05.php | 8 +
.../test/unit/data/testfiles/lexer/traits_06.php | 8 +
.../unit/data/testfiles/lexer/yieldKeyword.php | 9 +
.../unit/data/testfiles/lexer/yield_from_01.php | 7 +
.../unit/data/testfiles/lexer/yield_from_02.php | 7 +
.../unit/data/testfiles/lexer/yield_from_03.php | 7 +
.../unit/data/testfiles/lexer/yield_from_04.php | 8 +
.../unit/data/testfiles/lexer/yield_from_05.php | 8 +
.../unit/data/testfiles/lexer/yield_from_06.php | 5 +
.../testAnonymousClasses01.php | 36 +
.../testAnonymousClasses02.php | 19 +
.../testAnonymousClasses03.php | 26 +
.../testAnonymousClasses04.php | 11 +
.../testAnonymousClasses05.php | 17 +
.../testArrayDereferencing.php | 34 +
.../testCatchWithAlias/testCatchWithAlias.php | 13 +
.../testClsVarPropInPhpDocTest.php | 25 +
.../testConstantArrayAccess.php | 49 +
.../markoccurences/testConstants/testConstants.php | 23 +
.../testFieldAccessInInstanceOf.php | 13 +
.../testGotoConstructTest.php | 12 +
.../markoccurences/testGotoLabel/testGotoLabel.php | 10 +
.../testGroupUses01/testGroupUses01.php | 50 +
.../testGroupUses02/testGroupUses02.php | 21 +
.../markoccurences/testIfaceTest/testIfaceTest.php | 21 +
.../testInstanceof198909/testInstanceof198909.php | 15 +
.../testIssue133465/testIssue133465.php | 8 +
.../markoccurences/testIssue186553/object1.php | 7 +
.../testIssue186553/testIssue186553.php | 12 +
.../testIssue197283/testIssue197283.php | 10 +
.../testIssue198449/testIssue198449.php | 6 +
.../testIssue200399/testIssue200399.php | 18 +
.../testIssue200596/testIssue200596.php | 47 +
.../testIssue201429/testIssue201429.php | 18 +
.../testIssue201671/testIssue201671.php | 4 +
.../testIssue203073/testIssue203073.php | 35 +
.../testIssue203419/testIssue203419.php | 45 +
.../testIssue203814/testIssue203814.php | 28 +
.../testIssue204433/testIssue204433.php | 46 +
.../testIssue207346/testIssue207346.php | 27 +
.../testIssue207615/testIssue207615.php | 15 +
.../testIssue207971/testIssue207971.php | 14 +
.../testIssue208245/testIssue208245.php | 16 +
.../testIssue208826/testIssue208826.php | 46 +
.../testIssue209187/testIssue209187.php | 22 +
.../testIssue209308/testIssue209308.php | 36 +
.../testIssue209309/testIssue209309.php | 16 +
.../testIssue211015/testIssue211015.php | 15 +
.../testIssue211230/testIssue211230.php | 17 +
.../testIssue213133/testIssue213133.php | 9 +
.../testIssue213584/testIssue213584.php | 29 +
.../testIssue216876/testIssue216876.php | 15 +
.../testIssue217357/testIssue217357.php | 15 +
.../markoccurences/testIssue217360/Two.php | 12 +
.../testIssue217360/testIssue217360.php | 17 +
.../testIssue218487/testIssue218487.php | 18 +
.../testIssue223076/testIssue223076.php | 14 +
.../testIssue244317/testIssue244317.php | 17 +
.../testIssue247082/testIssue247082.php | 50 +
.../testIssue262438/testIssue262438.php | 20 +
.../testMagicMethod/testMagicMethod.php | 17 +
.../testMagicMethod171249.php | 17 +
.../markoccurences/testMarkArray/testMarkArray.php | 26 +
.../testMarkClsIface/testMarkClsIface.php | 41 +
.../testMarkReturnsOnConstructorTest.php | 25 +
.../testOccurrences1/testOccurrences1.php | 4 +
.../testOccurrences2/testOccurrences2.php | 7 +
.../testOccurrences3/testOccurrences3.php | 6 +
.../testOccurrences4/testOccurrences4.php | 7 +
.../testOccurrencesClassHeader.php | 4 +
.../testOccurrencesDefines.php | 6 +
.../testOccurrencesInstanceMethod.php | 8 +
.../testOccurrencesInstanceVarParam.php | 8 +
.../testParamVarPropInPhpDocTest.php | 25 +
.../testQualifiedUseStatement.php | 19 +
.../testReflectionVariableInMethodInvocation.php | 12 +
.../testReturnTypes01/testReturnTypes01.php | 19 +
.../testStaticAccessWithNs.php | 41 +
.../testStaticAccessWithNsAlias.php | 38 +
.../testStaticMethodCall/testStaticMethodCall.php | 18 +
.../testUniformVariableSyntax01.php | 46 +
.../testUniformVariableSyntax02.php | 26 +
.../testUseFuncAndConst/testUseFuncAndConst.php | 19 +
.../testVardoc166660/testVardoc166660.php | 5 +
.../testVariableAsAClassName.php | 6 +
.../test/unit/data/testfiles/markphpdocTest.php | 25 +
.../unit/data/testfiles/model/basicFileScope.php | 57 +
.../test/unit/data/testfiles/model/globalvars2.php | 42 +
.../test/unit/data/testfiles/model/globalvars3.php | 16 +
.../test/unit/data/testfiles/model/issue202460.php | 12 +
.../test/unit/data/testfiles/model/issue206727.php | 3 +
.../test/unit/data/testfiles/model/issue210558.php | 3 +
.../test/unit/data/testfiles/model/modelfile1.php | 14 +
.../unit/data/testfiles/model/namespaces01.php | 28 +
.../unit/data/testfiles/model/namespaces02.php | 28 +
.../unit/data/testfiles/model/namespaces03.php | 29 +
.../unit/data/testfiles/model/namespaces04.php | 29 +
.../unit/data/testfiles/model/namespaces05.php | 31 +
.../unit/data/testfiles/model/namespaces06.php | 54 +
.../unit/data/testfiles/model/namespaces07.php | 28 +
.../testfiles/model/performance/performance.php | 34415 +++++++++++++++++
.../unit/data/testfiles/model/returnTypes01.php | 3 +
.../unit/data/testfiles/model/returnTypes02.php | 3 +
.../unit/data/testfiles/model/returnTypes03.php | 12 +
.../unit/data/testfiles/model/returnTypes04.php | 12 +
.../unit/data/testfiles/model/returnTypes05.php | 15 +
.../test/unit/data/testfiles/model/scope.php | 51 +
.../model/superandsubtype/testIssue217175.php | 21 +
.../model/superandsubtype/testSubType_01.php | 9 +
.../model/superandsubtype/testSubType_02.php | 17 +
.../model/superandsubtype/testSubType_03.php | 9 +
.../model/superandsubtype/testSubType_04.php | 9 +
.../model/superandsubtype/testSubType_05.php | 17 +
.../model/superandsubtype/testSubType_06.php | 9 +
.../model/superandsubtype/testSubType_07.php | 9 +
.../model/superandsubtype/testSubType_08.php | 15 +
.../model/superandsubtype/testSubType_09.php | 15 +
.../model/superandsubtype/testSubType_10.php | 11 +
.../model/superandsubtype/testSubType_11.php | 11 +
.../model/superandsubtype/testSubType_12.php | 11 +
.../model/superandsubtype/testSubType_13.php | 11 +
.../model/superandsubtype/testSubType_14.php | 11 +
.../model/superandsubtype/testSubType_15.php | 14 +
.../model/superandsubtype/testSubType_16.php | 16 +
.../model/superandsubtype/testSuperType_01.php | 9 +
.../model/superandsubtype/testSuperType_02.php | 17 +
.../model/superandsubtype/testSuperType_03.php | 9 +
.../model/superandsubtype/testSuperType_04.php | 9 +
.../model/superandsubtype/testSuperType_05.php | 17 +
.../model/superandsubtype/testSuperType_06.php | 9 +
.../model/superandsubtype/testSuperType_07.php | 9 +
.../model/superandsubtype/testSuperType_08.php | 15 +
.../model/superandsubtype/testSuperType_09.php | 15 +
.../model/superandsubtype/testSuperType_10.php | 11 +
.../model/superandsubtype/testSuperType_11.php | 11 +
.../model/superandsubtype/testSuperType_12.php | 11 +
.../model/superandsubtype/testSuperType_13.php | 11 +
.../model/superandsubtype/testSuperType_14.php | 11 +
.../model/superandsubtype/testSuperType_15.php | 14 +
.../model/superandsubtype/testSuperType_16.php | 16 +
php.editor/test/unit/data/testfiles/nowdoc.inc | 11 +
.../unit/data/testfiles/parser/TextSearchQuery.php | 1155 +
.../data/testfiles/parser/anonymousClass_01.php | 96 +
.../testfiles/parser/anonymousClass_01.php.errors | 0
.../testfiles/parser/anonymousObjectVariable.php | 6 +
.../parser/anonymousObjectVariable.php.errors | 0
.../data/testfiles/parser/argumentUnpacking_01.php | 8 +
.../parser/argumentUnpacking_01.php.errors | 0
.../testfiles/parser/arrayDereferencing_01.php | 5 +
.../parser/arrayDereferencing_01.php.errors | 0
.../testfiles/parser/arrayDereferencing_02.php | 5 +
.../parser/arrayDereferencing_02.php.errors | 0
.../testfiles/parser/arrayDereferencing_03.php | 5 +
.../parser/arrayDereferencing_03.php.errors | 0
.../testfiles/parser/arrayDereferencing_04.php | 5 +
.../parser/arrayDereferencing_04.php.errors | 0
.../testfiles/parser/arrayDereferencing_05.php | 5 +
.../parser/arrayDereferencing_05.php.errors | 0
.../testfiles/parser/arrayDereferencing_06.php | 5 +
.../parser/arrayDereferencing_06.php.errors | 0
.../testfiles/parser/arrayDereferencing_07.php | 5 +
.../parser/arrayDereferencing_07.php.errors | 0
.../testfiles/parser/arrayDereferencing_08.php | 5 +
.../parser/arrayDereferencing_08.php.errors | 0
.../testfiles/parser/arrayDereferencing_09.php | 5 +
.../parser/arrayDereferencing_09.php.errors | 0
.../data/testfiles/parser/binaryNotation_01.php | 5 +
.../testfiles/parser/binaryNotation_01.php.errors | 0
.../data/testfiles/parser/binaryNotation_02.php | 5 +
.../testfiles/parser/binaryNotation_02.php.errors | 0
.../data/testfiles/parser/binaryNotation_03.php | 5 +
.../testfiles/parser/binaryNotation_03.php.errors | 0
.../data/testfiles/parser/binaryNotation_04.php | 5 +
.../testfiles/parser/binaryNotation_04.php.errors | 7 +
.../test/unit/data/testfiles/parser/cfunction.php | 11 +
.../data/testfiles/parser/cfunction.php.errors | 0
.../unit/data/testfiles/parser/classConstant.php | 19 +
.../data/testfiles/parser/classConstant.php.errors | 0
.../unit/data/testfiles/parser/coalesce_01.php | 2 +
.../data/testfiles/parser/coalesce_01.php.errors | 0
.../unit/data/testfiles/parser/coalesce_02.php | 2 +
.../data/testfiles/parser/coalesce_02.php.errors | 0
.../testfiles/parser/constantArrayAccess_01.php | 41 +
.../parser/constantArrayAccess_01.php.errors | 0
.../testfiles/parser/constantArrayAccess_02.php | 4 +
.../parser/constantArrayAccess_02.php.errors | 10 +
.../testfiles/parser/constantArrayAccess_03.php | 10 +
.../parser/constantArrayAccess_03.php.errors | 13 +
.../parser/constantScalarExpressions_01.php | 17 +
.../parser/constantScalarExpressions_01.php.errors | 0
.../test/unit/data/testfiles/parser/elvis_01.php | 2 +
.../unit/data/testfiles/parser/elvis_01.php.errors | 0
.../test/unit/data/testfiles/parser/elvis_02.php | 2 +
.../unit/data/testfiles/parser/elvis_02.php.errors | 0
.../data/testfiles/parser/exponentiation_01.php | 8 +
.../testfiles/parser/exponentiation_01.php.errors | 0
.../testfiles/parser/expressionArrayAccess_01.php | 3 +
.../parser/expressionArrayAccess_01.php.errors | 0
.../testfiles/parser/expressionArrayAccess_02.php | 3 +
.../parser/expressionArrayAccess_02.php.errors | 0
.../testfiles/parser/expressionArrayAccess_03.php | 3 +
.../parser/expressionArrayAccess_03.php.errors | 0
.../parser/fieldArraysWithArrayDereferencing.php | 5 +
.../data/testfiles/parser/fieldModificators_01.php | 7 +
.../parser/fieldModificators_01.php.errors | 10 +
.../data/testfiles/parser/fieldModificators_02.php | 7 +
.../parser/fieldModificators_02.php.errors | 10 +
.../data/testfiles/parser/fieldModificators_03.php | 7 +
.../parser/fieldModificators_03.php.errors | 10 +
.../data/testfiles/parser/fieldModificators_04.php | 7 +
.../parser/fieldModificators_04.php.errors | 10 +
.../data/testfiles/parser/fieldModificators_05.php | 7 +
.../parser/fieldModificators_05.php.errors | 10 +
.../test/unit/data/testfiles/parser/finally_01.php | 11 +
.../data/testfiles/parser/finally_01.php.errors | 0
.../test/unit/data/testfiles/parser/finally_02.php | 9 +
.../data/testfiles/parser/finally_02.php.errors | 0
.../test/unit/data/testfiles/parser/finally_03.php | 9 +
.../data/testfiles/parser/finally_03.php.errors | 0
.../parser/foldingConditionalStatements.php | 43 +
.../parser/foldingConditionalStatements_1.php | 55 +
.../unit/data/testfiles/parser/foldingCycles.php | 63 +
.../unit/data/testfiles/parser/foldingCycles_1.php | 79 +
.../unit/data/testfiles/parser/foldingMethod.php | 23 +
.../unit/data/testfiles/parser/foldingMethod_1.php | 28 +
.../data/testfiles/parser/functionCallParam.php | 5 +
.../testfiles/parser/functionCallParam.php.errors | 8 +
.../unit/data/testfiles/parser/gotostatement.php | 1 +
.../unit/data/testfiles/parser/groupUse_01.php | 3 +
.../data/testfiles/parser/groupUse_01.php.errors | 0
.../unit/data/testfiles/parser/groupUse_02.php | 3 +
.../data/testfiles/parser/groupUse_02.php.errors | 0
.../unit/data/testfiles/parser/groupUse_03.php | 3 +
.../data/testfiles/parser/groupUse_03.php.errors | 0
.../unit/data/testfiles/parser/groupUse_04.php | 3 +
.../data/testfiles/parser/groupUse_04.php.errors | 0
.../test/unit/data/testfiles/parser/heredoc00.php | 27 +
.../test/unit/data/testfiles/parser/heredoc01.php | 5 +
.../unit/data/testfiles/parser/heredoc_001.php | 23 +
.../unit/data/testfiles/parser/heredoc_002.php | 23 +
.../unit/data/testfiles/parser/heredoc_003.php | 23 +
.../unit/data/testfiles/parser/heredoc_004.php | 23 +
.../unit/data/testfiles/parser/heredoc_005.php | 22 +
.../unit/data/testfiles/parser/heredoc_006.php | 23 +
.../unit/data/testfiles/parser/heredoc_007.php | 23 +
.../unit/data/testfiles/parser/heredoc_008.php | 17 +
.../unit/data/testfiles/parser/heredoc_009.php | 42 +
.../unit/data/testfiles/parser/heredoc_010.php | 32 +
.../unit/data/testfiles/parser/heredoc_011.php | 20 +
.../unit/data/testfiles/parser/heredoc_012.php | 12 +
.../unit/data/testfiles/parser/heredoc_013.php | 12 +
.../unit/data/testfiles/parser/heredoc_014.php | 12 +
.../unit/data/testfiles/parser/heredoc_015.php | 18 +
.../data/testfiles/parser/instanceOfExpression.php | 5 +
.../unit/data/testfiles/parser/issue170712.php | 11 +
.../unit/data/testfiles/parser/issue189630.php | 9 +
.../data/testfiles/parser/issue189630.php.errors | 0
.../unit/data/testfiles/parser/issue190105_01.php | 22 +
.../testfiles/parser/issue190105_01.php.errors | 0
.../unit/data/testfiles/parser/issue190105_02.php | 22 +
.../testfiles/parser/issue190105_02.php.errors | 7 +
.../unit/data/testfiles/parser/issue190105_03.php | 23 +
.../testfiles/parser/issue190105_03.php.errors | 0
.../unit/data/testfiles/parser/issue198572.php | 25 +
.../data/testfiles/parser/issue198572.php.errors | 0
.../unit/data/testfiles/parser/issue200501.php | 6 +
.../unit/data/testfiles/parser/issue211165_01.php | 11 +
.../testfiles/parser/issue211165_01.php.errors | 13 +
.../unit/data/testfiles/parser/issue211165_02.php | 5 +
.../testfiles/parser/issue211165_02.php.errors | 16 +
.../unit/data/testfiles/parser/issue211165_03.php | 6 +
.../testfiles/parser/issue211165_03.php.errors | 7 +
.../unit/data/testfiles/parser/issue211165_04.php | 9 +
.../testfiles/parser/issue211165_04.php.errors | 10 +
.../unit/data/testfiles/parser/issue211165_05.php | 21 +
.../testfiles/parser/issue211165_05.php.errors | 28 +
.../unit/data/testfiles/parser/issue211165_06.php | 17 +
.../testfiles/parser/issue211165_06.php.errors | 13 +
.../unit/data/testfiles/parser/issue211165_07.php | 9 +
.../testfiles/parser/issue211165_07.php.errors | 7 +
.../unit/data/testfiles/parser/issue211165_08.php | 14 +
.../testfiles/parser/issue211165_08.php.errors | 13 +
.../unit/data/testfiles/parser/issue211165_09.php | 11 +
.../testfiles/parser/issue211165_09.php.errors | 28 +
.../unit/data/testfiles/parser/issue213080.php | 14 +
.../data/testfiles/parser/issue213080.php.errors | 0
.../unit/data/testfiles/parser/issue213423.php | 9 +
.../unit/data/testfiles/parser/issue213616.php | 10 +
.../unit/data/testfiles/parser/issue216088.php | 7 +
.../unit/data/testfiles/parser/issue222857.php | 11 +
.../data/testfiles/parser/issue222857.php.errors | 0
.../unit/data/testfiles/parser/issue232884.php | 6 +
.../unit/data/testfiles/parser/issue237220.php | 7 +
.../data/testfiles/parser/issue237220.php.errors | 0
.../unit/data/testfiles/parser/issue243409.php | 6 +
.../data/testfiles/parser/issue243409.php.errors | 0
.../unit/data/testfiles/parser/issue243512.php | 7 +
.../data/testfiles/parser/issue243512.php.errors | 0
.../unit/data/testfiles/parser/issue245320.php | 19 +
.../data/testfiles/parser/issue245320.php.errors | 0
.../unit/data/testfiles/parser/issue258959.php | 53 +
.../data/testfiles/parser/issue258959.php.errors | 0
.../unit/data/testfiles/parser/lambdaFunction.php | 1 +
.../testfiles/parser/lambdaFunctionWithParams.php | 1 +
.../parser/lambdaFunctionWithParamsWithVars.php | 1 +
...bdaFunctionWithParamsWithVarsWithStatements.php | 1 +
.../data/testfiles/parser/listInForeach_01.php | 10 +
.../testfiles/parser/listInForeach_01.php.errors | 0
.../data/testfiles/parser/listInForeach_02.php | 9 +
.../testfiles/parser/listInForeach_02.php.errors | 0
.../unit/data/testfiles/parser/magicMethod01.php | 9 +
.../unit/data/testfiles/parser/magicMethod02.php | 9 +
.../unit/data/testfiles/parser/magicMethod03.php | 9 +
.../unit/data/testfiles/parser/magicMethod04.php | 9 +
.../unit/data/testfiles/parser/magicMethod05.php | 9 +
.../unit/data/testfiles/parser/magicMethod06.php | 9 +
.../unit/data/testfiles/parser/magicMethod07.php | 9 +
.../testfiles/parser/methodModificators_01.php | 9 +
.../parser/methodModificators_01.php.errors | 16 +
.../testfiles/parser/methodModificators_02.php | 9 +
.../parser/methodModificators_02.php.errors | 16 +
.../testfiles/parser/methodModificators_03.php | 9 +
.../parser/methodModificators_03.php.errors | 16 +
.../testfiles/parser/methodModificators_04.php | 9 +
.../parser/methodModificators_04.php.errors | 13 +
.../testfiles/parser/methodModificators_05.php | 9 +
.../parser/methodModificators_05.php.errors | 13 +
.../test/unit/data/testfiles/parser/mixed01.php | 4 +
.../test/unit/data/testfiles/parser/mixed02.php | 4 +
.../parser/multipleBracketedNamespaces.php | 8 +
.../parser/multipleUnBracketedNamespaces1.php | 10 +
.../parser/multipleUnBracketedNamespaces2.php | 10 +
.../data/testfiles/parser/namespaceDeclaration.php | 1 +
.../parser/namespaceElementDeclarations.php | 1 +
.../test/unit/data/testfiles/parser/nowDoc.php | 6 +
.../test/unit/data/testfiles/parser/nowdoc01.php | 16 +
.../test/unit/data/testfiles/parser/nowdoc02.php | 16 +
.../test/unit/data/testfiles/parser/nowdoc_000.php | 10 +
.../test/unit/data/testfiles/parser/nowdoc_001.php | 24 +
.../test/unit/data/testfiles/parser/nowdoc_002.php | 23 +
.../test/unit/data/testfiles/parser/nowdoc_003.php | 23 +
.../test/unit/data/testfiles/parser/nowdoc_004.php | 23 +
.../test/unit/data/testfiles/parser/nowdoc_005.php | 23 +
.../test/unit/data/testfiles/parser/nowdoc_006.php | 23 +
.../test/unit/data/testfiles/parser/nowdoc_007.php | 23 +
.../test/unit/data/testfiles/parser/nowdoc_008.php | 17 +
.../test/unit/data/testfiles/parser/nowdoc_009.php | 40 +
.../test/unit/data/testfiles/parser/nowdoc_01.php | 9 +
.../data/testfiles/parser/nowdoc_01.php.errors | 0
.../test/unit/data/testfiles/parser/nowdoc_010.php | 33 +
.../test/unit/data/testfiles/parser/nowdoc_011.php | 20 +
.../test/unit/data/testfiles/parser/nowdoc_012.php | 25 +
.../test/unit/data/testfiles/parser/nowdoc_013.php | 26 +
.../test/unit/data/testfiles/parser/nowdoc_014.php | 25 +
.../test/unit/data/testfiles/parser/nowdoc_015.php | 74 +
.../test/unit/data/testfiles/parser/nowdoc_02.php | 8 +
.../data/testfiles/parser/nowdoc_02.php.errors | 0
.../test/unit/data/testfiles/parser/nowdoc_03.php | 8 +
.../data/testfiles/parser/nowdoc_03.php.errors | 0
.../test/unit/data/testfiles/parser/nowdoc_04.php | 8 +
.../data/testfiles/parser/nowdoc_04.php.errors | 0
.../test/unit/data/testfiles/parser/nowdoc_05.php | 6 +
.../data/testfiles/parser/nowdoc_05.php.errors | 0
.../test/unit/data/testfiles/parser/nowdoc_06.php | 9 +
.../data/testfiles/parser/nowdoc_06.php.errors | 0
...bdaFunctionWithParamsWithVarsWithStatements.php | 1 +
.../unit/data/testfiles/parser/returnTypes_01.php | 4 +
.../testfiles/parser/returnTypes_01.php.errors | 0
.../unit/data/testfiles/parser/returnTypes_02.php | 4 +
.../testfiles/parser/returnTypes_02.php.errors | 0
.../unit/data/testfiles/parser/returnTypes_03.php | 8 +
.../testfiles/parser/returnTypes_03.php.errors | 0
.../unit/data/testfiles/parser/returnTypes_04.php | 4 +
.../testfiles/parser/returnTypes_04.php.errors | 0
.../parser/shortArraysStaticScalar_01.php | 7 +
.../parser/shortArraysStaticScalar_01.php.errors | 0
.../parser/shortArraysStaticScalar_02.php | 5 +
.../parser/shortArraysStaticScalar_02.php.errors | 0
.../unit/data/testfiles/parser/shortArrays_01.php | 4 +
.../testfiles/parser/shortArrays_01.php.errors | 0
.../unit/data/testfiles/parser/shortArrays_02.php | 6 +
.../testfiles/parser/shortArrays_02.php.errors | 0
.../unit/data/testfiles/parser/shortEchoSyntax.php | 1 +
.../test/unit/data/testfiles/parser/simple01.php | 4 +
.../test/unit/data/testfiles/parser/simple02.php | 4 +
.../unit/data/testfiles/parser/spaceship_01.php | 2 +
.../data/testfiles/parser/spaceship_01.php.errors | 0
.../unit/data/testfiles/parser/spaceship_02.php | 4 +
.../data/testfiles/parser/spaceship_02.php.errors | 0
.../testfiles/parser/staticExpressionCall_01.php | 5 +
.../parser/staticExpressionCall_01.php.errors | 0
.../testfiles/parser/staticExpressionCall_02.php | 5 +
.../parser/staticExpressionCall_02.php.errors | 0
.../testfiles/parser/subNamespaceDeclaration.php | 1 +
.../unit/data/testfiles/parser/ternaryOperator.php | 1 +
.../test/unit/data/testfiles/parser/test01.php | 12 +
.../testfiles/parser/testVariadicFunctions_01.php | 10 +
.../parser/testVariadicFunctions_01.php.errors | 0
.../testfiles/parser/testVariadicFunctions_02.php | 10 +
.../parser/testVariadicFunctions_02.php.errors | 0
.../test/unit/data/testfiles/parser/traits_01.php | 5 +
.../data/testfiles/parser/traits_01.php.errors | 0
.../test/unit/data/testfiles/parser/traits_02.php | 5 +
.../data/testfiles/parser/traits_02.php.errors | 0
.../test/unit/data/testfiles/parser/traits_03.php | 5 +
.../data/testfiles/parser/traits_03.php.errors | 0
.../test/unit/data/testfiles/parser/traits_04.php | 7 +
.../data/testfiles/parser/traits_04.php.errors | 0
.../test/unit/data/testfiles/parser/traits_05.php | 8 +
.../data/testfiles/parser/traits_05.php.errors | 0
.../test/unit/data/testfiles/parser/traits_06.php | 8 +
.../data/testfiles/parser/traits_06.php.errors | 0
.../test/unit/data/testfiles/parser/traits_07.php | 10 +
.../data/testfiles/parser/traits_07.php.errors | 0
.../testfiles/parser/uniformVariableSyntax_01.php | 3 +
.../parser/uniformVariableSyntax_01.php.errors | 0
.../testfiles/parser/uniformVariableSyntax_02.php | 3 +
.../parser/uniformVariableSyntax_02.php.errors | 0
.../testfiles/parser/uniformVariableSyntax_03.php | 3 +
.../parser/uniformVariableSyntax_03.php.errors | 0
.../testfiles/parser/uniformVariableSyntax_04.php | 3 +
.../parser/uniformVariableSyntax_04.php.errors | 0
.../testfiles/parser/uniformVariableSyntax_05.php | 3 +
.../parser/uniformVariableSyntax_05.php.errors | 0
.../testfiles/parser/uniformVariableSyntax_06.php | 3 +
.../parser/uniformVariableSyntax_06.php.errors | 0
.../testfiles/parser/uniformVariableSyntax_07.php | 3 +
.../parser/uniformVariableSyntax_07.php.errors | 0
.../testfiles/parser/uniformVariableSyntax_08.php | 3 +
.../parser/uniformVariableSyntax_08.php.errors | 0
.../testfiles/parser/uniformVariableSyntax_09.php | 3 +
.../parser/uniformVariableSyntax_09.php.errors | 0
.../testfiles/parser/uniformVariableSyntax_10.php | 3 +
.../parser/uniformVariableSyntax_10.php.errors | 0
.../testfiles/parser/uniformVariableSyntax_11.php | 3 +
.../parser/uniformVariableSyntax_11.php.errors | 0
.../testfiles/parser/uniformVariableSyntax_12.php | 3 +
.../parser/uniformVariableSyntax_12.php.errors | 0
.../testfiles/parser/uniformVariableSyntax_13.php | 3 +
.../parser/uniformVariableSyntax_13.php.errors | 0
.../testfiles/parser/uniformVariableSyntax_14.php | 3 +
.../parser/uniformVariableSyntax_14.php.errors | 0
.../testfiles/parser/uniformVariableSyntax_15.php | 3 +
.../parser/uniformVariableSyntax_15.php.errors | 0
.../testfiles/parser/uniformVariableSyntax_16.php | 3 +
.../parser/uniformVariableSyntax_16.php.errors | 0
.../testfiles/parser/uniformVariableSyntax_17.php | 3 +
.../parser/uniformVariableSyntax_17.php.errors | 0
.../testfiles/parser/uniformVariableSyntax_18.php | 3 +
.../parser/uniformVariableSyntax_18.php.errors | 0
.../testfiles/parser/uniformVariableSyntax_19.php | 3 +
.../parser/uniformVariableSyntax_19.php.errors | 0
.../testfiles/parser/uniformVariableSyntax_20.php | 3 +
.../parser/uniformVariableSyntax_20.php.errors | 0
.../testfiles/parser/uniformVariableSyntax_21.php | 3 +
.../testfiles/parser/uniformVariableSyntax_22.php | 3 +
.../testfiles/parser/uniformVariableSyntax_23.php | 3 +
.../parser/uniformVariableSyntax_23.php.errors | 0
.../data/testfiles/parser/useFuncAndConst_01.php | 14 +
.../testfiles/parser/useFuncAndConst_01.php.errors | 0
.../test/unit/data/testfiles/parser/useGlobal.php | 1 +
.../testfiles/parser/useGlobalSubNamespace.php | 1 +
.../unit/data/testfiles/parser/useNamespaceAs.php | 1 +
.../test/unit/data/testfiles/parser/useSimple.php | 1 +
.../unit/data/testfiles/parser/useSubNamespace.php | 1 +
.../unit/data/testfiles/parser/yieldFrom_01.php | 7 +
.../data/testfiles/parser/yieldFrom_01.php.errors | 0
.../unit/data/testfiles/parser/yieldFrom_02.php | 7 +
.../data/testfiles/parser/yieldFrom_02.php.errors | 0
.../unit/data/testfiles/parser/yieldFrom_03.php | 7 +
.../data/testfiles/parser/yieldFrom_03.php.errors | 0
.../unit/data/testfiles/parser/yieldFrom_04.php | 8 +
.../unit/data/testfiles/parser/yieldFrom_05.php | 8 +
.../data/testfiles/parser/yieldFrom_05.php.errors | 0
.../unit/data/testfiles/parser/yieldFrom_06.php | 5 +
.../data/testfiles/parser/yieldFrom_06.php.errors | 0
.../test/unit/data/testfiles/parser/yield_01.php | 7 +
.../unit/data/testfiles/parser/yield_01.php.errors | 0
.../test/unit/data/testfiles/parser/yield_02.php | 5 +
.../unit/data/testfiles/parser/yield_02.php.errors | 0
.../test/unit/data/testfiles/parser/yield_03.php | 10 +
.../unit/data/testfiles/parser/yield_03.php.errors | 0
.../test/unit/data/testfiles/parser/yield_04.php | 5 +
.../unit/data/testfiles/parser/yield_04.php.errors | 0
.../test/unit/data/testfiles/parser/yield_05.php | 5 +
.../unit/data/testfiles/parser/yield_05.php.errors | 7 +
.../test/unit/data/testfiles/parser/yield_06.php | 5 +
.../unit/data/testfiles/parser/yield_06.php.errors | 10 +
.../test/unit/data/testfiles/parser/yield_07.php | 7 +
.../unit/data/testfiles/parser/yield_07.php.errors | 0
.../test/unit/data/testfiles/parser/yield_08.php | 3 +
.../unit/data/testfiles/parser/yield_08.php.errors | 0
.../php53/completion/constants53/constants.php | 7 +
.../constants.php.testConstants52.completion | 4 +
.../constants.php.testConstants53.completion | 4 +
.../php53/completion/constants53/constants_fqn.php | 4 +
...constants_fqn.php.testConstants52fqn.completion | 5 +
...constants_fqn.php.testConstants53fqn.completion | 5 +
.../php53/completion/namespaces/clsdeclaration.php | 14 +
...n.php.testNamespacesInClsDeclaration.completion | 4 +
....php.testNamespacesInClsDeclaration1.completion | 4 +
....php.testNamespacesInClsDeclaration2.completion | 5 +
....php.testNamespacesInClsDeclaration3.completion | 5 +
....php.testNamespacesInClsDeclaration4.completion | 5 +
....php.testNamespacesInClsDeclaration5.completion | 4 +
....php.testNamespacesInClsDeclaration6.completion | 5 +
.../test/unit/data/testfiles/sanitize/case01.php | 15 +
.../test/unit/data/testfiles/sanitize/curly01.php | 5 +
.../test/unit/data/testfiles/sanitize/curly02.php | 7 +
.../test/unit/data/testfiles/sanitize/curly03.php | 5 +
.../test/unit/data/testfiles/sanitize/curly04.php | 9 +
.../curly04.php.testSanitizedCode.completion | 4 +
.../test/unit/data/testfiles/sanitize/curly05.php | 23 +
.../test/unit/data/testfiles/sanitize/curly06.php | 24 +
.../test/unit/data/testfiles/sanitize/curly07.php | 24 +
.../test/unit/data/testfiles/sanitize/curly08.php | 25 +
.../unit/data/testfiles/sanitize/issue149424.php | 22 +
.../unit/data/testfiles/sanitize/issue204588.php | 7 +
.../unit/data/testfiles/sanitize/sanitize001.php | 5 +
.../unit/data/testfiles/sanitize/sanitize002.php | 4 +
.../unit/data/testfiles/sanitize/sanitize003.php | 20 +
.../unit/data/testfiles/sanitize/sanitize004.php | 13 +
.../unit/data/testfiles/sanitize/sanitize005.php | 13 +
.../unit/data/testfiles/sanitize/sanitize006.php | 10 +
.../unit/data/testfiles/sanitize/sanitize007.php | 24 +
.../unit/data/testfiles/sanitize/sanitize008.php | 25 +
.../unit/data/testfiles/sanitize/sanitize009.php | 22 +
.../unit/data/testfiles/sanitize/sanitize010.php | 22 +
.../unit/data/testfiles/sanitize/sanitize011.php | 22 +
.../unit/data/testfiles/sanitize/sanitize012.php | 22 +
.../unit/data/testfiles/sanitize/sanitize013.php | 22 +
.../unit/data/testfiles/sanitize/sanitize014.php | 22 +
.../unit/data/testfiles/sanitize/sanitize015.php | 22 +
.../unit/data/testfiles/sanitize/sanitize016.php | 24 +
.../unit/data/testfiles/sanitize/sanitize017.php | 11 +
.../data/testfiles/sanitize/sanitize145494.php | 866 +
.../unit/data/testfiles/semantic/abstract01.php | 21 +
.../testfiles/semantic/abstract01.php.semantic | 21 +
.../data/testfiles/semantic/anonymousClass01.php | 24 +
.../semantic/anonymousClass01.php.semantic | 24 +
.../test/unit/data/testfiles/semantic/class001.php | 22 +
.../data/testfiles/semantic/class001.php.semantic | 22 +
.../test/unit/data/testfiles/semantic/class002.php | 49 +
.../data/testfiles/semantic/class002.php.semantic | 49 +
.../test/unit/data/testfiles/semantic/class003.php | 14 +
.../data/testfiles/semantic/class003.php.semantic | 14 +
.../test/unit/data/testfiles/semantic/class004.php | 17 +
.../data/testfiles/semantic/class004.php.semantic | 17 +
.../test/unit/data/testfiles/semantic/class005.php | 35 +
.../data/testfiles/semantic/class005.php.semantic | 35 +
.../test/unit/data/testfiles/semantic/class006.php | 26 +
.../data/testfiles/semantic/class006.php.semantic | 26 +
.../test/unit/data/testfiles/semantic/class007.php | 36 +
.../data/testfiles/semantic/class007.php.semantic | 36 +
.../data/testfiles/semantic/constantsColoring.php | 15 +
.../semantic/constantsColoring.php.semantic | 15 +
.../semantic/constantsInFiledsDeclColoring.php | 15 +
.../constantsInFiledsDeclColoring.php.semantic | 15 +
.../semantic/deprecatedConst/deprecatedConst.php | 10 +
.../deprecatedConst/deprecatedConst.php.semantic | 10 +
.../semantic/deprecatedFields/deprecatedFields.php | 25 +
.../deprecatedFields/deprecatedFields.php.semantic | 25 +
.../deprecatedFunctions/deprecatedFunction.php | 11 +
.../deprecatedFunction.php.semantic | 11 +
.../deprecatedMethodDeclarations.php | 19 +
.../deprecatedMethodDeclarations.php.semantic | 19 +
.../deprecatedPrivateClassMethod.php | 8 +
.../deprecatedPrivateClassMethod.php.semantic | 8 +
.../deprecatedPrivateTraitMethod.php | 8 +
.../deprecatedPrivateTraitMethod.php.semantic | 8 +
.../deprecatedTypeUsages/deprecatedTypeUsages.php | 43 +
.../deprecatedTypeUsages.php.semantic | 43 +
.../semantic/deprecatedTypes/deprecatedTypes.php | 12 +
.../deprecatedTypes/deprecatedTypes.php.semantic | 12 +
.../unit/data/testfiles/semantic/issue141041.php | 25 +
.../testfiles/semantic/issue141041.php.semantic | 25 +
.../unit/data/testfiles/semantic/issue142644.php | 16 +
.../testfiles/semantic/issue142644.php.semantic | 16 +
.../unit/data/testfiles/semantic/issue144195.php | 19 +
.../testfiles/semantic/issue144195.php.semantic | 19 +
.../unit/data/testfiles/semantic/issue145694.php | 30 +
.../testfiles/semantic/issue145694.php.semantic | 30 +
.../unit/data/testfiles/semantic/issue146193.php | 10 +
.../testfiles/semantic/issue146193.php.semantic | 10 +
.../unit/data/testfiles/semantic/issue146197.php | 9 +
.../testfiles/semantic/issue146197.php.semantic | 9 +
.../unit/data/testfiles/semantic/issue154876.php | 7 +
.../testfiles/semantic/issue154876.php.semantic | 7 +
.../unit/data/testfiles/semantic/issue194535.php | 13 +
.../testfiles/semantic/issue194535.php.semantic | 13 +
.../unit/data/testfiles/semantic/issue213105.php | 6 +
.../testfiles/semantic/issue213105.php.semantic | 6 +
.../unit/data/testfiles/semantic/issue213533.php | 14 +
.../testfiles/semantic/issue213533.php.semantic | 14 +
.../unit/data/testfiles/semantic/issue216840.php | 21 +
.../testfiles/semantic/issue216840.php.semantic | 21 +
.../data/testfiles/semantic/issue216840_02.php | 26 +
.../testfiles/semantic/issue216840_02.php.semantic | 26 +
.../unit/data/testfiles/semantic/issue217239.php | 15 +
.../testfiles/semantic/issue217239.php.semantic | 15 +
.../unit/data/testfiles/semantic/issue245230.php | 8 +
.../testfiles/semantic/issue245230.php.semantic | 8 +
.../unit/data/testfiles/semantic/issue247411.php | 35 +
.../testfiles/semantic/issue247411.php.semantic | 35 +
.../unit/data/testfiles/semantic/issue258676.php | 13 +
.../testfiles/semantic/issue258676.php.semantic | 13 +
.../test/unit/data/testfiles/semantic/mixed01.php | 4 +
.../data/testfiles/semantic/mixed01.php.semantic | 4 +
.../test/unit/data/testfiles/semantic/simple01.php | 4 +
.../data/testfiles/semantic/simple01.php.semantic | 4 +
.../unit/data/testfiles/semantic/traits_01.php | 5 +
.../data/testfiles/semantic/traits_01.php.semantic | 5 +
.../unit/data/testfiles/semantic/traits_02.php | 5 +
.../data/testfiles/semantic/traits_02.php.semantic | 5 +
.../unit/data/testfiles/semantic/traits_03.php | 5 +
.../data/testfiles/semantic/traits_03.php.semantic | 5 +
.../unit/data/testfiles/semantic/traits_04.php | 7 +
.../data/testfiles/semantic/traits_04.php.semantic | 7 +
.../unit/data/testfiles/semantic/traits_05.php | 8 +
.../data/testfiles/semantic/traits_05.php.semantic | 8 +
.../unit/data/testfiles/semantic/traits_06.php | 8 +
.../data/testfiles/semantic/traits_06.php.semantic | 8 +
.../structure/anonymousClassInClassScope.php | 63 +
.../structure/anonymousClassInNamespaceScope.php | 53 +
.../structure/anonymousClassInTraitScope.php | 67 +
.../unit/data/testfiles/structure/class005.php | 35 +
.../testfiles/structure/deprecatedDeclarations.php | 68 +
.../data/testfiles/structure/deprecatedTypes.php | 26 +
.../data/testfiles/structure/interface_001.php | 8 +
.../unit/data/testfiles/structure/issue142644.php | 16 +
.../unit/data/testfiles/structure/issue148558.php | 36 +
.../unit/data/testfiles/structure/issue170712.php | 11 +
.../data/testfiles/structure/issue205886_01.php | 13 +
.../php53/bracketed_multiple_namespaces.php | 11 +
...cketed_multiple_namespaces_with_default_one.php | 11 +
.../structure/php53/multiple_namespaces.php | 9 +
.../data/testfiles/structure/php53/namespace.php | 6 +
.../unit/data/testfiles/structure/propertyTag.php | 59 +
.../testfiles/structure/referenceParameter_001.php | 7 +
.../testfiles/structure/traitsStructure_01.php | 12 +
.../testfiles/structure/traitsStructure_02.php | 14 +
...ses01.php.testAnonymousClasses01_01.occurrences | 6 +
...ses01.php.testAnonymousClasses01_02.occurrences | 5 +
...ses01.php.testAnonymousClasses01_03.occurrences | 6 +
...ses01.php.testAnonymousClasses01_04.occurrences | 1 +
...ses01.php.testAnonymousClasses01_05.occurrences | 2 +
...ses01.php.testAnonymousClasses01_06.occurrences | 2 +
...ses01.php.testAnonymousClasses01_07.occurrences | 6 +
...ses01.php.testAnonymousClasses01_08.occurrences | 6 +
...ses01.php.testAnonymousClasses01_09.occurrences | 6 +
...ses01.php.testAnonymousClasses01_10.occurrences | 1 +
...ses01.php.testAnonymousClasses01_11.occurrences | 2 +
...ses01.php.testAnonymousClasses01_12.occurrences | 2 +
...ses01.php.testAnonymousClasses01_13.occurrences | 6 +
...ses01.php.testAnonymousClasses01_14.occurrences | 2 +
...ses01.php.testAnonymousClasses01_15.occurrences | 2 +
...ses01.php.testAnonymousClasses01_16.occurrences | 2 +
...ses01.php.testAnonymousClasses01_17.occurrences | 2 +
...ses02.php.testAnonymousClasses02_01.occurrences | 2 +
...ses02.php.testAnonymousClasses02_02.occurrences | 2 +
...ses02.php.testAnonymousClasses02_03.occurrences | 2 +
...ses02.php.testAnonymousClasses02_04.occurrences | 2 +
...ses02.php.testAnonymousClasses02_05.occurrences | 2 +
...ses02.php.testAnonymousClasses02_06.occurrences | 2 +
...ses02.php.testAnonymousClasses02_07.occurrences | 2 +
...ses02.php.testAnonymousClasses02_08.occurrences | 2 +
...ses02.php.testAnonymousClasses02_09.occurrences | 2 +
...ses02.php.testAnonymousClasses02_10.occurrences | 2 +
...ses03.php.testAnonymousClasses03_01.occurrences | 3 +
...ses03.php.testAnonymousClasses03_02.occurrences | 2 +
...ses03.php.testAnonymousClasses03_03.occurrences | 2 +
...ses03.php.testAnonymousClasses03_04.occurrences | 2 +
...ses03.php.testAnonymousClasses03_05.occurrences | 2 +
...ses03.php.testAnonymousClasses03_06.occurrences | 2 +
...ses03.php.testAnonymousClasses03_07.occurrences | 3 +
...ses03.php.testAnonymousClasses03_08.occurrences | 3 +
...ses03.php.testAnonymousClasses03_09.occurrences | 3 +
...ses03.php.testAnonymousClasses03_10.occurrences | 2 +
...ses03.php.testAnonymousClasses03_11.occurrences | 2 +
...ses03.php.testAnonymousClasses03_12.occurrences | 3 +
...ses03.php.testAnonymousClasses03_13.occurrences | 2 +
...ses03.php.testAnonymousClasses03_14.occurrences | 3 +
...ses03.php.testAnonymousClasses03_15.occurrences | 2 +
...ses03.php.testAnonymousClasses03_16.occurrences | 2 +
...ses04.php.testAnonymousClasses04_01.occurrences | 2 +
...ses04.php.testAnonymousClasses04_02.occurrences | 2 +
...ses05.php.testAnonymousClasses05_01.occurrences | 2 +
...ses05.php.testAnonymousClasses05_02.occurrences | 2 +
...ses05.php.testAnonymousClasses05_03.occurrences | 2 +
...ses05.php.testAnonymousClasses05_04.occurrences | 2 +
...ses05.php.testAnonymousClasses05_05.occurrences | 2 +
...ses05.php.testAnonymousClasses05_06.occurrences | 2 +
...ncing.php.testArrayDereferencing_01.occurrences | 3 +
...ncing.php.testArrayDereferencing_02.occurrences | 2 +
...ncing.php.testArrayDereferencing_03.occurrences | 3 +
...ncing.php.testArrayDereferencing_04.occurrences | 4 +
...ncing.php.testArrayDereferencing_05.occurrences | 3 +
...ncing.php.testArrayDereferencing_06.occurrences | 3 +
...ncing.php.testArrayDereferencing_07.occurrences | 4 +
...ncing.php.testArrayDereferencing_08.occurrences | 2 +
...ncing.php.testArrayDereferencing_09.occurrences | 4 +
...WithAlias.php.testCatchWithAlias_01.occurrences | 3 +
...WithAlias.php.testCatchWithAlias_02.occurrences | 3 +
...WithAlias.php.testCatchWithAlias_03.occurrences | 3 +
...Test.php.testClsVarPropInPhpDocTest.occurrences | 3 +
...cess.php.testConstantArrayAccess_01.occurrences | 11 +
...cess.php.testConstantArrayAccess_02.occurrences | 11 +
...cess.php.testConstantArrayAccess_03.occurrences | 11 +
...cess.php.testConstantArrayAccess_04.occurrences | 11 +
...cess.php.testConstantArrayAccess_05.occurrences | 11 +
...cess.php.testConstantArrayAccess_06.occurrences | 3 +
...cess.php.testConstantArrayAccess_07.occurrences | 3 +
...cess.php.testConstantArrayAccess_08.occurrences | 11 +
...cess.php.testConstantArrayAccess_09.occurrences | 11 +
...cess.php.testConstantArrayAccess_10.occurrences | 11 +
...cess.php.testConstantArrayAccess_11.occurrences | 3 +
...cess.php.testConstantArrayAccess_12.occurrences | 11 +
...cess.php.testConstantArrayAccess_13.occurrences | 5 +
...cess.php.testConstantArrayAccess_14.occurrences | 5 +
...cess.php.testConstantArrayAccess_15.occurrences | 11 +
...cess.php.testConstantArrayAccess_16.occurrences | 11 +
...cess.php.testConstantArrayAccess_17.occurrences | 3 +
...cess.php.testConstantArrayAccess_18.occurrences | 5 +
...cess.php.testConstantArrayAccess_19.occurrences | 11 +
...cess.php.testConstantArrayAccess_20.occurrences | 5 +
...cess.php.testConstantArrayAccess_21.occurrences | 3 +
...cess.php.testConstantArrayAccess_22.occurrences | 3 +
...cess.php.testConstantArrayAccess_23.occurrences | 5 +
...cess.php.testConstantArrayAccess_24.occurrences | 3 +
...cess.php.testConstantArrayAccess_25.occurrences | 4 +
...cess.php.testConstantArrayAccess_26.occurrences | 11 +
...cess.php.testConstantArrayAccess_27.occurrences | 4 +
...cess.php.testConstantArrayAccess_28.occurrences | 4 +
...cess.php.testConstantArrayAccess_29.occurrences | 4 +
...cess.php.testConstantArrayAccess_30.occurrences | 11 +
.../testConstants.php.testConstants_01.occurrences | 4 +
.../testConstants.php.testConstants_02.occurrences | 4 +
.../testConstants.php.testConstants_03.occurrences | 4 +
.../testConstants.php.testConstants_04.occurrences | 4 +
....php.testFieldAccessInInstanceOf_01.occurrences | 2 +
....php.testFieldAccessInInstanceOf_02.occurrences | 2 +
...tructTest.php.testGotoConstructTest.occurrences | 3 +
...uctTest.php.testGotoConstructTest_2.occurrences | 2 +
.../testGotoLabel.php.testGotoLabel.occurrences | 2 +
...tGroupUses01.php.testGroupUses01_01.occurrences | 3 +
...tGroupUses01.php.testGroupUses01_02.occurrences | 3 +
...tGroupUses01.php.testGroupUses01_03.occurrences | 3 +
...tGroupUses01.php.testGroupUses01_04.occurrences | 3 +
...tGroupUses01.php.testGroupUses01_05.occurrences | 3 +
...tGroupUses01.php.testGroupUses01_06.occurrences | 3 +
...tGroupUses01.php.testGroupUses01_07.occurrences | 3 +
...tGroupUses01.php.testGroupUses01_08.occurrences | 3 +
...tGroupUses01.php.testGroupUses01_09.occurrences | 3 +
...tGroupUses01.php.testGroupUses01_10.occurrences | 2 +
...tGroupUses01.php.testGroupUses01_11.occurrences | 2 +
...tGroupUses01.php.testGroupUses01_12.occurrences | 2 +
...tGroupUses01.php.testGroupUses01_13.occurrences | 2 +
...tGroupUses01.php.testGroupUses01_14.occurrences | 1 +
...tGroupUses01.php.testGroupUses01_15.occurrences | 1 +
...tGroupUses02.php.testGroupUses02_01.occurrences | 3 +
...tGroupUses02.php.testGroupUses02_02.occurrences | 3 +
...tGroupUses02.php.testGroupUses02_03.occurrences | 3 +
...tGroupUses02.php.testGroupUses02_04.occurrences | 4 +
...tGroupUses02.php.testGroupUses02_05.occurrences | 4 +
...tGroupUses02.php.testGroupUses02_06.occurrences | 4 +
...tGroupUses02.php.testGroupUses02_07.occurrences | 4 +
...tGroupUses02.php.testGroupUses02_08.occurrences | 2 +
...tGroupUses02.php.testGroupUses02_09.occurrences | 2 +
...tGroupUses02.php.testGroupUses02_10.occurrences | 3 +
...tGroupUses02.php.testGroupUses02_11.occurrences | 3 +
...tGroupUses02.php.testGroupUses02_12.occurrences | 3 +
.../testIfaceTest.php.testIfaceTest.occurrences | 4 +
.../testIfaceTest.php.testIfaceTest_2.occurrences | 2 +
.../testIfaceTest.php.testIfaceTest_3.occurrences | 3 +
.../testIfaceTest.php.testIfaceTest_4.occurrences | 2 +
...f198909.php.testInstanceof198909_01.occurrences | 3 +
...f198909.php.testInstanceof198909_02.occurrences | 3 +
...f198909.php.testInstanceof198909_03.occurrences | 3 +
...tIssue133465.php.testIssue133465_01.occurrences | 1 +
...tIssue133465.php.testIssue133465_02.occurrences | 2 +
...tIssue133465.php.testIssue133465_03.occurrences | 2 +
...tIssue186553.php.testIssue186553_01.occurrences | 2 +
...tIssue186553.php.testIssue186553_02.occurrences | 1 +
...tIssue186553.php.testIssue186553_03.occurrences | 2 +
...tIssue197283.php.testIssue197283_01.occurrences | 2 +
...tIssue197283.php.testIssue197283_02.occurrences | 2 +
...tIssue197283.php.testIssue197283_03.occurrences | 2 +
...tIssue197283.php.testIssue197283_04.occurrences | 2 +
...tIssue197283.php.testIssue197283_05.occurrences | 2 +
...tIssue197283.php.testIssue197283_06.occurrences | 2 +
...tIssue198449.php.testIssue198449_01.occurrences | 2 +
...tIssue200399.php.testIssue200399_01.occurrences | 3 +
...tIssue200596.php.testIssue200596_01.occurrences | 8 +
...tIssue200596.php.testIssue200596_02.occurrences | 8 +
...tIssue200596.php.testIssue200596_03.occurrences | 7 +
...tIssue200596.php.testIssue200596_04.occurrences | 8 +
...tIssue200596.php.testIssue200596_05.occurrences | 7 +
...tIssue200596.php.testIssue200596_06.occurrences | 8 +
...tIssue200596.php.testIssue200596_07.occurrences | 7 +
...tIssue200596.php.testIssue200596_08.occurrences | 8 +
...tIssue200596.php.testIssue200596_09.occurrences | 7 +
...tIssue200596.php.testIssue200596_10.occurrences | 8 +
...tIssue200596.php.testIssue200596_11.occurrences | 7 +
...tIssue200596.php.testIssue200596_12.occurrences | 8 +
...tIssue200596.php.testIssue200596_13.occurrences | 7 +
...tIssue200596.php.testIssue200596_14.occurrences | 8 +
...tIssue200596.php.testIssue200596_15.occurrences | 7 +
...tIssue200596.php.testIssue200596_16.occurrences | 8 +
...tIssue200596.php.testIssue200596_17.occurrences | 7 +
...tIssue200596.php.testIssue200596_18.occurrences | 8 +
...tIssue200596.php.testIssue200596_19.occurrences | 7 +
...tIssue200596.php.testIssue200596_20.occurrences | 8 +
...tIssue200596.php.testIssue200596_21.occurrences | 7 +
...tIssue200596.php.testIssue200596_22.occurrences | 8 +
...tIssue200596.php.testIssue200596_23.occurrences | 7 +
...tIssue200596.php.testIssue200596_24.occurrences | 8 +
...tIssue200596.php.testIssue200596_25.occurrences | 7 +
...tIssue200596.php.testIssue200596_26.occurrences | 8 +
...tIssue200596.php.testIssue200596_27.occurrences | 7 +
...tIssue200596.php.testIssue200596_28.occurrences | 8 +
...tIssue200596.php.testIssue200596_29.occurrences | 7 +
...tIssue200596.php.testIssue200596_30.occurrences | 8 +
...tIssue201429.php.testIssue201429_01.occurrences | 3 +
...testIssue201671.php.testIssue201671.occurrences | 2 +
...tIssue203073.php.testIssue203073_01.occurrences | 4 +
...tIssue203073.php.testIssue203073_02.occurrences | 4 +
...tIssue203073.php.testIssue203073_03.occurrences | 4 +
...tIssue203073.php.testIssue203073_04.occurrences | 4 +
...tIssue203073.php.testIssue203073_05.occurrences | 2 +
...tIssue203073.php.testIssue203073_06.occurrences | 2 +
...tIssue203419.php.testIssue203419_01.occurrences | 7 +
...tIssue203419.php.testIssue203419_02.occurrences | 7 +
...tIssue203419.php.testIssue203419_03.occurrences | 7 +
...tIssue203419.php.testIssue203419_04.occurrences | 7 +
...tIssue203419.php.testIssue203419_05.occurrences | 7 +
...tIssue203419.php.testIssue203419_06.occurrences | 7 +
...tIssue203419.php.testIssue203419_07.occurrences | 7 +
...tIssue203814.php.testIssue203814_01.occurrences | 4 +
...tIssue203814.php.testIssue203814_02.occurrences | 4 +
...tIssue203814.php.testIssue203814_03.occurrences | 4 +
...tIssue203814.php.testIssue203814_04.occurrences | 4 +
...tIssue204433.php.testIssue204433_01.occurrences | 4 +
...tIssue204433.php.testIssue204433_02.occurrences | 2 +
...tIssue204433.php.testIssue204433_03.occurrences | 3 +
...tIssue207346.php.testIssue207346_01.occurrences | 3 +
...tIssue207346.php.testIssue207346_02.occurrences | 3 +
...tIssue207346.php.testIssue207346_03.occurrences | 3 +
...tIssue207615.php.testIssue207615_01.occurrences | 3 +
...tIssue207615.php.testIssue207615_02.occurrences | 3 +
...tIssue207615.php.testIssue207615_03.occurrences | 3 +
...tIssue207971.php.testIssue207971_01.occurrences | 2 +
...tIssue207971.php.testIssue207971_02.occurrences | 2 +
...tIssue207971.php.testIssue207971_03.occurrences | 2 +
...tIssue207971.php.testIssue207971_04.occurrences | 2 +
...tIssue207971.php.testIssue207971_05.occurrences | 2 +
...tIssue207971.php.testIssue207971_06.occurrences | 2 +
...tIssue208245.php.testIssue208245_01.occurrences | 3 +
...tIssue208245.php.testIssue208245_02.occurrences | 3 +
...tIssue208245.php.testIssue208245_03.occurrences | 3 +
...tIssue208245.php.testIssue208245_04.occurrences | 3 +
...tIssue208245.php.testIssue208245_05.occurrences | 3 +
...tIssue208245.php.testIssue208245_06.occurrences | 3 +
...tIssue208826.php.testIssue208826_01.occurrences | 3 +
...tIssue208826.php.testIssue208826_02.occurrences | 3 +
...tIssue208826.php.testIssue208826_03.occurrences | 3 +
...tIssue208826.php.testIssue208826_04.occurrences | 3 +
...tIssue208826.php.testIssue208826_05.occurrences | 3 +
...tIssue208826.php.testIssue208826_06.occurrences | 3 +
...tIssue209187.php.testIssue209187_01.occurrences | 3 +
...tIssue209187.php.testIssue209187_02.occurrences | 3 +
...tIssue209187.php.testIssue209187_03.occurrences | 3 +
...tIssue209308.php.testIssue209308_01.occurrences | 5 +
...Issue209308.php.testIssue209308_010.occurrences | 5 +
...Issue209308.php.testIssue209308_011.occurrences | 5 +
...Issue209308.php.testIssue209308_012.occurrences | 5 +
...Issue209308.php.testIssue209308_013.occurrences | 7 +
...Issue209308.php.testIssue209308_014.occurrences | 7 +
...Issue209308.php.testIssue209308_015.occurrences | 7 +
...Issue209308.php.testIssue209308_016.occurrences | 7 +
...Issue209308.php.testIssue209308_018.occurrences | 7 +
...Issue209308.php.testIssue209308_019.occurrences | 7 +
...tIssue209308.php.testIssue209308_02.occurrences | 5 +
...Issue209308.php.testIssue209308_020.occurrences | 7 +
...Issue209308.php.testIssue209308_021.occurrences | 7 +
...tIssue209308.php.testIssue209308_03.occurrences | 5 +
...tIssue209308.php.testIssue209308_04.occurrences | 5 +
...tIssue209308.php.testIssue209308_05.occurrences | 5 +
...tIssue209308.php.testIssue209308_08.occurrences | 5 +
...tIssue209308.php.testIssue209308_09.occurrences | 5 +
...tIssue209309.php.testIssue209309_01.occurrences | 3 +
...tIssue209309.php.testIssue209309_02.occurrences | 2 +
...tIssue209309.php.testIssue209309_03.occurrences | 3 +
...tIssue209309.php.testIssue209309_04.occurrences | 2 +
...tIssue209309.php.testIssue209309_05.occurrences | 2 +
...tIssue209309.php.testIssue209309_06.occurrences | 3 +
...tIssue209309.php.testIssue209309_07.occurrences | 2 +
...tIssue211015.php.testIssue211015_01.occurrences | 5 +
...tIssue211015.php.testIssue211015_02.occurrences | 5 +
...tIssue211015.php.testIssue211015_03.occurrences | 5 +
...tIssue211015.php.testIssue211015_04.occurrences | 5 +
...tIssue211015.php.testIssue211015_05.occurrences | 5 +
...tIssue211230.php.testIssue211230_01.occurrences | 2 +
...tIssue211230.php.testIssue211230_02.occurrences | 2 +
...tIssue211230.php.testIssue211230_03.occurrences | 3 +
...tIssue211230.php.testIssue211230_04.occurrences | 3 +
...tIssue211230.php.testIssue211230_05.occurrences | 3 +
...tIssue213133.php.testIssue213133_01.occurrences | 3 +
...tIssue213133.php.testIssue213133_02.occurrences | 3 +
...tIssue213133.php.testIssue213133_03.occurrences | 3 +
...tIssue213133.php.testIssue213133_04.occurrences | 3 +
...tIssue213133.php.testIssue213133_05.occurrences | 3 +
...tIssue213133.php.testIssue213133_06.occurrences | 3 +
...tIssue213584.php.testIssue213584_01.occurrences | 3 +
...tIssue213584.php.testIssue213584_02.occurrences | 3 +
...tIssue213584.php.testIssue213584_03.occurrences | 3 +
...tIssue213584.php.testIssue213584_04.occurrences | 3 +
...tIssue213584.php.testIssue213584_05.occurrences | 3 +
...tIssue213584.php.testIssue213584_06.occurrences | 3 +
...tIssue213584.php.testIssue213584_07.occurrences | 3 +
...tIssue213584.php.testIssue213584_08.occurrences | 3 +
...tIssue213584.php.testIssue213584_09.occurrences | 3 +
...tIssue213584.php.testIssue213584_10.occurrences | 3 +
...tIssue213584.php.testIssue213584_11.occurrences | 3 +
...tIssue213584.php.testIssue213584_12.occurrences | 3 +
...tIssue216876.php.testIssue216876_01.occurrences | 3 +
...tIssue216876.php.testIssue216876_02.occurrences | 3 +
...tIssue216876.php.testIssue216876_03.occurrences | 3 +
...tIssue217357.php.testIssue217357_01.occurrences | 3 +
...tIssue217357.php.testIssue217357_02.occurrences | 3 +
...tIssue217357.php.testIssue217357_03.occurrences | 3 +
...tIssue217360.php.testIssue217360_01.occurrences | 2 +
...tIssue217360.php.testIssue217360_02.occurrences | 2 +
...tIssue217360.php.testIssue217360_03.occurrences | 2 +
...tIssue217360.php.testIssue217360_04.occurrences | 2 +
...tIssue218487.php.testIssue218487_01.occurrences | 2 +
...tIssue218487.php.testIssue218487_02.occurrences | 2 +
...tIssue223076.php.testIssue223076_01.occurrences | 2 +
...tIssue223076.php.testIssue223076_02.occurrences | 2 +
...tIssue223076.php.testIssue223076_03.occurrences | 2 +
...tIssue244317.php.testIssue244317_01.occurrences | 3 +
...tIssue244317.php.testIssue244317_02.occurrences | 3 +
...tIssue244317.php.testIssue244317_03.occurrences | 3 +
...tIssue247082.php.testIssue247082_01.occurrences | 2 +
...tIssue247082.php.testIssue247082_02.occurrences | 2 +
...tIssue247082.php.testIssue247082_03.occurrences | 2 +
...tIssue247082.php.testIssue247082_04.occurrences | 2 +
...tIssue247082.php.testIssue247082_05.occurrences | 2 +
...tIssue247082.php.testIssue247082_06.occurrences | 2 +
...tIssue247082.php.testIssue247082_07.occurrences | 2 +
...tIssue247082.php.testIssue247082_08.occurrences | 2 +
...tIssue247082.php.testIssue247082_09.occurrences | 2 +
...tIssue247082.php.testIssue247082_10.occurrences | 2 +
...tIssue247082.php.testIssue247082_11.occurrences | 2 +
...tIssue247082.php.testIssue247082_12.occurrences | 2 +
...tIssue247082.php.testIssue247082_13.occurrences | 2 +
...tIssue247082.php.testIssue247082_14.occurrences | 2 +
...tIssue247082.php.testIssue247082_15.occurrences | 2 +
...tIssue247082.php.testIssue247082_16.occurrences | 2 +
...tIssue247082.php.testIssue247082_17.occurrences | 2 +
...tIssue247082.php.testIssue247082_18.occurrences | 2 +
...tIssue262438.php.testIssue262438_00.occurrences | 3 +
...tIssue262438.php.testIssue262438_01.occurrences | 3 +
...tIssue262438.php.testIssue262438_02.occurrences | 3 +
...tIssue262438.php.testIssue262438_03.occurrences | 3 +
...tMagicMethod.php.testMagicMethod_01.occurrences | 2 +
...tMagicMethod.php.testMagicMethod_02.occurrences | 2 +
...hod171249.php.testMagicMethod171249.occurrences | 3 +
.../testMarkArray.php.testMarkArray.occurrences | 3 +
.../testMarkArray.php.testMarkArray_10.occurrences | 2 +
.../testMarkArray.php.testMarkArray_11.occurrences | 2 +
.../testMarkArray.php.testMarkArray_12.occurrences | 2 +
.../testMarkArray.php.testMarkArray_13.occurrences | 2 +
.../testMarkArray.php.testMarkArray_14.occurrences | 2 +
.../testMarkArray.php.testMarkArray_15.occurrences | 2 +
.../testMarkArray.php.testMarkArray_2.occurrences | 3 +
.../testMarkArray.php.testMarkArray_3.occurrences | 4 +
.../testMarkArray.php.testMarkArray_4.occurrences | 4 +
.../testMarkArray.php.testMarkArray_5.occurrences | 5 +
.../testMarkArray.php.testMarkArray_6.occurrences | 5 +
.../testMarkArray.php.testMarkArray_7.occurrences | 6 +
.../testMarkArray.php.testMarkArray_8.occurrences | 6 +
.../testMarkArray.php.testMarkArray_9.occurrences | 2 +
...stMarkClsIface.php.testMarkClsIface.occurrences | 6 +
...arkClsIface.php.testMarkClsIface_10.occurrences | 1 +
...arkClsIface.php.testMarkClsIface_11.occurrences | 1 +
...arkClsIface.php.testMarkClsIface_12.occurrences | 1 +
...arkClsIface.php.testMarkClsIface_13.occurrences | 1 +
...arkClsIface.php.testMarkClsIface_14.occurrences | 1 +
...arkClsIface.php.testMarkClsIface_15.occurrences | 1 +
...arkClsIface.php.testMarkClsIface_16.occurrences | 1 +
...arkClsIface.php.testMarkClsIface_17.occurrences | 1 +
...arkClsIface.php.testMarkClsIface_18.occurrences | 1 +
...arkClsIface.php.testMarkClsIface_19.occurrences | 1 +
...MarkClsIface.php.testMarkClsIface_2.occurrences | 6 +
...arkClsIface.php.testMarkClsIface_20.occurrences | 1 +
...arkClsIface.php.testMarkClsIface_21.occurrences | 1 +
...arkClsIface.php.testMarkClsIface_22.occurrences | 1 +
...MarkClsIface.php.testMarkClsIface_3.occurrences | 5 +
...MarkClsIface.php.testMarkClsIface_4.occurrences | 5 +
...MarkClsIface.php.testMarkClsIface_5.occurrences | 5 +
...MarkClsIface.php.testMarkClsIface_6.occurrences | 5 +
...MarkClsIface.php.testMarkClsIface_7.occurrences | 3 +
...MarkClsIface.php.testMarkClsIface_8.occurrences | 3 +
...MarkClsIface.php.testMarkClsIface_9.occurrences | 1 +
...hp.testMarkReturnsOnConstructorTest.occurrences | 0
....testMarkReturnsOnConstructorTest_2.occurrences | 0
...stOccurrences1.php.testOccurrences1.occurrences | 2 +
...stOccurrences2.php.testOccurrences2.occurrences | 3 +
...stOccurrences3.php.testOccurrences3.occurrences | 1 +
...stOccurrences4.php.testOccurrences4.occurrences | 3 +
...ader.php.testOccurrencesClassHeader.occurrences | 2 +
...sDefines.php.testOccurrencesDefines.occurrences | 4 +
...d.php.testOccurrencesInstanceMethod.occurrences | 2 +
...php.testOccurrencesInstanceVarParam.occurrences | 2 +
...p.testOccurrencesInstanceVarParam_1.occurrences | 2 +
...st.php.testParamVarPropInPhpDocTest.occurrences | 2 +
...nt.php.testQualifiedUseStatement_01.occurrences | 4 +
...nt.php.testQualifiedUseStatement_02.occurrences | 4 +
...nt.php.testQualifiedUseStatement_03.occurrences | 4 +
...nt.php.testQualifiedUseStatement_04.occurrences | 4 +
...ectionVariableInMethodInvocation_01.occurrences | 2 +
...ectionVariableInMethodInvocation_02.occurrences | 2 +
...urnTypes01.php.testReturnTypes01_01.occurrences | 5 +
...urnTypes01.php.testReturnTypes01_02.occurrences | 5 +
...urnTypes01.php.testReturnTypes01_03.occurrences | 5 +
...urnTypes01.php.testReturnTypes01_04.occurrences | 5 +
...urnTypes01.php.testReturnTypes01_05.occurrences | 5 +
...urnTypes01.php.testReturnTypes01_06.occurrences | 4 +
...urnTypes01.php.testReturnTypes01_07.occurrences | 4 +
...urnTypes01.php.testReturnTypes01_08.occurrences | 4 +
...urnTypes01.php.testReturnTypes01_09.occurrences | 0
...urnTypes01.php.testReturnTypes01_10.occurrences | 0
...ithNs.php.testStaticAccessWithNs_01.occurrences | 3 +
...ithNs.php.testStaticAccessWithNs_02.occurrences | 3 +
...ithNs.php.testStaticAccessWithNs_03.occurrences | 3 +
...ithNs.php.testStaticAccessWithNs_04.occurrences | 3 +
...ithNs.php.testStaticAccessWithNs_05.occurrences | 3 +
...ithNs.php.testStaticAccessWithNs_06.occurrences | 3 +
...ithNs.php.testStaticAccessWithNs_07.occurrences | 3 +
...ithNs.php.testStaticAccessWithNs_08.occurrences | 3 +
...ithNs.php.testStaticAccessWithNs_09.occurrences | 3 +
...ithNs.php.testStaticAccessWithNs_10.occurrences | 3 +
...ithNs.php.testStaticAccessWithNs_11.occurrences | 3 +
...ithNs.php.testStaticAccessWithNs_12.occurrences | 3 +
...ithNs.php.testStaticAccessWithNs_13.occurrences | 3 +
...ithNs.php.testStaticAccessWithNs_14.occurrences | 3 +
...ithNs.php.testStaticAccessWithNs_15.occurrences | 3 +
...ithNs.php.testStaticAccessWithNs_16.occurrences | 3 +
...ithNs.php.testStaticAccessWithNs_17.occurrences | 3 +
...ithNs.php.testStaticAccessWithNs_18.occurrences | 3 +
....php.testStaticAccessWithNsAlias_01.occurrences | 4 +
....php.testStaticAccessWithNsAlias_02.occurrences | 4 +
....php.testStaticAccessWithNsAlias_03.occurrences | 4 +
....php.testStaticAccessWithNsAlias_04.occurrences | 4 +
....php.testStaticAccessWithNsAlias_05.occurrences | 4 +
....php.testStaticAccessWithNsAlias_06.occurrences | 4 +
....php.testStaticAccessWithNsAlias_07.occurrences | 4 +
....php.testStaticAccessWithNsAlias_08.occurrences | 4 +
....php.testStaticAccessWithNsAlias_09.occurrences | 2 +
....php.testStaticAccessWithNsAlias_10.occurrences | 2 +
...MethodCall.php.testStaticMethodCall.occurrences | 2 +
....php.testUniformVariableSyntax01_01.occurrences | 10 +
....php.testUniformVariableSyntax01_02.occurrences | 10 +
....php.testUniformVariableSyntax01_03.occurrences | 10 +
....php.testUniformVariableSyntax01_04.occurrences | 9 +
....php.testUniformVariableSyntax01_05.occurrences | 2 +
....php.testUniformVariableSyntax01_06.occurrences | 2 +
....php.testUniformVariableSyntax01_07.occurrences | 3 +
....php.testUniformVariableSyntax01_08.occurrences | 10 +
....php.testUniformVariableSyntax01_09.occurrences | 9 +
....php.testUniformVariableSyntax01_10.occurrences | 3 +
....php.testUniformVariableSyntax01_11.occurrences | 2 +
....php.testUniformVariableSyntax01_12.occurrences | 2 +
....php.testUniformVariableSyntax01_13.occurrences | 9 +
....php.testUniformVariableSyntax02_01.occurrences | 2 +
....php.testUniformVariableSyntax02_02.occurrences | 2 +
....php.testUniformVariableSyntax02_03.occurrences | 2 +
....php.testUniformVariableSyntax02_04.occurrences | 2 +
....php.testUniformVariableSyntax02_05.occurrences | 2 +
...AndConst.php.testUseFuncAndConst_01.occurrences | 4 +
...AndConst.php.testUseFuncAndConst_02.occurrences | 4 +
...AndConst.php.testUseFuncAndConst_03.occurrences | 2 +
...AndConst.php.testUseFuncAndConst_04.occurrences | 4 +
...AndConst.php.testUseFuncAndConst_05.occurrences | 4 +
...AndConst.php.testUseFuncAndConst_06.occurrences | 2 +
...AndConst.php.testUseFuncAndConst_07.occurrences | 4 +
...AndConst.php.testUseFuncAndConst_08.occurrences | 2 +
...AndConst.php.testUseFuncAndConst_09.occurrences | 4 +
...AndConst.php.testUseFuncAndConst_10.occurrences | 2 +
...stVardoc166660.php.testVardoc166660.occurrences | 3 +
...Vardoc166660.php.testVardoc166660_1.occurrences | 2 +
...ssName.php.testVariableAsAClassName.occurrences | 2 +
.../data/testfiles/verification/Issue239277.php | 14 +
.../PSR0/testIssue246997/SomeClass.php | 11 +
.../SomeClass.php.testIssue246997.hints | 0
.../FirstNs/SecondNs/WrongName.php | 9 +
.../WrongName.php.testNsNotOkClassNotOk.hints | 4 +
.../FirstNs/SecondNs/WrongName.php | 9 +
.../WrongName.php.testNsNotOkClassNotOk_type.hints | 4 +
.../FirstNs/SecondNs/WrongName.php | 9 +
.../WrongName.php.testNsOkClassNotOk.hints | 0
.../FirstNs/SecondNs/SomeClass.php | 9 +
.../SomeClass.php.testNsOkClassNotOk_01.hints | 0
.../FirstNs/SecondNs/SomeClass.php | 9 +
.../SomeClass.php.testNsOkClassNotOk_01_type.hints | 4 +
.../FirstNs/SecondNs/WrongName.php | 9 +
.../WrongName.php.testNsOkClassNotOk_type.hints | 4 +
.../testNsOkClassOk/FirstNs/SecondNs/ClassName.php | 9 +
.../SecondNs/ClassName.php.testNsOkClassOk.hints | 0
.../FirstNs/SecondNs/Some/Class.php | 9 +
.../Some/Class.php.testNsOkClassOk_01.hints | 0
.../FirstNs/SecondNs/Some/Class.php | 9 +
.../Some/Class.php.testNsOkClassOk_01_type.hints | 0
.../FirstNs/SecondNs/ClassName.php | 9 +
.../ClassName.php.testNsOkClassOk_type.hints | 0
.../PSR1/testConstantNameNotOk_1/ClassName.php | 9 +
.../ClassName.php.testConstantNameNotOk_1.hints | 4 +
.../PSR1/testConstantNameNotOk_2/ClassName.php | 9 +
.../ClassName.php.testConstantNameNotOk_2.hints | 4 +
.../PSR1/testConstantNameNotOk_3/ClassName.php | 9 +
.../ClassName.php.testConstantNameNotOk_3.hints | 4 +
.../PSR1/testConstantNameOk_1/ClassName.php | 9 +
.../ClassName.php.testConstantNameOk_1.hints | 0
.../PSR1/testConstantNameOk_2/ClassName.php | 9 +
.../ClassName.php.testConstantNameOk_2.hints | 0
.../PSR1/testMethodMagicOk/ClassName.php | 22 +
.../ClassName.php.testMethodMagicOk.hints | 0
.../PSR1/testMethodNotOk_1/ClassName.php | 11 +
.../ClassName.php.testMethodNotOk_1.hints | 4 +
.../PSR1/testMethodNotOk_2/ClassName.php | 11 +
.../ClassName.php.testMethodNotOk_2.hints | 4 +
.../verification/PSR1/testMethodOk_1/ClassName.php | 11 +
.../ClassName.php.testMethodOk_1.hints | 0
.../verification/PSR1/testMethodOk_2/ClassName.php | 11 +
.../ClassName.php.testMethodOk_2.hints | 0
.../verification/PSR1/testMethodOk_3/ClassName.php | 11 +
.../ClassName.php.testMethodOk_3.hints | 0
.../PSR1/testPropertyName_01/ClassName.php | 19 +
.../ClassName.php.testPropertyName_01.hints | 25 +
.../PSR1/testPropertyName_02/ClassName.php | 19 +
.../ClassName.php.testPropertyName_02.hints | 20 +
.../PSR1/testPropertyName_03/ClassName.php | 19 +
.../ClassName.php.testPropertyName_03.hints | 35 +
.../PSR1/testPropertyName_04/ClassName.php | 14 +
.../ClassName.php.testPropertyName_04.hints | 15 +
.../PSR1/testPropertyName_05/ClassName.php | 14 +
.../ClassName.php.testPropertyName_05.hints | 15 +
.../PSR1/testPropertyName_06/ClassName.php | 14 +
.../ClassName.php.testPropertyName_06.hints | 20 +
.../PSR1/testSideEffect_01/ClassName.php | 10 +
.../ClassName.php.testSideEffect_01.hints | 4 +
.../PSR1/testSideEffect_02/ClassName.php | 10 +
.../ClassName.php.testSideEffect_02.hints | 4 +
.../PSR1/testSideEffect_03/ClassName.php | 10 +
.../ClassName.php.testSideEffect_03.hints | 4 +
.../PSR1/testSideEffect_04/ClassName.php | 9 +
.../ClassName.php.testSideEffect_04.hints | 4 +
.../PSR1/testSideEffect_05/ClassName.php | 7 +
.../ClassName.php.testSideEffect_05.hints | 4 +
.../PSR1/testSideEffect_06/ClassName.php | 11 +
.../ClassName.php.testSideEffect_06.hints | 0
.../PSR1/testSideEffect_07/ClassName.php | 15 +
.../ClassName.php.testSideEffect_07.hints | 4 +
.../PSR1/testSideEffect_08/ClassName.php | 13 +
.../ClassName.php.testSideEffect_08.hints | 0
.../PSR1/testSideEffect_09/ClassName.php | 14 +
.../ClassName.php.testSideEffect_09.hints | 4 +
.../PSR1/testSideEffect_10/ClassName.php | 13 +
.../ClassName.php.testSideEffect_10.hints | 0
.../PSR1/testTypeNameNotOk52/ClassName.php | 7 +
.../ClassName.php.testTypeNameNotOk52.hints | 4 +
.../PSR1/testTypeNameNotOk53/ClassName.php | 7 +
.../ClassName.php.testTypeNameNotOk53.hints | 4 +
.../PSR1/testTypeNameNotOk53_2/ClassName.php | 7 +
.../ClassName.php.testTypeNameNotOk53_2.hints | 4 +
.../testTypeNameNotOkNamespace52/ClassName.php | 7 +
...lassName.php.testTypeNameNotOkNamespace52.hints | 4 +
.../testTypeNameNotOkNamespace53/ClassName.php | 7 +
...lassName.php.testTypeNameNotOkNamespace53.hints | 4 +
.../testTypeNameNotOkNamespace53_2/ClassName.php | 9 +
...ssName.php.testTypeNameNotOkNamespace53_2.hints | 4 +
.../testTypeNameNotOneDeclaration52/ClassName.php | 18 +
...sName.php.testTypeNameNotOneDeclaration52.hints | 4 +
.../testTypeNameNotOneDeclaration53/ClassName.php | 20 +
...sName.php.testTypeNameNotOneDeclaration53.hints | 4 +
.../PSR1/testTypeNameOk52/ClassName.php | 7 +
.../ClassName.php.testTypeNameOk52.hints | 0
.../PSR1/testTypeNameOk53/ClassName.php | 7 +
.../ClassName.php.testTypeNameOk53.hints | 0
.../testAbstractClassInstantiationHint.php | 10 +
...nt.php.testAbstractClassInstantiationHint.hints | 6 +
.../testAbstractClassInstantiationHint_02.php | 9 +
...php.testAbstractClassInstantiationHint_02.hints | 6 +
.../verification/testAccidentalAssignmentHint.php | 25 +
...talAssignmentHint.php.testInSubAndInWhile.hints | 28 +
...AssignmentHint.php.testInSubAndNotInWhile.hints | 13 +
...AssignmentHint.php.testNotInSubAndInWhile.hints | 20 +
...ignmentHint.php.testNotInSubAndNotInWhile.hints | 10 +
.../verification/testAddUseImportSuggestion_01.php | 11 +
...tion_01.php.testAddUseImportSuggestion_01.hints | 6 +
.../verification/testAddUseImportSuggestion_02.php | 11 +
...tion_02.php.testAddUseImportSuggestion_02.hints | 0
.../verification/testAmbiguousComparisonHint.php | 45 +
...risonHint.php.testAmbiguousComparisonHint.hints | 24 +
.../verification/testArraySyntaxSuggestion.php | 11 +
...ggestion.php.testArraySyntaxSuggestion_01.hints | 4 +
...ggestion.php.testArraySyntaxSuggestion_02.hints | 4 +
...ggestion.php.testArraySyntaxSuggestion_03.hints | 4 +
...ggestion.php.testArraySyntaxSuggestion_04.hints | 4 +
...ggestion.php.testArraySyntaxSuggestion_05.hints | 6 +
...ggestion.php.testArraySyntaxSuggestion_06.hints | 4 +
...aySyntaxSuggestion.php.testIssue248013_01.hints | 0
...aySyntaxSuggestion.php.testIssue248013_02.hints | 0
...aySyntaxSuggestion.php.testIssue248013_03.hints | 0
...aySyntaxSuggestion.php.testIssue248013_04.hints | 0
...aySyntaxSuggestion.php.testIssue248013_05.hints | 0
...aySyntaxSuggestion.php.testIssue248013_06.hints | 0
.../verification/testAssignVariableSuggestion.php | 9 +
...ggestion.php.testAssignVariableSuggestion.hints | 4 +
...stion.php.testAssignVariableSuggestion_02.hints | 0
...stion.php.testAssignVariableSuggestion_03.hints | 0
...stion.php.testAssignVariableSuggestion_04.hints | 4 +
.../testfiles/verification/testClassesLines.php | 56 +
...testClassesLines.php.testClassesLinesFail.hints | 3 +
.../testClassesLines.php.testClassesLinesOk.hints | 0
.../verification/testClosingDelimUseCase01.php | 15 +
...imUseCase01.php.testClosingDelimUseCase01.hints | 0
.../verification/testClosingDelimUseCase02.php | 13 +
...imUseCase02.php.testClosingDelimUseCase02.hints | 4 +
.../verification/testClosingDelimUseCase03.php | 14 +
...imUseCase03.php.testClosingDelimUseCase03.hints | 0
.../verification/testConstantRedeclarationHint.php | 29 +
...ionHint.php.testConstantRedeclarationHint.hints | 18 +
.../verification/testCookieSuperglobalsHint.php | 56 +
...lobalsHint.php.testCookieSuperglobalsHint.hints | 25 +
.../verification/testDoWhileBracesHint.php | 15 +
...WhileBracesHint.php.testDoWhileBracesHint.hints | 4 +
.../verification/testEmptyStatementHint.php | 302 +
...yStatementHint.php.testEmptyStatementHint.hints | 4 +
.../verification/testEnvSuperglobalsHint.php | 56 +
...erglobalsHint.php.testEnvSuperglobalsHint.hints | 25 +
.../verification/testErrorControlOperatorHint.php | 30 +
...atorHint.php.testErrorControlOperatorHint.hints | 0
.../verification/testFieldRedeclarationHint.php | 41 +
...rationHint.php.testFieldRedeclarationHint.hints | 63 +
.../testfiles/verification/testForBracesHint.php | 14 +
.../testForBracesHint.php.testForBracesHint.hints | 4 +
.../verification/testForEachBracesHint.php | 14 +
...rEachBracesHint.php.testForEachBracesHint.hints | 4 +
.../testfiles/verification/testFunctionsLines.php | 55 +
...FunctionsLines.php.testFunctionsLinesFail.hints | 9 +
...stFunctionsLines.php.testFunctionsLinesOk.hints | 0
.../verification/testGetSuperglobalsHint.php | 56 +
...erglobalsHint.php.testGetSuperglobalsHint.hints | 25 +
.../testfiles/verification/testGlobalContext.php | 5 +
.../testGlobalContext.php.testGlobalContext.hints | 0
.../testIdenticalComparisonSuggestion.php | 5 +
...ion.php.testIdenticalComparisonSuggestion.hints | 4 +
.../testfiles/verification/testIfBracesHint_01.php | 16 +
...stIfBracesHint_01.php.testIfBracesHint_01.hints | 8 +
.../testfiles/verification/testIfBracesHint_02.php | 18 +
...stIfBracesHint_02.php.testIfBracesHint_02.hints | 12 +
.../testfiles/verification/testIfBracesHint_03.php | 17 +
...stIfBracesHint_03.php.testIfBracesHint_03.hints | 12 +
.../verification/testImmutableVariablesHint.php | 46 +
...ablesHint.php.testWith1AllowedAssignments.hints | 42 +
.../testImplementAbstractMethodsHint.php | 77 +
...Hint.php.testImplementAbstractMethodsHint.hints | 10 +
.../testImplementAbstractMethodsHintFix.php | 46 +
...hp.testImplementAbstractMethodsHintFix_01.fixed | 49 +
...hp.testImplementAbstractMethodsHintFix_02.fixed | 50 +
...hp.testImplementAbstractMethodsHintFix_03.fixed | 50 +
...hp.testImplementAbstractMethodsHintFix_04.fixed | 50 +
...hp.testImplementAbstractMethodsHintFix_05.fixed | 51 +
...hp.testImplementAbstractMethodsHintFix_06.fixed | 49 +
...hp.testImplementAbstractMethodsHintFix_07.fixed | 46 +
...hp.testImplementAbstractMethodsHintFix_08.fixed | 46 +
.../testImplementAbstractMethodsHintFix02.php | 8 +
....testImplementAbstractMethodsHintFix02_01.fixed | 11 +
....testImplementAbstractMethodsHintFix02_02.hints | 5 +
.../testInitializeFieldSuggestion_01.php | 9 +
...n_01.php.testInitializeFieldSuggestion_01.hints | 4 +
.../testInitializeFieldSuggestion_02.php | 13 +
...n_02.php.testInitializeFieldSuggestion_02.hints | 4 +
.../testInitializeFieldSuggestion_03.php | 10 +
...n_03.php.testInitializeFieldSuggestion_03.hints | 4 +
.../testInitializeFieldSuggestion_04.php | 14 +
...n_04.php.testInitializeFieldSuggestion_04.hints | 0
.../testInitializeFieldSuggestion_05.php | 6 +
...n_05.php.testInitializeFieldSuggestion_05.hints | 4 +
.../testInitializeFieldSuggestion_06.php | 11 +
...n_06.php.testInitializeFieldSuggestion_06.hints | 4 +
.../testInitializeFieldSuggestion_07.php | 7 +
...n_07.php.testInitializeFieldSuggestion_07.hints | 4 +
.../testInitializeFieldSuggestion_08.php | 12 +
...n_08.php.testInitializeFieldSuggestion_08.hints | 0
.../testfiles/verification/testInterfacesLines.php | 55 +
...terfacesLines.php.testInterfacesLinesFail.hints | 3 +
...InterfacesLines.php.testInterfacesLinesOk.hints | 0
.../verification/testIntroduceSuggestion.php | 13 +
...gestion.php.testIntroduceSuggestionFix_02.fixed | 17 +
...gestion.php.testIntroduceSuggestionFix_03.fixed | 19 +
...gestion.php.testIntroduceSuggestionFix_04.fixed | 17 +
...gestion.php.testIntroduceSuggestionFix_05.fixed | 19 +
...gestion.php.testIntroduceSuggestionFix_06.fixed | 17 +
...Suggestion.php.testIntroduceSuggestion_01.hints | 4 +
...Suggestion.php.testIntroduceSuggestion_02.hints | 4 +
...Suggestion.php.testIntroduceSuggestion_03.hints | 4 +
...Suggestion.php.testIntroduceSuggestion_04.hints | 4 +
...Suggestion.php.testIntroduceSuggestion_05.hints | 4 +
...Suggestion.php.testIntroduceSuggestion_06.hints | 4 +
...Suggestion.php.testIntroduceSuggestion_07.hints | 0
.../verification/testIntroduceSuggestionTrait.php | 35 +
...p.testIntroduceSuggestionFixForTraitField.fixed | 37 +
....testIntroduceSuggestionFixForTraitMethod.fixed | 39 +
...roduceSuggestionFixForTraitStaticField_01.fixed | 37 +
...roduceSuggestionFixForTraitStaticField_02.fixed | 37 +
...roduceSuggestionFixForTraitStaticField_03.fixed | 37 +
...roduceSuggestionFixForTraitStaticField_04.fixed | 38 +
...oduceSuggestionFixForTraitStaticMethod_01.fixed | 39 +
...oduceSuggestionFixForTraitStaticMethod_02.fixed | 39 +
...oduceSuggestionFixForTraitStaticMethod_03.fixed | 39 +
...oduceSuggestionFixForTraitStaticMethod_04.fixed | 40 +
...p.testIntroduceSuggestionForTraitConstant.hints | 0
....php.testIntroduceSuggestionForTraitField.hints | 4 +
...php.testIntroduceSuggestionForTraitMethod.hints | 4 +
...IntroduceSuggestionForTraitStaticField_01.hints | 4 +
...IntroduceSuggestionForTraitStaticField_02.hints | 4 +
...ntroduceSuggestionForTraitStaticMethod_01.hints | 4 +
...ntroduceSuggestionForTraitStaticMethod_02.hints | 4 +
.../testfiles/verification/testIssue223842.php | 7 +
.../testIssue223842.php.testIssue223842.hints | 0
.../testfiles/verification/testIssue224940.php | 9 +
.../testIssue224940.php.testIssue224940.hints | 0
.../testfiles/verification/testIssue225818.php | 11 +
.../testIssue225818.php.testIssue225818.hints | 0
.../testfiles/verification/testIssue226041.php | 10 +
.../testIssue226041.php.testIssue226041.hints | 6 +
.../testfiles/verification/testIssue226425.php | 9 +
.../testIssue226425.php.testIssue226425.hints | 0
.../testfiles/verification/testIssue226494.php | 19 +
.../testIssue226494.php.testIssue226494.hints | 0
.../testfiles/verification/testIssue227081.php | 8 +
.../testIssue227081.php.testIssue227081.hints | 3 +
.../testfiles/verification/testIssue229522.php | 11 +
.../testIssue229522.php.testIssue229522.hints | 4 +
.../testfiles/verification/testIssue229529.php | 13 +
.../testIssue229529.php.testIssue229529.hints | 0
.../testfiles/verification/testIssue230297.php | 9 +
.../testIssue230297.php.testIssue230297.hints | 0
.../testfiles/verification/testIssue233268.php | 7 +
.../testIssue233268.php.testIssue233268.hints | 0
.../testfiles/verification/testIssue234983.php | 7 +
.../testIssue234983.php.testIssue234983.hints | 0
.../testfiles/verification/testIssue237620_01.php | 28 +
...testIssue237620_01.php.testIssue237620_01.hints | 0
.../testfiles/verification/testIssue237620_02.php | 28 +
...testIssue237620_02.php.testIssue237620_02.hints | 3 +
.../testfiles/verification/testIssue237620_03.php | 28 +
...testIssue237620_03.php.testIssue237620_03.hints | 0
.../testfiles/verification/testIssue237620_04.php | 28 +
...testIssue237620_04.php.testIssue237620_04.hints | 3 +
.../testfiles/verification/testIssue237726_01.php | 4 +
...testIssue237726_01.php.testIssue237726_01.hints | 0
.../testfiles/verification/testIssue237726_02.php | 4 +
...testIssue237726_02.php.testIssue237726_02.hints | 0
.../testfiles/verification/testIssue237768.php | 1 +
.../testIssue237768.php.testIssue237768.hints | 0
.../testfiles/verification/testIssue239277.php | 13 +
.../testIssue239277.php.testIssue239277_01.hints | 4 +
.../testIssue239277.php.testIssue239277_02.hints | 4 +
.../testfiles/verification/testIssue239640.php | 13 +
.../testIssue239640.php.testIssue239640.hints | 0
.../testIssue239640.php.testIssue239640_01.hints | 0
.../testfiles/verification/testIssue241824.php | 13 +
.../testIssue241824.php.testIssue241824_01.hints | 0
.../testIssue241824.php.testIssue241824_02.hints | 4 +
.../testfiles/verification/testIssue246125.php | 13 +
.../testIssue246125.php.testIssue246125.hints | 0
.../testfiles/verification/testIssue246230.php | 18 +
.../testIssue246230.php.testIssue246230.hints | 3 +
.../testfiles/verification/testIssue248213.php | 9 +
.../testIssue248213.php.testIssue248213.hints | 4 +
.../testfiles/verification/testIssue249306.php | 9 +
.../testIssue249306.php.testIssue249306.hints | 4 +
.../testfiles/verification/testIssue257454.php | 8 +
.../testIssue257454.php.testIssue257454.hints | 0
.../testfiles/verification/testIssue257898.php | 6 +
.../testIssue257898.php.testIssue257898.hints | 0
.../testfiles/verification/testIssue258480_1.php | 7 +
.../testIssue258480_1.php.testIssue258480_1.hints | 0
.../testfiles/verification/testIssue258480_2.php | 9 +
.../testIssue258480_2.php.testIssue258480_2.hints | 6 +
.../testfiles/verification/testIssue259026_01.php | 3 +
...testIssue259026_01.php.testIssue259026_01.hints | 0
.../testfiles/verification/testIssue259026_02.php | 3 +
...tIssue259026_02.php.testIssue259026Fix_02.fixed | 3 +
...testIssue259026_02.php.testIssue259026_02.hints | 4 +
.../testfiles/verification/testIssue259026_03.php | 5 +
...tIssue259026_03.php.testIssue259026Fix_03.fixed | 5 +
...testIssue259026_03.php.testIssue259026_03.hints | 4 +
.../verification/testIssue262838Fix01.php | 10 +
...ssue262838Fix01.php.testIssue262838Fix01a.fixed | 14 +
...ssue262838Fix01.php.testIssue262838Fix01b.fixed | 14 +
.../verification/testIssue262838Fix02.php | 13 +
...ssue262838Fix02.php.testIssue262838Fix02a.fixed | 17 +
...ssue262838Fix02.php.testIssue262838Fix02b.fixed | 17 +
.../verification/testIssue262838Fix03.php | 13 +
...ssue262838Fix03.php.testIssue262838Fix03a.fixed | 17 +
...ssue262838Fix03.php.testIssue262838Fix03b.fixed | 17 +
.../verification/testIssue267563Fix01.php | 10 +
...ssue267563Fix01.php.testIssue267563Fix01a.fixed | 14 +
...ssue267563Fix01.php.testIssue267563Fix01b.fixed | 14 +
.../verification/testIssue267563Fix02.php | 10 +
...ssue267563Fix02.php.testIssue267563Fix02a.fixed | 14 +
...ssue267563Fix02.php.testIssue267563Fix02b.fixed | 14 +
.../verification/testMethodRedeclarationHint.php | 50 +
...ationHint.php.testMethodRedeclarationHint.hints | 12 +
.../verification/testModifiersCheckHint.php | 37 +
...fiersCheckHint.php.testModifiersCheckHint.hints | 34 +
.../verification/testNestedBlocksHint_default.php | 91 +
...tNestedBlocksHint_default.php.testDefault.hints | 56 +
.../verification/testParentConstructorCallHint.php | 50 +
...allHint.php.testParentConstructorCallHint.hints | 20 +
.../verification/testPostSuperglobalsHint.php | 56 +
...rglobalsHint.php.testPostSuperglobalsHint.hints | 25 +
.../verification/testRequestSuperglobalsHint.php | 56 +
...obalsHint.php.testRequestSuperglobalsHint.hints | 25 +
.../verification/testServerSuperglobalsHint.php | 59 +
...lobalsHint.php.testServerSuperglobalsHint.hints | 25 +
.../verification/testTooManyReturnStatements.php | 40 +
...tatements.php.testTooManyReturnStatements.hints | 24 +
.../testfiles/verification/testTraitsLines.php | 56 +
.../testTraitsLines.php.testTraitsLinesFail.hints | 3 +
.../testTraitsLines.php.testTraitsLinesOk.hints | 0
.../verification/testTypeRedeclarationHint.php | 17 +
...arationHint.php.testTypeRedeclarationHint.hints | 6 +
.../verification/testUninitializedVariableHint.php | 104 +
...ninitializedVariableHint.php.testWithRefs.hints | 21 +
...itializedVariableHint.php.testWithoutRefs.hints | 27 +
.../verification/testUnreachableStatementHint.php | 70 +
...mentHint.php.testUnreachableStatementHint.hints | 27 +
.../testUnreachableStatementHint_02.php | 99 +
...nt_02.php.testUnreachableStatementHint_02.hints | 45 +
.../testUnusedInGlobalNamespaceContext.php | 7 +
...xt.php.testUnusedInGlobalNamespaceContext.hints | 0
.../testUnusedInGlobalProgramContext.php | 5 +
...text.php.testUnusedInGlobalProgramContext.hints | 0
.../testfiles/verification/testUnusedUsesHint.php | 62 +
...testUnusedUsesHint.php.testUnusedUsesHint.hints | 12 +
.../verification/testUnusedVariableHint.php | 129 +
...testUnusedVariableHint.php.testWithParams.hints | 59 +
...tUnusedVariableHint.php.testWithoutParams.hints | 41 +
.../verification/testVarDocSuggestion.php | 5 +
...VarDocSuggestion.php.testVarDocSuggestion.hints | 4 +
.../testfiles/verification/testWhileBracesHint.php | 14 +
...stWhileBracesHint.php.testWhileBracesHint.hints | 4 +
.../verification/testWrongOrderOfArgsHint.php | 25 +
...erOfArgsHint.php.testWrongOrderOfArgsHint.hints | 8 +
.../verification/testWrongParamNameHint.php | 74 +
...gParamNameHint.php.testWrongParamNameHint.hints | 16 +
.../netbeans/modules/php/editor/CodeUtilsTest.java | 205 +
.../modules/php/editor/PHPBracesMatcherTest.java | 452 +
.../php/editor/actions/FixUsesPerformerTest.java | 120 +-
.../php/editor/actions/ImportDataCreatorTest.java | 8 +
.../SelectedPropertyMethodsCreatorTest.java | 112 +-
.../php/editor/completion/ByReferencesTest.java | 217 +
.../php/editor/completion/DocRendererTest.java | 220 +-
.../editor/completion/PHP70CodeCompletionTest.java | 522 +
.../editor/completion/PHPCCDocumentationTest.java | 51 +
.../completion/PHPCodeCompletion163432Test.java | 2 +
.../completion/PHPCodeCompletion171178Test.java | 73 +
.../completion/PHPCodeCompletion186936Test.java | 73 +
.../completion/PHPCodeCompletion194836Test.java | 91 +
.../completion/PHPCodeCompletion239987Test.java | 129 +
.../completion/PHPCodeCompletion240527Test.java | 107 +
.../completion/PHPCodeCompletion246396Test.java | 85 +
.../completion/PHPCodeCompletion247082Test.java | 85 +
.../completion/PHPCodeCompletion247169Test.java | 77 +
.../completion/PHPCodeCompletion248884Test.java | 93 +
.../completion/PHPCodeCompletion253290Test.java | 143 +
.../completion/PHPCodeCompletion256106Test.java | 117 +
.../completion/PHPCodeCompletion257088Test.java | 72 +
.../completion/PHPCodeCompletion257709Test.java | 71 +
.../completion/PHPCodeCompletion258226Test.java | 77 +
.../completion/PHPCodeCompletion258352Test.java | 76 +
.../completion/PHPCodeCompletion267226_01Test.java | 71 +
.../completion/PHPCodeCompletion267226_02Test.java | 71 +
.../editor/completion/PHPCodeCompletionTest.java | 501 +-
.../completion/PHPCodeCompletionTestBase.java | 2 +-
.../modules/php/editor/csl/FoldingTest.java | 4 +
.../php/editor/csl/GotoDeclarationTest.java | 434 +-
.../modules/php/editor/csl/NavigatorTest.java | 12 +
.../php/editor/csl/OccurrencesFinderImplTest.java | 639 +-
.../php/editor/csl/SemanticAnalyzerTest.java | 14 +
.../editor/indent/PHPFormatterBlankLinesTest.java | 266 +
.../php/editor/indent/PHPFormatterSpacesTest.java | 180 +-
.../editor/indent/PHPFormatterTemplateTest.java | 130 +
.../php/editor/indent/PHPFormatterTest.java | 98 +
.../editor/indent/PHPFormatterWrappingTest.java | 230 +-
.../php/editor/indent/PHPNewLineIndenterTest.java | 44 +
.../php/editor/js/JsFormatterEmbeddedTest.java | 2 +-
.../php/editor/lexer/PHP53FeaturesTest.java | 28 +-
.../php/editor/lexer/PHP54FeaturesTest.java | 4 +-
.../php/editor/lexer/PHP70FeaturesTest.java | 119 +
.../modules/php/editor/lexer/PHPLexerTest.java | 13 +-
.../modules/php/editor/model/impl/ModelTest.java | 81 +
.../php/editor/parser/ASTPHP5ParserTest.java | 199 +-
.../php/editor/parser/PHPDocCommentParserTest.java | 42 +
.../php/editor/parser/PHPVarCommentParserTest.java | 18 +
.../php/editor/parser/PhpParserErrorTest.java | 206 +-
.../modules/php/editor/parser/PrintASTVisitor.java | 51 +-
.../typinghooks/PhpCommentGeneratorTest.java | 50 +-
.../typinghooks/PhpTypedBreakInterceptorTest.java | 174 +-
.../typinghooks/PhpTypedTextInterceptorTest.java | 42 +
.../modules/php/editor/verification/HintsTest.java | 311 +-
.../php/editor/verification/PHPHintsTestBase.java | 20 +
.../UninitializedVariableHintTest.java | 4 +
php.editor/tools/ASTPHP5Parser.cup | 615 +-
php.editor/tools/ASTPHP5Scanner.flex | 33 +-
php.editor/tools/Php5ColoringScanner.flex | 59 +-
php.editor/tools/skeleton.netbeans | 41 -
php.editor/tools/skeletonParser.netbeans | 41 -
php.kit/build.xml | 39 +
php.kit/manifest.mf | 2 +-
php.kit/nbproject/project.properties | 39 +
php.kit/nbproject/project.xml | 45 +
php.kit/release/VERSION.txt | 2 +-
.../org/netbeans/modules/php/kit/Bundle.properties | 37 +
php.latte/build.xml | 48 +-
php.latte/manifest.mf | 2 +-
php.latte/nbproject/project.properties | 41 +-
php.latte/nbproject/project.xml | 65 +-
.../netbeans/modules/php/latte/LatteSyntax.java | 13 +-
.../php/latte/lexer/LatteMarkupColoringLexer.java | 64 +-
.../modules/php/latte/lexer/LatteStateStack.java | 162 -
.../php/latte/lexer/LatteTopColoringLexer.java | 64 +-
.../php/latte/resources/LatteFileDescription.html | 11 +-
.../php/latte/resources/highlighting-bluetheme.xml | 9 +-
.../latte/resources/highlighting-citylights.xml | 9 +-
.../modules/php/latte/resources/highlighting.xml | 9 +-
php.latte/tools/LatteMarkupColoringLexer.flex | 17 +-
php.latte/tools/LatteTopColoringLexer.flex | 17 +-
php.latte/tools/skeleton.netbeans | 41 -
php.nette.tester/build.xml | 39 +
php.nette.tester/manifest.mf | 2 +-
php.nette.tester/nbproject/project.properties | 39 +-
php.nette.tester/nbproject/project.xml | 43 +-
.../php/nette/tester/TesterTestingProvider.java | 2 +-
.../modules/php/nette/tester/commands/Tester.java | 6 +-
.../modules/php/nette/tester/util/TesterUtils.java | 3 +-
php.nette2/build.xml | 39 +
php.nette2/manifest.mf | 3 +-
php.nette2/nbproject/project.properties | 39 +-
php.nette2/nbproject/project.xml | 50 +-
.../nette2/codegen/ActionRenderMethodChecker.java | 2 +-
.../modules/php/nette2/resources/Bundle.properties | 3 +
.../modules/php/nette2/resources/layer.xml | 54 +
.../php/nette2/ui/codegen/Bundle.properties | 37 +
.../php/nette2/ui/customizer/Bundle.properties | 37 +
php.phing/manifest.mf | 2 +-
php.phing/nbproject/project.properties | 39 +-
php.phing/nbproject/project.xml | 50 +-
.../netbeans/modules/php/phing/PhingBuildTool.java | 72 +-
.../modules/php/phing/exec/PhingExecutable.java | 93 +-
.../modules/php/phing/file/PhingTargets.java | 42 +-
.../php/phing/ui/actions/RunPhingTargetAction.java | 97 +-
.../ui/customizer/PhingCustomizerProvider.java | 12 +-
.../modules/php/phing/ui/options/Bundle.properties | 8 +-
.../modules/php/phing/ui/resources/build.xml | 41 +
php.phpdoc.documentation/build.xml | 39 +
.../external/binaries-list | 0
php.phpdoc.documentation/manifest.mf | 2 +-
.../nbproject/project.properties | 39 +
php.phpdoc.documentation/nbproject/project.xml | 39 +
php.phpdoc/build.xml | 39 +
php.phpdoc/manifest.mf | 2 +-
php.phpdoc/nbproject/project.properties | 39 +-
php.phpdoc/nbproject/project.xml | 39 +
php.phpunit/build.xml | 39 +
php.phpunit/manifest.mf | 2 +-
php.phpunit/nbproject/project.properties | 39 +-
php.phpunit/nbproject/project.xml | 61 +-
.../php/phpunit/PhpUnitTestingProvider.java | 27 +-
.../php/phpunit/annotations/AfterClassTag.java | 55 +
.../modules/php/phpunit/annotations/AfterTag.java | 55 +
.../modules/php/phpunit/annotations/AuthorTag.java | 55 +
.../php/phpunit/annotations/BeforeClassTag.java | 55 +
.../modules/php/phpunit/annotations/BeforeTag.java | 55 +
.../php/phpunit/annotations/Bundle.properties | 277 +-
.../annotations/CodeCoverageIgnoreEndTag.java | 55 +
.../annotations/CodeCoverageIgnoreStartTag.java | 55 +
.../phpunit/annotations/CoversDefaultClassTag.java | 55 +
.../php/phpunit/annotations/CoversNothingTag.java | 55 +
.../ExpectedExceptionMessageRegExpTag.java | 55 +
.../modules/php/phpunit/annotations/LargeTag.java | 55 +
.../modules/php/phpunit/annotations/MediumTag.java | 55 +
.../annotations/PhpUnitAnnotationsProvider.java | 23 +-
.../annotations/PreserveGlobalStateTag.java | 55 +
.../php/phpunit/annotations/RequiresTag.java | 55 +
.../modules/php/phpunit/annotations/SmallTag.java | 55 +
.../modules/php/phpunit/annotations/UsesTag.java | 55 +
.../parser/ExpectedExceptionLineParser.java | 14 +-
.../modules/php/phpunit/commands/PhpUnit.java | 363 +-
.../php/phpunit/commands/SkeletonGenerator.java | 5 +-
.../phpunit/preferences/PhpUnitPreferences.java | 13 +-
.../modules/php/phpunit/run/JsonParser.java | 343 +
.../modules/php/phpunit/run/PhpUnitLogParser.java | 315 -
.../modules/php/phpunit/run/TestCaseVo.java | 77 +-
.../modules/php/phpunit/run/TestRunner.java | 108 +-
.../modules/php/phpunit/run/TestSessionVo.java | 40 +-
.../modules/php/phpunit/run/TestSuiteVo.java | 37 +-
.../php/phpunit/ui/customizer/Bundle.properties | 7 +-
.../phpunit/ui/customizer/CustomizerPhpUnit.form | 35 +-
.../phpunit/ui/customizer/CustomizerPhpUnit.java | 39 +-
.../php/phpunit/ui/resources/PHPUnitBootstrap.php | 1 -
.../emptyPHPUnitBootstrapDescription.html | 16 +-
.../emptyPHPUnitConfigurationDescription.html | 16 +-
.../ui/resources/emptyPHPUnitSuiteDescription.html | 16 +-
.../modules/php/phpunit/util/PhpUnitUtils.java | 4 +
php.phpunit/test/unit/data/issue258312.json | 24 +
php.phpunit/test/unit/data/issue259044.json | 17705 +++++++++
php.phpunit/test/unit/data/issue267597a.json | 41 +
php.phpunit/test/unit/data/issue267597b.json | 764 +
php.phpunit/test/unit/data/issue267597c.json | 208 +
php.phpunit/test/unit/data/issue267597d.json | 126 +
php.phpunit/test/unit/data/issue267597e.json | 129 +
php.phpunit/test/unit/data/issue267597f.json | 22 +
php.phpunit/test/unit/data/log-chunk-1.json | 13 +
php.phpunit/test/unit/data/log-chunk-10.json | 23 +
php.phpunit/test/unit/data/log-chunk-11.json | 27 +
php.phpunit/test/unit/data/log-chunk-12.json | 26 +
php.phpunit/test/unit/data/log-chunk-13.json | 16 +
php.phpunit/test/unit/data/log-chunk-14.json | 5 +
php.phpunit/test/unit/data/log-chunk-2.json | 16 +
php.phpunit/test/unit/data/log-chunk-3.json | 17 +
php.phpunit/test/unit/data/log-chunk-4.json | 24 +
php.phpunit/test/unit/data/log-chunk-5.json | 22 +
php.phpunit/test/unit/data/log-chunk-6.json | 26 +
php.phpunit/test/unit/data/log-chunk-7.json | 27 +
php.phpunit/test/unit/data/log-chunk-8.json | 22 +
php.phpunit/test/unit/data/log-chunk-9.json | 27 +
.../test/unit/data/log-special-chars-2.json | 3853 ++
php.phpunit/test/unit/data/log-special-chars.json | 54 +
.../test/unit/data/phpunit-log-empty-suite.xml | 19 -
.../test/unit/data/phpunit-log-issue157846.xml | 19 -
.../test/unit/data/phpunit-log-issue159876.xml | 11 -
.../test/unit/data/phpunit-log-issue169433.xml | 33 -
.../test/unit/data/phpunit-log-issue198920.xml | 29 -
.../test/unit/data/phpunit-log-issue200503.xml | 21 -
.../test/unit/data/phpunit-log-more-suites.xml | 54 -
.../test/unit/data/phpunit-log-one-suite.xml | 6 -
php.phpunit/test/unit/data/phpunit-log.json | 279 +
php.phpunit/test/unit/data/phpunit.json | 18052 +++++++++
.../modules/php/phpunit/commands/PhpUnitTest.java | 44 +-
.../modules/php/phpunit/run/JsonParserTest.java | 412 +
.../php/phpunit/run/PhpUnitLogParserTest.java | 296 -
php.project/arch.xml | 49 +-
php.project/external/binaries-list | 1 +
php.project/manifest.mf | 2 +-
php.project/nbproject/project.properties | 2 +-
php.project/nbproject/project.xml | 23 +-
.../modules/php/project/PhpModuleImpl.java | 7 +-
.../netbeans/modules/php/project/PhpProject.java | 5 +-
.../php/project/ProjectPropertiesSupport.java | 2 +-
.../annotations/GlobalUserAnnotationsProvider.java | 101 +
.../ProjectUserAnnotationsProvider.java | 99 +
.../php/project/annotations/UserAnnotations.java | 32 +-
.../annotations/UserAnnotationsProvider.java | 101 -
.../modules/php/project/api/PhpAnnotations.java | 6 +-
.../classpath/SourcePathImplementation.java | 1 -
.../php/project/connections/RemoteClient.java | 7 +-
.../project/connections/common/Bundle.properties | 1 +
.../project/connections/common/RemoteUtils.java | 2 +-
.../connections/common/RemoteValidator.java | 11 +
.../php/project/connections/ftp/Bundle.properties | 2 +
.../php/project/connections/ftp/FtpClient.java | 25 +-
.../project/connections/ftp/FtpConfiguration.java | 24 +
.../connections/ftp/FtpConfigurationPanel.form | 88 +-
.../connections/ftp/FtpConfigurationPanel.java | 141 +-
.../connections/ftp/FtpConfigurationValidator.java | 39 +-
.../connections/ftp/FtpConnectionProvider.java | 9 +
.../connections/transfer/LocalTransferFile.java | 2 +-
.../ui/transfer/TransferFilesChooser.java | 12 +-
.../ui/transfer/tree/TransferSelector.java | 2 +
.../project/internalserver/InternalWebServer.java | 2 +-
.../modules/php/project/resources/layer.xml | 9 +
.../modules/php/project/ui/Bundle.properties | 39 +-
.../php/project/ui/PhpAnnotationsPanel.form | 185 +
.../php/project/ui/PhpAnnotationsPanel.java | 468 +
.../php/project/ui/actions/RemoteCommand.java | 6 +
.../project/ui/actions/support/CommandUtils.java | 2 +-
.../actions/support/TestSingleMethodSupport.java | 12 +-
.../ui/customizer/CompositePanelProviderImpl.java | 27 +-
.../ui/customizer/CustomizerAnnotations.form | 18 +
.../ui/customizer/CustomizerAnnotations.java | 128 +
.../ui/logicalview/PhpLogicalViewProvider.java | 20 +-
.../project/ui/logicalview/PhpSourcesFilter.java | 14 +-
.../php/project/ui/logicalview/SrcNode.java | 42 +-
.../php/project/ui/options/Bundle.properties | 29 +-
.../project/ui/options/PhpAnnotationsPanel.form | 170 -
.../project/ui/options/PhpAnnotationsPanel.java | 452 -
.../ui/options/PhpAnnotationsPanelController.java | 26 +-
.../ui/resources/emptyPHPClassDescription.html | 16 +-
.../ui/resources/emptyPHPFileDescription.html | 16 +-
.../ui/resources/emptyPHPInterfaceDescription.html | 16 +-
.../ui/resources/emptyPHPTraitDescription.html | 50 +
.../ui/resources/emptyPHPWebPageDescription.html | 16 +-
.../php/project/ui/resources/emptyPhpProject.html | 16 +-
.../php/project/ui/resources/emptyTraitPHP.php | 58 +
.../project/ui/resources/existingPhpProject.html | 16 +-
.../php/project/ui/resources/phpDescription.html | 16 +-
.../php/project/ui/resources/remotePhpProject.html | 16 +-
.../php/project/ui/testrunner/TestCaseImpl.java | 1 +
.../php/project/ui/testrunner/TestSessionImpl.java | 10 +-
.../php/project/ui/testrunner/TestSuiteImpl.java | 15 +-
.../php/project/ui/testrunner/UnitTestRunner.java | 5 +
.../php/project/ui/wizards/Bundle.properties | 1 +
.../project/ui/wizards/NewFileNamespacePanel.java | 8 +-
.../project/ui/wizards/NewFileWizardIterator.java | 7 +-
.../ui/wizards/RemoteConfirmationPanel.java | 2 +-
.../project/ui/wizards/RunConfigurationPanel.java | 3 +-
.../project/annotations/UserAnnotationsTest.java | 20 +-
.../ftp/FtpConfigurationValidatorTest.java | 101 +-
.../project/ui/testrunner/TestSessionImplTest.java | 4 +-
php.refactoring/build.xml | 39 +
php.refactoring/manifest.mf | 2 +-
php.refactoring/nbproject/project.properties | 41 +-
php.refactoring/nbproject/project.xml | 66 +-
.../modules/refactoring/php/Bundle.properties | 37 +
.../modules/refactoring/php/RefactoringUtils.java | 8 +-
.../php/rename/PhpRenameRefactoringUI.java | 10 +-
.../refactoring/php/rename/RenamePanel.form | 4 +-
.../refactoring/php/rename/RenamePanel.java | 10 +-
.../modules/refactoring/php/resources/mf-layer.xml | 2 +-
php.samples/build.xml | 41 +-
php.samples/manifest.mf | 2 +-
php.samples/nbproject/project.properties | 39 +-
php.samples/nbproject/project.xml | 39 +
.../nbproject/project.properties | 37 +
.../Calculator-Codeception/nbproject/project.xml | 39 +
.../nbproject/project.properties | 37 +
.../Calculator-Nette-Tester/nbproject/project.xml | 39 +
.../nbproject/project.properties | 37 +
.../Calculator-PHPUnit/nbproject/project.xml | 39 +
.../Calculator-atoum/nbproject/project.properties | 37 +
.../Calculator-atoum/nbproject/project.xml | 39 +
.../RentAFlat-Symfony/apps/frontend/config/app.yml | 5 -
.../apps/frontend/config/cache.yml | 7 -
.../apps/frontend/config/factories.yml | 42 -
.../apps/frontend/config/filters.yml | 10 -
.../config/frontendConfiguration.class.php | 49 -
.../apps/frontend/config/routing.yml | 20 -
.../apps/frontend/config/security.yml | 5 -
.../apps/frontend/config/settings.yml | 35 -
.../apps/frontend/config/view.yml | 22 -
.../apps/frontend/lib/myUser.class.php | 46 -
.../RentAFlat-Symfony/apps/frontend/misc/Utils.php | 102 -
.../modules/contacts/actions/actions.class.php | 49 -
.../modules/contacts/templates/indexSuccess.php | 52 -
.../modules/content/actions/actions.class.php | 60 -
.../modules/content/templates/indexSuccess.php | 58 -
.../modules/content/templates/readmeSuccess.php | 45 -
.../modules/myfavorites/actions/actions.class.php | 109 -
.../modules/myfavorites/templates/indexSuccess.php | 80 -
.../myfavorites/templates/noresultsSuccess.php | 47 -
.../modules/property/actions/actions.class.php | 89 -
.../modules/property/templates/addSuccess.php | 63 -
.../modules/property/templates/allSuccess.php | 73 -
.../modules/property/templates/detailError.php | 47 -
.../modules/property/templates/detailSuccess.php | 120 -
.../apps/frontend/templates/layout.php | 144 -
.../config/ProjectConfiguration.class.php | 66 -
.../RentAFlat-Symfony/config/doctrine/schema.yml | 246 -
.../RentAFlat-Symfony/config/properties.ini | 4 -
.../RentAFlat-Symfony/config/rsync_exclude.txt | 15 -
.../RentAFlat-Symfony/data/fixtures/data.yml | 227 -
.../lib/form/doctrine/PropertyForm.class.php | 51 -
.../lib/model/doctrine/Disposition.class.php | 50 -
.../lib/model/doctrine/Location.class.php | 54 -
.../lib/model/doctrine/Property.class.php | 54 -
.../lib/model/doctrine/PropertyBuild.class.php | 50 -
.../RentAFlat-Symfony/nbproject/project.properties | 8 -
.../RentAFlat-Symfony/nbproject/project.xml | 9 -
.../samples_src/RentAFlat-Symfony/readme.html | 225 -
php.samples/samples_src/RentAFlat-Symfony/symfony | 14 -
.../samples_src/RentAFlat-Symfony/web/.htaccess | 22 -
.../RentAFlat-Symfony/web/check_configuration.php | 148 -
.../RentAFlat-Symfony/web/css/cssweb.css | 304 -
.../samples_src/RentAFlat-Symfony/web/favicon.ico | Bin 1150 -> 0 bytes
.../RentAFlat-Symfony/web/frontend_dev.php | 54 -
.../web/images/netbeans-logo-2.png | Bin 36324 -> 0 bytes
.../RentAFlat-Symfony/web/images/netbeans-logo.gif | Bin 17167 -> 0 bytes
.../samples_src/RentAFlat-Symfony/web/index.php | 47 -
.../RentAFlat-Symfony/web/js/function.js | 101 -
.../samples_src/RentAFlat-Symfony/web/robots.txt | 2 -
.../samples_src/RentAFlat-Zend/.zfproject.xml | 259 -
.../RentAFlat-Zend/application/Bootstrap.php | 77 -
.../application/configs/application.ini | 33 -
.../application/controllers/BaseController.php | 91 -
.../application/controllers/ContactsController.php | 52 -
.../application/controllers/ErrorController.php | 88 -
.../application/controllers/IndexController.php | 61 -
.../controllers/MyFavoritesController.php | 90 -
.../application/controllers/PropertyController.php | 110 -
.../application/forms/PropertyForm.php | 331 -
.../application/forms/Zend_Validate_IsNumber.php | 70 -
.../forms/Zend_Validate_UniqueRefNo.php | 69 -
.../application/layouts/scripts/layout.phtml | 100 -
.../RentAFlat-Zend/application/misc/Utils.php | 90 -
.../application/models/DbTable/Disposition.php | 50 -
.../application/models/DbTable/Location.php | 50 -
.../application/models/DbTable/PriceType.php | 50 -
.../application/models/DbTable/Property.php | 50 -
.../models/DbTable/PropertyBuildType.php | 50 -
.../application/models/Disposition.php | 99 -
.../application/models/DispositionMapper.php | 118 -
.../application/models/PriceType.php | 108 -
.../application/models/PriceTypeMapper.php | 107 -
.../RentAFlat-Zend/application/models/Property.php | 292 -
.../application/models/PropertyBuildType.php | 100 -
.../application/models/PropertyBuildTypeMapper.php | 125 -
.../application/models/PropertyLocation.php | 109 -
.../application/models/PropertyLocationMapper.php | 113 -
.../application/models/PropertyMapper.php | 195 -
.../application/views/scripts/contacts/index.phtml | 52 -
.../application/views/scripts/error/error.phtml | 61 -
.../scripts/formElements/property/_clear.phtml | 45 -
.../scripts/formElements/property/_select.phtml | 56 -
.../scripts/formElements/property/_submit.phtml | 51 -
.../scripts/formElements/property/_textArea.phtml | 56 -
.../scripts/formElements/property/_textInput.phtml | 58 -
.../application/views/scripts/index/_footer.phtml | 75 -
.../application/views/scripts/index/_menu.phtml | 67 -
.../application/views/scripts/index/index.phtml | 58 -
.../application/views/scripts/index/readme.phtml | 47 -
.../views/scripts/my-favorites/index.phtml | 92 -
.../views/scripts/my-favorites/no-results.phtml | 47 -
.../application/views/scripts/property/add.phtml | 54 -
.../application/views/scripts/property/all.phtml | 73 -
.../views/scripts/property/detail.phtml | 122 -
.../application/views/scripts/property/error.phtml | 47 -
.../RentAFlat-Zend/database/database.sql | 100 -
.../samples_src/RentAFlat-Zend/docs/README.txt | 30 -
.../RentAFlat-Zend/nbproject/project.properties | 14 -
.../RentAFlat-Zend/nbproject/project.xml | 9 -
.../samples_src/RentAFlat-Zend/public/.htaccess | 14 -
.../RentAFlat-Zend/public/css/cssweb.css | 302 -
.../samples_src/RentAFlat-Zend/public/favicon.ico | Bin 1150 -> 0 bytes
.../public/images/netbeans-logo-2.png | Bin 36324 -> 0 bytes
.../RentAFlat-Zend/public/images/netbeans-logo.gif | Bin 17167 -> 0 bytes
.../samples_src/RentAFlat-Zend/public/index.php | 76 -
.../RentAFlat-Zend/public/js/function.js | 101 -
php.samples/samples_src/RentAFlat-Zend/readme.html | 189 -
php.samples/samples_src/TodoList/config/.htaccess | 2 -
php.samples/samples_src/TodoList/config/Config.php | 16 +-
php.samples/samples_src/TodoList/config/config.ini | 6 +-
php.samples/samples_src/TodoList/dao/.htaccess | 2 -
php.samples/samples_src/TodoList/dao/TodoDao.php | 41 +-
.../TodoList/dao/TodoSearchCriteria.php | 4 +-
php.samples/samples_src/TodoList/db/.htaccess | 42 +-
php.samples/samples_src/TodoList/db/db.sqlite | Bin 0 -> 9216 bytes
php.samples/samples_src/TodoList/db/mysql.sql | 77 -
php.samples/samples_src/TodoList/db/sqlite.sql | 79 +
.../samples_src/TodoList/exception/.htaccess | 2 -
.../TodoList/exception/NotFoundException.php | 7 +-
php.samples/samples_src/TodoList/flash/.htaccess | 2 -
php.samples/samples_src/TodoList/flash/Flash.php | 8 +-
php.samples/samples_src/TodoList/layout/.htaccess | 2 -
.../samples_src/TodoList/layout/index.phtml | 60 +-
php.samples/samples_src/TodoList/mapping/.htaccess | 2 -
.../samples_src/TodoList/mapping/TodoMapper.php | 9 +-
php.samples/samples_src/TodoList/model/.htaccess | 2 -
php.samples/samples_src/TodoList/model/Todo.php | 25 +-
.../TodoList/nbproject/private/private.properties | 45 +
.../TodoList/nbproject/project.properties | 42 +-
.../samples_src/TodoList/nbproject/project.xml | 39 +
php.samples/samples_src/TodoList/page/.htaccess | 2 -
php.samples/samples_src/TodoList/page/404.phtml | 2 +
php.samples/samples_src/TodoList/page/500.phtml | 2 +
php.samples/samples_src/TodoList/page/add-edit.php | 20 +-
.../samples_src/TodoList/page/add-edit.phtml | 27 +-
.../samples_src/TodoList/page/change-status.php | 8 +-
php.samples/samples_src/TodoList/page/delete.php | 8 +-
php.samples/samples_src/TodoList/page/detail.php | 9 +-
php.samples/samples_src/TodoList/page/detail.phtml | 29 +-
php.samples/samples_src/TodoList/page/home.phtml | 4 +-
php.samples/samples_src/TodoList/page/list.php | 11 +-
php.samples/samples_src/TodoList/page/list.phtml | 23 +-
php.samples/samples_src/TodoList/readme.html | 89 +-
php.samples/samples_src/TodoList/util/.htaccess | 2 -
php.samples/samples_src/TodoList/util/Utils.php | 53 +-
.../samples_src/TodoList/validation/.htaccess | 2 -
.../samples_src/TodoList/validation/Error.php | 79 -
.../TodoList/validation/TodoValidator.php | 35 +-
.../TodoList/validation/ValidationError.php | 81 +
.../samples_src/TodoList/web/css/layout.css | 56 +-
.../redmond/images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 180 -> 0 bytes
.../redmond/images/ui-bg_flat_55_fbec88_40x100.png | Bin 182 -> 0 bytes
.../redmond/images/ui-bg_glass_75_d0e5f5_1x400.png | Bin 124 -> 0 bytes
.../redmond/images/ui-bg_glass_85_dfeffc_1x400.png | Bin 123 -> 0 bytes
.../redmond/images/ui-bg_glass_95_fef1ec_1x400.png | Bin 119 -> 0 bytes
.../images/ui-bg_gloss-wave_55_5c9ccc_500x100.png | Bin 4033 -> 0 bytes
.../images/ui-bg_inset-hard_100_f5f8f9_1x100.png | Bin 130 -> 0 bytes
.../images/ui-bg_inset-hard_100_fcfdfd_1x100.png | Bin 88 -> 0 bytes
.../css/redmond/images/ui-icons_217bc0_256x240.png | Bin 4369 -> 0 bytes
.../css/redmond/images/ui-icons_2e83ff_256x240.png | Bin 4369 -> 0 bytes
.../css/redmond/images/ui-icons_469bdd_256x240.png | Bin 4369 -> 0 bytes
.../css/redmond/images/ui-icons_6da8d5_256x240.png | Bin 4369 -> 0 bytes
.../css/redmond/images/ui-icons_cd0a0a_256x240.png | Bin 4369 -> 0 bytes
.../css/redmond/images/ui-icons_d8e7f3_256x240.png | Bin 5355 -> 0 bytes
.../css/redmond/images/ui-icons_f9bd01_256x240.png | Bin 4369 -> 0 bytes
.../web/css/redmond/jquery-ui-1.8.16.custom.css | 378 -
php.samples/samples_src/TodoList/web/css/style.css | 98 +-
.../samples_src/TodoList/web/img/NB-IDE-logo.png | Bin 0 -> 6465 bytes
.../samples_src/TodoList/web/img/action/add.png | Bin 789 -> 0 bytes
.../samples_src/TodoList/web/img/action/back.png | Bin 345 -> 0 bytes
.../samples_src/TodoList/web/img/action/delete.png | Bin 476 -> 0 bytes
.../samples_src/TodoList/web/img/action/edit.png | Bin 610 -> 0 bytes
.../samples_src/TodoList/web/img/exclamation.png | Bin 701 -> 0 bytes
.../TodoList/web/img/header-bg-left.jpg | Bin 465 -> 0 bytes
.../TodoList/web/img/header-bg-right.jpg | Bin 358 -> 0 bytes
.../samples_src/TodoList/web/img/header-bg.jpg | Bin 39018 -> 0 bytes
php.samples/samples_src/TodoList/web/img/line.gif | Bin 43 -> 0 bytes
.../samples_src/TodoList/web/img/link-bgd.gif | Bin 149 -> 0 bytes
.../samples_src/TodoList/web/img/link-left.gif | Bin 49 -> 0 bytes
.../samples_src/TodoList/web/img/link-right.gif | Bin 49 -> 0 bytes
.../samples_src/TodoList/web/img/marker-1.gif | Bin 141 -> 0 bytes
.../samples_src/TodoList/web/img/marker-2.gif | Bin 47 -> 0 bytes
.../samples_src/TodoList/web/img/marker-3.gif | Bin 44 -> 0 bytes
.../samples_src/TodoList/web/img/priority/1.png | Bin 592 -> 0 bytes
.../samples_src/TodoList/web/img/priority/2.png | Bin 586 -> 0 bytes
.../samples_src/TodoList/web/img/priority/3.png | Bin 586 -> 0 bytes
.../samples_src/TodoList/web/img/spacer.gif | Bin 43 -> 0 bytes
.../TodoList/web/img/status/DONE-disabled.png | Bin 470 -> 0 bytes
.../samples_src/TodoList/web/img/status/DONE.png | Bin 781 -> 0 bytes
.../TodoList/web/img/status/PENDING-disabled.png | Bin 491 -> 0 bytes
.../TodoList/web/img/status/PENDING.png | Bin 793 -> 0 bytes
.../TodoList/web/img/status/VOIDED-disabled.png | Bin 452 -> 0 bytes
.../samples_src/TodoList/web/img/status/VOIDED.png | Bin 715 -> 0 bytes
php.samples/samples_src/TodoList/web/index.php | 49 +-
.../netbeans/modules/php/samples/Bundle.properties | 2 -
.../modules/php/samples/PHPSamplesPanelVisual.java | 1 +
.../samples/descriptions/Rent-a-Flat-Symfony.html | 53 -
.../php/samples/descriptions/Rent-a-Flat-Zend.html | 53 -
.../modules/php/samples/descriptions/TodoList.html | 2 +-
.../src/org/netbeans/modules/php/samples/layer.xml | 16 -
php.smarty/build.xml | 39 +
php.smarty/manifest.mf | 2 +-
php.smarty/nbproject/project.properties | 39 +-
php.smarty/nbproject/project.xml | 53 +
.../netbeans/modules/php/smarty/Bundle.properties | 9 +-
.../modules/php/smarty/SmartyFramework.java | 9 +-
.../php/smarty/SmartyPhpFrameworkProvider.java | 9 +-
.../smarty/SmartyPhpModuleCustomizerExtender.java | 9 +-
.../modules/php/smarty/editor/Bundle.properties | 9 +-
.../modules/php/smarty/editor/TplDataLoader.java | 9 +-
.../modules/php/smarty/editor/TplDataObject.java | 9 +-
.../php/smarty/editor/TplEditorSupport.java | 9 +-
.../netbeans/modules/php/smarty/editor/TplKit.java | 9 +-
.../modules/php/smarty/editor/TplMetaData.java | 9 +-
.../modules/php/smarty/editor/TplSyntax.java | 13 +-
.../coloring/EmbeddingHighlightsContainer.java | 9 +-
.../coloring/EmbeddingHighlightsLayerFactory.java | 9 +-
.../php/smarty/editor/completion/Bundle.properties | 9 +-
.../editor/completion/CodeCompletionUtils.java | 9 +-
.../editor/completion/TplCompletionItem.java | 9 +-
.../editor/completion/TplCompletionProvider.java | 9 +-
.../editor/completion/TplCompletionQuery.java | 9 +-
.../completion/entries/CodeCompletionEntries.java | 9 +-
.../entries/CodeCompletionEntryMetadata.java | 9 +-
.../entries/SmartyCodeCompletionOffer.java | 9 +-
.../completion/entries/defs/built-in-functions.xml | 39 +
.../completion/entries/defs/custom-functions.xml | 39 +
.../completion/entries/defs/variable-modifiers.xml | 41 +-
.../editor/embedding/TplHtmlEmbeddingProvider.java | 9 +-
.../php/smarty/editor/gsf/TplGSFParser.java | 9 +-
.../modules/php/smarty/editor/gsf/TplLanguage.java | 9 +-
.../php/smarty/editor/gsf/TplStructureScanner.java | 9 +-
.../modules/php/smarty/editor/lexer/TplLexer.java | 9 +-
.../php/smarty/editor/lexer/TplTokenId.java | 9 +-
.../php/smarty/editor/lexer/TplTopLexer.java | 9 +-
.../php/smarty/editor/lexer/TplTopTokenId.java | 9 +-
.../php/smarty/editor/parser/TplParser.java | 4 +-
.../php/smarty/editor/parser/TplParserResult.java | 4 +-
.../php/smarty/editor/utlis/EmbeddingUtils.java | 9 +-
.../php/smarty/editor/utlis/LexerUtils.java | 9 +-
.../modules/php/smarty/editor/utlis/TplUtils.java | 9 +-
.../modules/php/smarty/resources/Bundle.properties | 37 +
.../php/smarty/resources/TplDescription.html | 18 +-
.../modules/php/smarty/resources/fontsColors.xml | 9 +-
.../modules/php/smarty/resources/layer.xml | 39 +
.../modules/php/smarty/ui/Bundle.properties | 37 +
.../php/smarty/ui/customizer/Bundle.properties | 37 +
.../ui/customizer/SmartyCustomizerPanel.java | 9 +-
.../php/smarty/ui/notification/Bundle.properties | 37 +
.../php/smarty/ui/options/Bundle.properties | 9 +-
.../php/smarty/ui/options/SmartyOptions.java | 9 +-
.../php/smarty/ui/options/SmartyOptionsPanel.java | 9 +-
.../ui/options/SmartyOptionsPanelController.java | 9 +-
.../netbeans/modules/php/smarty/TplTestBase.java | 2 +-
.../editor/embedding/JsEmbeddingProviderTest.java | 2 +-
.../smarty/editor/lexer/TplTopLexerBatchTest.java | 9 +-
.../smarty/editor/parser/TplParserErrorsTest.java | 2 +-
.../php/smarty/editor/parser/TplParserTest.java | 2 +-
php.symfony/build.xml | 39 +
php.symfony/manifest.mf | 2 +-
php.symfony/nbproject/project.properties | 39 +-
php.symfony/nbproject/project.xml | 50 +-
.../php/symfony/SymfonyPhpFrameworkProvider.java | 8 +-
.../php/symfony/resources/Bundle.properties | 6 +-
.../ui/actions/SymfonyGoToActionAction.java | 3 +-
.../modules/php/symfony/util/SymfonyUtils.java | 1 +
php.symfony2/build.xml | 39 +
php.symfony2/manifest.mf | 2 +-
php.symfony2/nbproject/project.properties | 39 +-
php.symfony2/nbproject/project.xml | 71 +-
.../modules/php/symfony2/ConfigurationFiles.java | 21 +-
.../php/symfony2/Symfony2PhpFrameworkProvider.java | 166 -
.../Symfony2PhpModuleCustomizerExtender.java | 214 -
.../php/symfony2/Symfony2PhpModuleExtender.java | 229 -
.../Symfony2PhpModuleIgnoredFilesExtender.java | 101 -
.../php/symfony2/SymfonyPhpFrameworkProvider.java | 185 +
.../SymfonyPhpModuleCustomizerExtender.java | 217 +
.../php/symfony2/SymfonyPhpModuleExtender.java | 229 +
.../SymfonyPhpModuleIgnoredFilesExtender.java | 78 +
.../modules/php/symfony2/SymfonyVersion.java | 222 +
.../php/symfony2/annotations/BaseParsedLine.java | 1 +
.../extra/Symfony2ExtraAnnotationsProvider.java | 88 -
.../extra/SymfonyExtraAnnotationsProvider.java | 88 +
.../parser/Symfony2ExtraAnnotationLineParser.java | 96 -
.../parser/SymfonyExtraAnnotationLineParser.java | 96 +
.../Symfony2CommonLineAnnotationLineParser.java | 113 -
.../SymfonyCommonLineAnnotationLineParser.java | 114 +
.../Symfony2SecurityAnnotationsProvider.java | 87 -
.../SymfonySecurityAnnotationsProvider.java | 87 +
.../Symfony2SecurityAnnotationLineParser.java | 97 -
.../SymfonySecurityAnnotationLineParser.java | 97 +
.../Symfony2ValidatorsAnnotationsProvider.java | 118 -
.../SymfonyValidatorsAnnotationsProvider.java | 118 +
.../Symfony2ValidatorsAnnotationLineParser.java | 84 -
.../SymfonyValidatorsAnnotationLineParser.java | 84 +
.../php/symfony2/commands/InstallerExecutable.java | 26 +-
.../php/symfony2/commands/Symfony2Command.java | 68 -
.../symfony2/commands/Symfony2CommandSupport.java | 128 -
.../php/symfony2/commands/Symfony2CommandVO.java | 86 -
.../commands/Symfony2CommandsXmlParser.java | 252 -
.../php/symfony2/commands/Symfony2Script.java | 266 -
.../php/symfony2/commands/SymfonyCommand.java | 69 +
.../symfony2/commands/SymfonyCommandSupport.java | 120 +
.../php/symfony2/commands/SymfonyCommandVO.java | 86 +
.../commands/SymfonyCommandsXmlParser.java | 252 +
.../php/symfony2/commands/SymfonyScript.java | 242 +
.../php/symfony2/options/Symfony2Options.java | 145 -
.../symfony2/options/Symfony2OptionsValidator.java | 107 -
.../php/symfony2/options/SymfonyOptions.java | 145 +
.../symfony2/options/SymfonyOptionsValidator.java | 107 +
.../symfony2/preferences/Symfony2Preferences.java | 105 -
.../symfony2/preferences/SymfonyPreferences.java | 107 +
.../php/symfony2/resources/Bundle.properties | 8 +-
.../modules/php/symfony2/resources/layer.xml | 4 +-
.../php/symfony2/ui/actions/CacheClearAction.java | 21 +-
.../php/symfony2/ui/actions/CacheWarmupAction.java | 21 +-
.../php/symfony2/ui/actions/Symfony2Action.java | 76 -
.../actions/Symfony2PhpModuleActionsExtender.java | 77 -
.../ui/actions/Symfony2RunCommandAction.java | 83 -
.../php/symfony2/ui/actions/SymfonyAction.java | 74 +
.../ui/actions/SymfonyGoToActionAction.java | 109 +
.../symfony2/ui/actions/SymfonyGoToViewAction.java | 98 +
.../actions/SymfonyPhpModuleActionsExtender.java | 110 +
.../ui/actions/SymfonyRunCommandAction.java | 82 +
.../php/symfony2/ui/customizer/Bundle.properties | 18 +-
.../ui/customizer/Symfony2CustomizerPanel.form | 131 -
.../ui/customizer/Symfony2CustomizerPanel.java | 264 -
.../ui/customizer/SymfonyCustomizerPanel.form | 131 +
.../ui/customizer/SymfonyCustomizerPanel.java | 289 +
.../php/symfony2/ui/options/Bundle.properties | 25 +-
.../symfony2/ui/options/Symfony2OptionsPanel.form | 198 -
.../symfony2/ui/options/Symfony2OptionsPanel.java | 473 -
.../ui/options/Symfony2OptionsPanelController.java | 190 -
.../symfony2/ui/options/SymfonyOptionsPanel.form | 196 +
.../symfony2/ui/options/SymfonyOptionsPanel.java | 470 +
.../ui/options/SymfonyOptionsPanelController.java | 192 +
.../php/symfony2/ui/wizards/Bundle.properties | 2 +-
.../ui/wizards/NewProjectConfigurationPanel.java | 22 +-
.../modules/php/symfony2/util/SymfonyUtils.java | 238 +
.../extra/parser/CacheLineParserTest.java | 2 +-
.../extra/parser/MethodLineParserTest.java | 2 +-
.../extra/parser/ParamConverterLineParserTest.java | 2 +-
.../extra/parser/RouteLineParserTest.java | 2 +-
.../Symfony2ExtraAnnotationLineParserTest.java | 84 -
.../SymfonyExtraAnnotationLineParserTest.java | 84 +
.../extra/parser/TemplateLineParserTest.java | 2 +-
...Symfony2CommonLineAnnotationLineParserTest.java | 115 -
.../SymfonyCommonLineAnnotationLineParserTest.java | 115 +
.../parser/PreAuthorizeLineParserTest.java | 2 +-
.../security/parser/RunAsLineParserTest.java | 2 +-
...atisfiesParentSecurityPolicyLineParserTest.java | 2 +-
.../security/parser/SecureLineParserTest.java | 2 +-
.../security/parser/SecureParamLineParserTest.java | 2 +-
.../parser/SecureReturnLineParserTest.java | 2 +-
.../Symfony2SecurityAnnotationLineParserTest.java | 89 -
.../SymfonySecurityAnnotationLineParserTest.java | 89 +
.../validators/parser/AllLineParserTest.java | 2 +-
.../validators/parser/BlankLineParserTest.java | 2 +-
.../validators/parser/CallbackLineParserTest.java | 2 +-
.../validators/parser/ChoiceLineParserTest.java | 2 +-
.../parser/CollectionLineParserTest.java | 2 +-
.../validators/parser/CountryLineParserTest.java | 2 +-
.../validators/parser/DateLineParserTest.java | 2 +-
.../validators/parser/DateTimeLineParserTest.java | 2 +-
.../validators/parser/EmailLineParserTest.java | 2 +-
.../validators/parser/FalseLineParserTest.java | 2 +-
.../validators/parser/FileLineParserTest.java | 2 +-
.../validators/parser/ImageLineParserTest.java | 2 +-
.../validators/parser/IpLineParserTest.java | 2 +-
.../validators/parser/LanguageLineParserTest.java | 2 +-
.../validators/parser/LocaleLineParserTest.java | 2 +-
.../validators/parser/MaxLengthLineParserTest.java | 2 +-
.../validators/parser/MaxLineParserTest.java | 2 +-
.../validators/parser/MinLengthLineParserTest.java | 2 +-
.../validators/parser/MinLineParserTest.java | 2 +-
.../validators/parser/NotBlankLineParserTest.java | 2 +-
.../validators/parser/NotNullLineParserTest.java | 2 +-
.../validators/parser/NullLineParserTest.java | 2 +-
.../validators/parser/RegexLineParserTest.java | 2 +-
...Symfony2ValidatorsAnnotationLineParserTest.java | 176 -
.../SymfonyValidatorsAnnotationLineParserTest.java | 176 +
.../validators/parser/TimeLineParserTest.java | 2 +-
.../validators/parser/TrueLineParserTest.java | 2 +-
.../parser/TypeAnnotationLineParserTest.java | 2 +-
.../parser/UniqueEntityLineParserTest.java | 2 +-
.../validators/parser/UrlLineParserTest.java | 2 +-
.../validators/parser/ValidLineParserTest.java | 2 +-
.../commands/Symfony2CommandsXmlParserTest.java | 184 -
.../commands/SymfonyCommandsXmlParserTest.java | 184 +
.../php/symfony2/util/SymfonyUtilsTest.java | 67 +
php.twig/build.xml | 43 +-
php.twig/manifest.mf | 2 +-
php.twig/nbproject/project.properties | 39 +-
php.twig/nbproject/project.xml | 67 +-
.../modules/php/twig/editor/TwigDataObject.java | 4 +-
.../modules/php/twig/editor/TwigEditorKit.java | 4 +-
.../modules/php/twig/editor/TwigSyntax.java | 13 +-
.../editor/completion/TwigCompletionHandler.java | 4 +-
.../embedding/TwigHtmlEmbeddingProvider.java | 4 +-
.../php/twig/editor/format/TwigFormatter.java | 4 +-
.../modules/php/twig/editor/gsf/TwigLanguage.java | 6 +-
.../php/twig/editor/gsf/TwigStructureItem.java | 4 +-
.../php/twig/editor/gsf/TwigStructureScanner.java | 6 +-
.../twig/editor/lexer/TwigBlockColoringLexer.java | 64 +-
.../php/twig/editor/lexer/TwigStateStack.java | 164 -
.../twig/editor/lexer/TwigTopColoringLexer.java | 64 +-
.../php/twig/editor/lexer/TwigTopTokenId.java | 6 +-
.../editor/lexer/TwigVariableColoringLexer.java | 64 +-
.../php/twig/editor/parsing/TwigParser.java | 4 +-
.../php/twig/editor/parsing/TwigParserResult.java | 4 +-
.../modules/php/twig/resources/Bundle.properties | 7 +-
.../modules/php/twig/resources/highlighting.xml | 4 +-
.../netbeans/modules/php/twig/resources/layer.xml | 19 +-
php.twig/tools/TwigBlockColoringLexer.flex | 17 +-
php.twig/tools/TwigTopColoringLexer.flex | 17 +-
php.twig/tools/TwigVariableColoringLexer.flex | 17 +-
php.twig/tools/skeleton.netbeans | 41 -
php.zend/build.xml | 39 +
php.zend/manifest.mf | 2 +-
php.zend/nbproject/project.properties | 39 +-
php.zend/nbproject/project.xml | 50 +-
.../modules/php/zend/ZendPhpFrameworkProvider.java | 8 +-
.../php/zend/editor/ZendEditorExtender.java | 26 +-
.../php/zend/ui/actions/ZendGoToActionAction.java | 3 +-
.../php/zend/ui/options/ZendOptionsPanel.java | 2 +-
php.zend2/build.xml | 39 +
php.zend2/manifest.mf | 2 +-
php.zend2/nbproject/project.properties | 39 +-
php.zend2/nbproject/project.xml | 50 +-
.../php/zend2/editor/Zend2EditorExtender.java | 14 +-
.../zend2/ui/actions/Zend2GoToActionAction.java | 3 +-
print.editor/manifest.mf | 2 +-
print/manifest.mf | 2 +-
print/nbproject/org-netbeans-modules-print.sig | 2 +-
profiler.api/manifest.mf | 2 +-
profiler.api/nbproject/project.xml | 4 +-
.../modules/profiler/api/GestureSubmitter.java | 6 +-
.../modules/profiler/api/JavaPlatform.java | 2 +
.../modules/profiler/api/ProfilerIDESettings.java | 36 +-
.../modules/profiler/api/icons/GeneralIcons.java | 3 +
.../modules/profiler/api/icons/ProfilerIcons.java | 2 +
.../profiler/api/project/AntProjectSupport.java | 124 -
.../api/project/ProfilingSettingsSupport.java | 149 -
.../api/project/ProjectContentsSupport.java | 2 +-
.../api/project/ProjectProfilingSupport.java | 66 +-
.../spi/project/AntProjectSupportProvider.java | 82 -
.../modules/profiler/spi/project/Bundle.properties | 37 +
.../project/ProfilingSettingsSupportProvider.java | 190 -
.../project/ProjectProfilingSupportProvider.java | 86 +-
profiler.attach/build.xml | 39 +
profiler.attach/manifest.mf | 2 +-
profiler.attach/nbproject/project.properties | 37 +
profiler.attach/nbproject/project.xml | 41 +-
.../profiler/attach/dialog/AttachDialog.java | 47 +-
profiler.freeform/manifest.mf | 2 +-
profiler.freeform/nbproject/project.xml | 14 +-
.../modules/profiler/freeform/Bundle.properties | 1 +
.../FreeFormAntProjectSupportProvider.java | 35 +-
.../FreeFormProjectProfilingSupportProvider.java | 37 +-
.../profiler/freeform/FreeFormProjectsSupport.java | 18 +-
profiler.heapwalker/build.xml | 39 +
profiler.heapwalker/manifest.mf | 2 +-
profiler.heapwalker/nbproject/project.properties | 37 +
profiler.heapwalker/nbproject/project.xml | 41 +-
.../profiler/heapwalk/HeapWalkerManager.java | 2 +-
.../profiler/heapwalk/OverviewController.java | 78 +-
.../heapwalk/details/basic/ArrayValueView.java | 21 +-
.../heapwalk/details/basic/StringDecoder.java | 103 +
.../details/basic/StringDetailsProvider.java | 60 +-
.../heapwalk/details/jdk/JmxDetailsProvider.java | 70 +
.../heapwalk/details/jdk/image/ImageBuilder.java | 6 +-
.../details/jdk/image/ImageDetailProvider.java | 6 +-
.../heapwalk/details/jdk/ui/BaseBuilders.java | 10 +-
.../heapwalk/details/jdk/ui/ComponentBuilders.java | 10 +-
.../details/netbeans/JavaDetailsProvider.java | 5 +-
.../details/netbeans/VCSDetailsProvider.java | 74 +
.../heapwalk/details/spi/DetailsUtils.java | 2 +-
.../profiler/heapwalk/model/BrowserUtils.java | 9 -
.../profiler/heapwalk/oql/ui/OQLEditor.java | 55 +-
.../heapwalk/ui/ClassesListControllerUI.java | 9 +-
.../heapwalk/ui/FieldsBrowserControllerUI.java | 3 +-
.../modules/profiler/heapwalk/ui/HeapWalkerUI.java | 96 +-
.../profiler/heapwalk/ui/OQLControllerUI.java | 14 +-
.../heapwalk/ui/ReferencesBrowserControllerUI.java | 3 +-
.../modules/profiler/heapwalker/Bundle.properties | 37 +
profiler.j2ee/manifest.mf | 2 +-
profiler.j2ee/nbproject/project.xml | 14 +-
.../j2ee/J2EEAntProjectSupportProvider.java | 132 +-
.../j2ee/J2EEProfilingSettingsSupportProvider.java | 66 -
.../j2ee/J2EEProjectProfilingSupportProvider.java | 315 +-
.../modules/profiler/j2ee/WebProjectUtils.java | 2 +-
profiler.j2se/manifest.mf | 2 +-
profiler.j2se/nbproject/project.xml | 14 +-
.../j2se/J2SEAntProjectSupportProvider.java | 81 +-
.../j2se/J2SEProjectProfilingSupportProvider.java | 175 +-
.../j2se/JFXProjectProfilingSupportProvider.java | 63 +-
profiler.kit/build.xml | 39 +
profiler.kit/manifest.mf | 2 +-
profiler.kit/nbproject/project.properties | 37 +
profiler.kit/nbproject/project.xml | 39 +
.../modules/profiler/kit/Bundle.properties | 37 +
profiler.nbimpl/manifest.mf | 2 +-
profiler.nbimpl/nbproject/project.xml | 2 +-
.../nbimpl/actions/FileSensitivePerformer.java | 20 +-
.../profiler/nbimpl/actions/ProfilerLauncher.java | 44 +-
.../nbimpl/actions/ProjectSensitivePerformer.java | 15 +-
.../profiler/nbimpl/javac/Bundle.properties | 37 +
.../nbimpl/javac/ClasspathInfoFactory.java | 2 +-
.../profiler/nbimpl/javac/ElementUtilitiesEx.java | 4 +-
.../project/AbstractAntProjectSupportProvider.java | 87 -
.../profiler/nbimpl/project/AntProjectSupport.java | 134 +
.../nbimpl/project/AntProjectSupportProvider.java | 137 +
.../JavaProfilingSettingsSupportProvider.java | 68 -
.../JavaProjectProfilingSupportProvider.java | 128 +-
.../profiler/nbimpl/project/ProjectUtilities.java | 10 +-
.../providers/GlobalProfilerTypeUtilsImpl.java | 6 +-
profiler.nbmodule/manifest.mf | 2 +-
profiler.nbmodule/nbproject/project.xml | 14 +-
.../NbModuleAntProjectSupportProvider.java | 35 +-
.../NbModuleProfilingSettingsSupportProvider.java | 79 -
.../NbModuleProjectProfilingSupportProvider.java | 92 +-
profiler.options/build.xml | 39 +
profiler.options/manifest.mf | 2 +-
profiler.options/nbproject/project.properties | 37 +
profiler.options/nbproject/project.xml | 51 +-
.../options/ui/v2/impl/FiltersOptionsPanel.java | 564 +
.../options/ui/v2/impl/SnapshotsOptionsPanel.java | 31 +
profiler.oql.language/build.xml | 39 +
profiler.oql.language/manifest.mf | 2 +-
profiler.oql.language/nbproject/project.properties | 37 +
profiler.oql.language/nbproject/project.xml | 39 +
.../modules/profiler/oql/language/layer.xml | 39 +
profiler.oql/build.xml | 39 +
profiler.oql/manifest.mf | 2 +-
profiler.oql/nbproject/project.properties | 37 +
profiler.oql/nbproject/project.xml | 51 +-
.../profiler/oql/engine/api/impl/Snapshot.java | 43 +-
.../profiler/oql/engine/api/impl/hat_nashorn.js | 26 +-
.../org/netbeans/modules/profiler/oql/layer.xml | 39 +
.../oql/repository/permgen/resources/CLHisto.oql | 2 +-
.../oql/repository/resources/Bundle.properties | 37 +
.../oql/engine/api/impl/OQLEngineTest.java | 6 +-
profiler.ppoints/build.xml | 39 +
profiler.ppoints/manifest.mf | 2 +-
profiler.ppoints/nbproject/project.properties | 37 +
profiler.ppoints/nbproject/project.xml | 45 +-
.../profiler/ppoints/GlobalProfilingPoint.java | 12 +
.../ppoints/GlobalProfilingPointsProcessor.java | 24 +-
.../modules/profiler/ppoints/ProfilingPoint.java | 107 +-
.../profiler/ppoints/ProfilingPointFactory.java | 7 +-
.../profiler/ppoints/ProfilingPointsManager.java | 31 +-
.../ppoints/ResetResultsProfilingPoint.java | 2 +-
.../TimedTakeSnapshotProfilingPointFactory.java | 3 +-
.../ppoints/TriggeredGlobalProfilingPoint.java | 8 +
.../TriggeredTakeSnapshotProfilingPoint.java | 11 +
...TriggeredTakeSnapshotProfilingPointFactory.java | 5 +-
.../netbeans/modules/profiler/ppoints/Utils.java | 182 +-
.../profiler/ppoints/ui/ProfilingPointsWindow.java | 2 +
.../ppoints/ui/ProfilingPointsWindowUI.java | 326 +-
.../profiler/ppoints/ui/ProjectSelector.java | 199 +
.../profiler/ppoints/ui/TriggerCustomizer.java | 46 +-
.../profiler/ppoints/ui/WizardPanel1UI.java | 103 +-
.../ppoints/ui/resources/loadgenProfilingPoint.xml | 4 -
.../ui/resources/loadgenProfilingPointD.xml | 4 -
.../ui/resources/resetResultsProfilingPoint.xml | 4 -
.../ui/resources/resetResultsProfilingPointD.xml | 4 -
.../ui/resources/stopwatchProfilingPoint.xml | 4 -
.../ui/resources/stopwatchProfilingPointD.xml | 4 -
.../ui/resources/takeSnapshotProfilingPoint.xml | 4 -
.../ui/resources/takeSnapshotProfilingPointD.xml | 4 -
profiler.projectsupport/build.xml | 39 +
profiler.projectsupport/manifest.mf | 2 +-
.../nbproject/project.properties | 37 +
profiler.projectsupport/nbproject/project.xml | 39 +
.../projectsupport/utilities/ProjectUtilities.java | 9 +-
.../utilities/ProjectUtilitiesProviderImpl.java | 4 +-
profiler.snaptracer/manifest.mf | 2 +-
profiler.snaptracer/nbproject/project.xml | 2 +-
.../profiler/snaptracer/impl/PackagesView.java | 226 -
.../profiler/snaptracer/impl/TracerController.java | 12 +-
.../profiler/snaptracer/impl/TracerView.java | 2 +-
.../snaptracer/impl/probes/ProbePresenter.java | 18 +-
.../snaptracer/impl/swing/CategoryList.java | 209 -
.../snaptracer/impl/timeline/ChartPanel.java | 3 +-
.../impl/timeline/RowForegroundDecorator.java | 14 +-
.../snaptracer/impl/timeline/TimelineChart.java | 2 +-
.../impl/timeline/TimelineSelectionManager.java | 15 +-
.../snaptracer/impl/timeline/TimelineSupport.java | 11 +-
.../impl/timeline/XChartSelectionOverlay.java | 88 +-
profiler.utilities/build.xml | 39 +
profiler.utilities/manifest.mf | 2 +-
profiler.utilities/nbproject/project.properties | 37 +
profiler.utilities/nbproject/project.xml | 39 +
profiler/manifest.mf | 2 +-
profiler/nbproject/project.xml | 8 +-
profiler/release/VERSION.txt | 2 +-
.../netbeans/modules/profiler/LoadedSnapshot.java | 10 +-
.../modules/profiler/NetBeansProfiler.java | 12 +-
.../modules/profiler/ProfilingMonitor.java | 55 +-
.../netbeans/modules/profiler/ResultsManager.java | 48 +-
.../modules/profiler/SnapshotInfoPanel.java | 96 +-
.../modules/profiler/SnapshotResultsWindow.java | 197 +-
.../profiler/actions/CompareSnapshotsAction.java | 3 +
.../profiler/actions/LoadSnapshotAction.java | 2 +-
.../profiler/impl/icons/IconsProviderImpl.java | 5 +
.../netbeans/modules/profiler/impl/icons/add.png | Bin 0 -> 404 bytes
.../modules/profiler/impl/icons/deltaValues.png | Bin 556 -> 1485 bytes
.../netbeans/modules/profiler/impl/icons/down.png | Bin 506 -> 451 bytes
.../netbeans/modules/profiler/impl/icons/edit.png | Bin 0 -> 1267 bytes
.../modules/profiler/impl/icons/remove.png | Bin 0 -> 290 bytes
.../modules/profiler/impl/icons/rename.png | Bin 494 -> 628 bytes
.../modules/profiler/impl/icons/sqlQuery.png | Bin 0 -> 1631 bytes
.../modules/profiler/impl/icons/sqlWindow.png | Bin 0 -> 1566 bytes
.../netbeans/modules/profiler/impl/icons/up.png | Bin 479 -> 433 bytes
.../netbeans/modules/profiler/ui/NBHTMLLabel.java | 2 +
.../modules/profiler/v2/ProfilerFeatures.java | 7 +-
.../modules/profiler/v2/ProfilerSession.java | 52 +-
.../modules/profiler/v2/ProfilerSessions.java | 24 +-
.../modules/profiler/v2/ProfilerWindow.java | 85 +-
.../modules/profiler/v2/features/LocksFeature.java | 3 +-
.../profiler/v2/features/MethodsFeature.java | 24 +-
.../profiler/v2/features/MethodsFeatureModes.java | 486 +-
.../profiler/v2/features/MonitorFeature.java | 8 +
.../profiler/v2/features/MonitorFeatureUI.java | 46 +-
.../profiler/v2/features/ObjectsFeature.java | 18 +-
.../profiler/v2/features/ObjectsFeatureModes.java | 262 +-
.../modules/profiler/v2/features/SQLFeature.java | 525 +
.../profiler/v2/features/SQLFeatureModes.java | 314 +
.../modules/profiler/v2/features/SQLFeatureUI.java | 299 +
.../modules/profiler/v2/impl/ClassMethodList.java | 86 +-
.../profiler/v2/impl/ClassMethodSelector.java | 6 +
.../modules/profiler/v2/impl/FeaturesView.java | 13 +-
.../modules/profiler/v2/impl/FilterSelector.java | 324 +
.../modules/profiler/v2/impl/ProjectsSelector.java | 248 +
.../profiler/v2/impl/SnapshotsWindowUI.java | 43 +-
.../modules/profiler/v2/impl/WelcomePanel.java | 4 +-
.../modules/profiler/v2/ui/DropdownButton.java | 100 +-
.../modules/profiler/v2/ui/ProjectSelector.java | 4 +-
progress.ui/build.xml | 39 +
progress.ui/manifest.mf | 2 +-
progress.ui/nbproject/project.properties | 38 +
progress.ui/nbproject/project.xml | 39 +
project.ant.compat8/build.xml | 39 +
project.ant.compat8/manifest.mf | 2 +-
project.ant.compat8/nbproject/project.properties | 37 +
project.ant.compat8/nbproject/project.xml | 39 +
.../modules/project/ant/compat8/Bundle.properties | 37 +
project.ant.ui/manifest.mf | 2 +-
.../org-netbeans-modules-project-ant-ui.sig | 383 +-
.../spi/project/support/ant/ui/Bundle.properties | 37 +
.../spi/project/support/ant/ui/package.html | 16 +-
.../netbeans/modules/project/ant/task/antlib.xml | 39 +
project.ant/manifest.mf | 2 +-
.../nbproject/org-netbeans-modules-project-ant.sig | 658 +-
.../src/org/netbeans/api/project/ant/package.html | 18 +-
.../project/ant/ant-project-libraries-1.xsd | 39 +
.../src/org/netbeans/spi/project/ant/package.html | 16 +-
.../project/support/ant/GlobFileBuiltQuery.java | 31 +-
.../spi/project/support/ant/PropertyUtils.java | 3 +
.../spi/project/support/ant/SourcesHelper.java | 9 +-
.../netbeans/spi/project/support/ant/package.html | 16 +-
.../spi/project/support/ant/PropertyUtilsTest.java | 1 +
.../support/ant/SourcesHelperIssue258004Test.java | 171 +
project.indexingbridge/build.xml | 39 +
project.indexingbridge/manifest.mf | 2 +-
.../nbproject/project.properties | 37 +
project.indexingbridge/nbproject/project.xml | 39 +
.../project/indexingbridge/Bundle.properties | 37 +
.../project/indexingbridge/IndexingBridge.java | 2 +-
project.libraries.ui/arch.xml | 45 +-
project.libraries.ui/build.xml | 39 +
project.libraries.ui/manifest.mf | 2 +-
.../org-netbeans-modules-project-libraries-ui.sig | 30 +-
project.libraries.ui/nbproject/project.properties | 37 +
project.libraries.ui/nbproject/project.xml | 48 +
.../api/project/libraries/LibraryChooserGUI.java | 45 +-
.../libraries/ui/ProxyLibraryImplementation.java | 8 +-
project.libraries/manifest.mf | 2 +-
.../org-netbeans-modules-project-libraries.sig | 126 +-
.../netbeans/api/project/libraries/package.html | 16 +-
.../Library-declaration-1_0SAXBindings.xml | 39 +
.../resources/library-declaration-1_0.dtd | 39 +
project.spi.intern.impl/build.xml | 39 +
project.spi.intern.impl/manifest.mf | 2 +-
.../nbproject/project.properties | 37 +
project.spi.intern.impl/nbproject/project.xml | 39 +
.../project/spi/intern/impl/Bundle.properties | 37 +
project.spi.intern/build.xml | 39 +
project.spi.intern/manifest.mf | 2 +-
project.spi.intern/nbproject/project.properties | 37 +
project.spi.intern/nbproject/project.xml | 39 +
.../modules/project/spi/intern/Bundle.properties | 37 +
projectapi.nb/build.xml | 39 +
projectapi.nb/manifest.mf | 2 +-
projectapi.nb/nbproject/project.properties | 37 +
projectapi.nb/nbproject/project.xml | 39 +
.../modules/projectapi/nb/Bundle.properties | 37 +
projectapi/manifest.mf | 2 +-
.../nbproject/org-netbeans-modules-projectapi.sig | 74 +-
projectapi/nbproject/project.properties | 2 +-
projectapi/nbproject/project.xml | 2 +-
projectapi/src/META-INF/upgrade/ProjectUtils.hint | 39 +
.../org/netbeans/api/project/FileOwnerQuery.java | 17 +-
.../org/netbeans/api/project/ProjectManager.java | 9 +
.../src/org/netbeans/api/project/package.html | 18 +-
.../modules/projectapi/auxiliary-configuration.xsd | 39 +
.../src/org/netbeans/modules/projectapi/layer.xml | 39 +
.../spi/project/doc-files/configurations.html | 39 +
.../src/org/netbeans/spi/project/package.html | 16 +-
projectimport.eclipse.core/manifest.mf | 2 +-
projectimport.eclipse.j2se/build.xml | 39 +
.../nbproject/project.properties | 39 +-
projectimport.eclipse.j2se/nbproject/project.xml | 39 +
.../projectimport/eclipse/j2se/Bundle.properties | 37 +
projectimport.eclipse.web/build.xml | 39 +
.../nbproject/project.properties | 39 +-
projectimport.eclipse.web/nbproject/project.xml | 39 +
.../projectimport/eclipse/web/Bundle.properties | 37 +
projectui.buildmenu/nbproject/project.properties | 2 +-
projectui/nbproject/project.properties | 4 +-
projectui/nbproject/project.xml | 1 +
.../src/org/netbeans/modules/project/ui/Hacks.java | 3 +-
.../modules/project/ui/NewProjectWizard.java | 15 +-
.../netbeans/modules/project/ui/PhysicalView.java | 43 +-
.../modules/project/ui/ProjectUtilities.java | 10 +-
.../modules/project/ui/ProjectsRootNode.java | 176 +-
.../modules/project/ui/TemplatesPanelGUI.java | 3 +-
.../project/ui/actions/ActiveConfigAction.java | 41 +-
.../project/ui/actions/MainProjectAction.java | 3 +-
.../modules/project/ui/actions/NewFile.java | 27 +-
.../modules/project/ui/groups/Bundle.properties | 37 +
.../modules/project/ui/problems/Bundle.properties | 37 +
.../project/ui/resources/ProjectTemplates.html | 75 +-
.../modules/project/ui/resources/import.html | 75 +-
.../modules/project/ui/resources/projects.settings | 39 +
.../modules/project/ui/resources/projects.wstcgrp | 39 +
.../modules/project/ui/resources/projects.wstcref | 39 +
.../project/ui/resources/projectsLogical.settings | 39 +
.../project/ui/resources/projectsLogical.wstcgrp | 39 +
.../project/ui/resources/projectsLogical.wstcref | 39 +
.../modules/project/ui/templatesFolder.html | 75 +-
.../modules/project/ui/zip/Bundle.properties | 37 +
.../netbeans/modules/project/ui/zip/ImportZIP.java | 33 +-
.../modules/project/ui/ProjectsRootNodeTest.java | 6 +-
.../modules/project/ui/TemplatesPanelGUITest.java | 29 +-
projectuiapi.base/apichanges.xml | 15 +
projectuiapi.base/arch.xml | 2 +-
.../org-netbeans-modules-projectuiapi-base.sig | 321 +
projectuiapi.base/nbproject/project.properties | 2 +-
.../ui/convertor/ProjectConvertorFactory.java | 70 +-
.../spi/project/ui/RecommendedTemplates.java | 2 +-
.../spi/project/ui/support/ProjectConvertors.java | 102 +-
.../project/ui/DelegateToOwnerLookupTest.java | 244 +
projectuiapi/arch.xml | 2 +-
.../org-netbeans-modules-projectuiapi.sig | 81 +-
projectuiapi/nbproject/project.properties | 2 +-
projectuiapi/src/META-INF/upgrade/Templates.hint | 39 +
.../modules/project/uiapi/Bundle.properties | 2 +
.../DefaultProjectOperationsImplementation.java | 34 +-
.../modules/project/uiapi/OpenedProjects.wsgrp | 39 +
.../src/org/netbeans/spi/project/ui/package.html | 18 +-
.../netbeans/spi/project/ui/support/package.html | 16 +-
.../spi/project/ui/templates/support/package.html | 22 +-
properties.based.dataobjects/build.xml | 39 +
properties.based.dataobjects/manifest.mf | 2 +-
.../nbproject/project.properties | 37 +
properties.based.dataobjects/nbproject/project.xml | 39 +
.../org/netbeans/modules/propdos/Bundle.properties | 37 +
properties.syntax/manifest.mf | 2 +-
properties/arch.xml | 49 +-
properties/manifest.mf | 2 +-
.../modules/properties/PropertiesOpen.java | 4 +
.../netbeans/modules/properties/TemplateHelp.html | 16 +-
.../org/netbeans/modules/properties/package.html | 16 +-
queries/manifest.mf | 2 +-
queries/nbproject/org-netbeans-modules-queries.sig | 2 +-
queries/src/org/netbeans/api/queries/package.html | 18 +-
queries/src/org/netbeans/spi/queries/package.html | 16 +-
.../org-netbeans-modules-refactoring-api.sig | 21 +-
refactoring.api/nbproject/project.properties | 41 +-
refactoring.api/nbproject/project.xml | 39 +
.../src/META-INF/netbeans/translate.names | 37 +
.../refactoring/api/resources/find-usages.settings | 39 +
.../refactoring/api/resources/find-usages.wstcref | 39 +
.../modules/refactoring/api/resources/layer.xml | 13 +-
.../api/resources/refactoring-preview.settings | 39 +
.../api/resources/refactoring-preview.wstcref | 39 +
.../modules/refactoring/plugins/CopyFile.java | 15 +-
.../modules/refactoring/spi/impl/Bundle.properties | 2 +-
.../refactoring/spi/impl/ParametersPanel.java | 33 +-
.../refactoring/spi/impl/PreviewManager.java | 11 +-
.../modules/refactoring/spi/ui/Bundle.properties | 37 +
.../org-netbeans-modules-refactoring-java.sig | 9 +-
refactoring.java/nbproject/project.properties | 41 +-
refactoring.java/nbproject/project.xml | 43 +-
.../modules/refactoring/java/RefactoringUtils.java | 20 +-
.../modules/refactoring/java/WhereUsedElement.java | 2 +-
.../java/api/InvertBooleanRefactoring.java | 9 +-
.../modules/refactoring/java/api/MemberInfo.java | 3 +
.../ReplaceConstructorWithFactoryRefactoring.java | 9 +-
.../refactoring/java/callhierarchy/Call.java | 4 +-
.../java/callhierarchy/CallHierarchyTasks.java | 9 +-
.../callhierarchy/CallHierarchyTopComponent.form | 16 +-
.../callhierarchy/CallHierarchyTopComponent.java | 8 +-
.../java/callhierarchy/CallOccurrence.java | 6 +-
.../refactoring/java/plugins/Bundle.properties | 1 -
.../java/plugins/ChangeParametersPlugin.java | 12 +-
.../java/plugins/ChangeParamsTransformer.java | 61 +-
.../java/plugins/CopyClassesRefactoringPlugin.java | 2 +-
.../plugins/EncapsulateFieldRefactoringPlugin.java | 32 +-
.../java/plugins/EncapsulateFieldsPlugin.java | 3 +-
.../ExtractSuperclassRefactoringPlugin.java | 124 +-
.../java/plugins/FindSubtypesVisitor.java | 2 +-
.../java/plugins/FindUsagesVisitor.java | 2 +-
.../java/plugins/InlineMethodTransformer.java | 36 +-
.../java/plugins/InlineRefactoringPlugin.java | 11 +-
.../java/plugins/InnerToOuterTransformer.java | 41 +-
.../java/plugins/InstantRefactoringPerformer.java | 6 +-
.../IntroduceLocalExtensionTransformer.java | 53 +-
.../java/plugins/IntroduceParameterPlugin.java | 46 +-
.../plugins/InvertBooleanRefactoringPlugin.java | 11 +-
.../refactoring/java/plugins/JavaPluginUtils.java | 6 +
.../java/plugins/JavaWhereUsedQueryPlugin.java | 214 +-
.../java/plugins/MoveClassTransformer.java | 2 +-
.../java/plugins/MoveFileRefactoringPlugin.java | 13 +-
.../java/plugins/MoveMembersTransformer.java | 48 +-
.../refactoring/java/plugins/MoveTransformer.java | 2 +-
.../java/plugins/OperatorPrecedence.java | 2 +-
.../java/plugins/PullUpTransformer.java | 4 +-
.../java/plugins/PushDownTransformer.java | 15 +-
.../plugins/RenamePropertyRefactoringPlugin.java | 92 +-
.../java/plugins/RenameRefactoringPlugin.java | 8 +-
.../java/plugins/RenameTransformer.java | 7 +-
.../ReplaceConstructorWithBuilderPlugin.java | 26 +-
.../ReplaceConstructorWithFactoryPlugin.java | 18 +-
.../refactoring/java/plugins/VarUsageVisitor.java | 5 +-
.../refactoring/java/resources/mf-layer.xml | 4 +-
.../refactoring/java/ui/ChangeParametersPanel.form | 11 +-
.../refactoring/java/ui/ChangeParametersPanel.java | 58 +-
.../refactoring/java/ui/ChangeParametersUI.java | 2 +-
.../refactoring/java/ui/ContextAnalyzer.java | 2 +-
.../refactoring/java/ui/EncapsulateFieldPanel.java | 33 +-
.../refactoring/java/ui/EncapsulateFieldUI.java | 147 +-
.../refactoring/java/ui/InlineRefactoringUI.java | 11 +-
.../java/ui/IntroduceParameterPanel.java | 25 +-
.../refactoring/java/ui/InvertBooleanAction.java | 12 +-
.../java/ui/InvertBooleanRefactoringPanel.java | 9 +-
.../java/ui/InvertBooleanRefactoringUI.java | 12 +-
.../java/ui/JavaRefactoringActionsProvider.java | 23 +-
.../refactoring/java/ui/JavaRenameProperties.java | 9 +
.../refactoring/java/ui/MoveMembersPanel.java | 40 +-
.../java/ui/RefactoringActionsProvider.java | 11 +-
.../ui/ReplaceConstructorWithBuilderAction.java | 4 +-
.../java/ui/ReplaceConstructorWithBuilderUI.java | 2 +-
.../ui/ReplaceConstructorWithFactoryAction.java | 12 +-
.../ui/ReplaceConstructorWithFactoryPanel.java | 9 +-
.../java/ui/ReplaceConstructorWithFactoryUI.java | 11 +-
.../modules/refactoring/java/ui/UIUtilities.java | 14 +
.../refactoring/java/ui/WhereUsedPanelClass.form | 4 +-
.../refactoring/java/ui/WhereUsedPanelClass.java | 2 +-
.../refactoring/java/ui/WhereUsedPanelMethod.form | 4 +-
.../refactoring/java/ui/WhereUsedPanelMethod.java | 2 +-
.../refactoring/java/ui/WhereUsedPanelPackage.form | 4 +-
.../refactoring/java/ui/WhereUsedPanelPackage.java | 2 +-
.../java/ui/WhereUsedPanelVariable.form | 4 +-
.../java/ui/WhereUsedPanelVariable.java | 2 +-
.../refactoring/java/ui/WhereUsedQueryUI.java | 3 +-
.../RefactoringTest/nbproject/build-impl.xml | 2 +-
.../refactoring/ConvertAnonymousToMemberTest.java | 126 -
.../test/refactoring/EncapsulateFieldTest.java | 42 -
.../operators/EncapsulateFieldOperator.java | 40 -
.../data/SimpleJ2SEApp/nbproject/build-impl.xml | 2 +-
.../SimpleJ2SEAppChild/nbproject/build-impl.xml | 2 +-
.../java/test/ChangeParametersTest.java | 86 +
.../refactoring/java/test/CopyClassTest.java | 9 +-
.../refactoring/java/test/FindUsagesPerfTest.java | 3 +-
.../modules/refactoring/java/test/InlineTest.java | 56 +-
.../refactoring/java/test/InnerToOutterTest.java | 53 +-
.../java/test/IntroduceLocalExtensionTest.java | 119 +-
.../java/test/IntroduceParameterTest.java | 39 +
.../modules/refactoring/java/test/MoveBase.java | 287 +
.../refactoring/java/test/MoveBaseTest.java | 287 -
.../refactoring/java/test/MoveClassTest.java | 2 +-
.../refactoring/java/test/MoveFieldTest.java | 2 +-
.../refactoring/java/test/MoveJavaFileTest.java | 2 +-
.../refactoring/java/test/MoveMethodTest.java | 2 +-
.../modules/refactoring/java/test/RefTestBase.java | 9 +-
.../refactoring/java/test/RefactoringTestBase.java | 9 +-
.../modules/refactoring/java/test/RenameTest.java | 27 +
.../test/ReplaceConstructorWithBuilderTest.java | 9 +-
.../test/ReplaceConstructorWithFactoryTest.java | 9 +-
remotefs.versioning.api/build.xml | 39 +
.../nbproject/project.properties | 39 +-
remotefs.versioning.api/nbproject/project.xml | 39 +
.../remotefs/versioning/api/Bundle.properties | 39 +-
.../modules/remotefs/versioning/api/Scrambler.java | 12 +-
.../versioning/api/VCSFileProxySupport.java | 26 +-
remotefs.versioning/build.xml | 39 +
remotefs.versioning/nbproject/project.properties | 39 +-
remotefs.versioning/nbproject/project.xml | 59 +-
.../modules/remotefs/versioning/Bundle.properties | 37 +
.../RemoteFileSystemConnectionManagerImpl.java | 178 +-
.../versioning/impl/RemoteVcsSupportImpl.java | 12 +-
.../spi/FilesystemInterceptorProviderImpl.java | 6 +-
.../remotefs/versioning/spi/RemoteVCSTCKTest.java | 14 +-
sampler/build.xml | 39 +
sampler/manifest.mf | 2 +-
sampler/nbproject/org-netbeans-modules-sampler.sig | 2 +-
sampler/nbproject/project.properties | 37 +
sampler/nbproject/project.xml | 39 +
.../org/netbeans/modules/sampler/Bundle.properties | 37 +
schema2beans/manifest.mf | 2 +-
.../schema2beansdev/beangraph/beangraph.xsd | 39 +
.../modules/schema2beansdev/metadd/metadd.dtd | 39 +
.../netbeans/modules/schema2beansdev/s2bconfig.mdd | 39 +
.../netbeans/modules/schema2beansdev/s2bconfig.xsd | 39 +
.../netbeans/modules/schema2beansdev/xmlschema.xsd | 41 +-
selenium2.java/build.xml | 39 +
selenium2.java/manifest.mf | 2 +-
selenium2.java/nbproject/project.properties | 37 +
selenium2.java/nbproject/project.xml | 39 +
.../modules/selenium2/java/Bundle.properties | 37 +
.../modules/selenium2/java/SeleneseITJava.html | 39 +-
selenium2.maven/build.xml | 39 +
selenium2.maven/manifest.mf | 2 +-
selenium2.maven/nbproject/project.properties | 37 +
selenium2.maven/nbproject/project.xml | 39 +
.../modules/selenium2/maven/Bundle.properties | 37 +
selenium2.php/build.xml | 39 +
selenium2.php/manifest.mf | 2 +-
selenium2.php/nbproject/project.properties | 37 +
selenium2.php/nbproject/project.xml | 39 +
.../modules/selenium2/php/Bundle.properties | 37 +
.../modules/selenium2/php/SeleneseTestPHP.html | 39 +-
selenium2.server/build.xml | 39 +
selenium2.server/manifest.mf | 2 +-
selenium2.server/nbproject/project.properties | 37 +
selenium2.server/nbproject/project.xml | 39 +
.../modules/selenium2/server/Bundle.properties | 37 +
selenium2.webclient.mocha/build.xml | 39 +
selenium2.webclient.mocha/manifest.mf | 2 +-
.../nbproject/project.properties | 37 +
selenium2.webclient.mocha/nbproject/project.xml | 49 +-
.../release/mocha/netbeans-reporter.js | 41 +
.../selenium2/webclient/mocha/MochaRunner.java | 2 +-
.../preferences/MochaPreferencesValidator.java | 2 +-
.../mocha/wizard/SeleneseMochaTestWebclient.html | 39 +-
selenium2.webclient.protractor/build.xml | 39 +
selenium2.webclient.protractor/manifest.mf | 2 +-
.../nbproject/project.properties | 37 +
.../nbproject/project.xml | 49 +-
.../protractor/jasmine-netbeans-reporter.js | 40 +
.../webclient/protractor/Bundle.properties | 37 +
.../webclient/protractor/ProtractorRunner.java | 2 +-
.../ProtractorPreferencesValidator.java | 2 +-
.../wizard/SeleneseJasmineTestWebclient.html | 39 +-
selenium2.webclient/build.xml | 39 +
selenium2.webclient/manifest.mf | 2 +-
selenium2.webclient/nbproject/project.properties | 37 +
selenium2.webclient/nbproject/project.xml | 39 +
.../modules/selenium2/webclient/Bundle.properties | 37 +
.../selenium2/webclient/ui/Bundle.properties | 37 +
.../webclient/ui/customizer/Bundle.properties | 46 +-
selenium2/build.xml | 39 +
selenium2/manifest.mf | 2 +-
selenium2/nbproject/project.properties | 37 +
selenium2/nbproject/project.xml | 39 +
.../netbeans/modules/selenium2/Bundle.properties | 37 +
.../src/org/netbeans/modules/selenium2/layer.xml | 39 +
sendopts/apichanges.xml | 8 +-
sendopts/arch.xml | 30 +-
sendopts/manifest.mf | 2 +-
.../nbproject/org-netbeans-modules-sendopts.sig | 2 +-
.../src/org/netbeans/api/sendopts/package.html | 39 +
.../src/org/netbeans/spi/sendopts/package.html | 43 +-
server/arch.xml | 51 +-
server/manifest.mf | 2 +-
server/nbproject/org-netbeans-modules-server.sig | 4 +-
.../netbeans/modules/server/resources/layer.xml | 4 +-
.../external/binaries-list | 0
servletapi/manifest.mf | 2 +-
.../external/binaries-list | 0
servletjspapi/nbproject/project.properties | 2 +-
settings/apichanges.xml | 4 +-
.../modules/settings/examples/Bundle.properties | 37 +
.../examples/resources/JavaCompilerSetting.xml | 39 +
.../settings/examples/resources/ProxySettings.xml | 39 +
settings/manifest.mf | 2 +-
.../nbproject/org-netbeans-modules-settings.sig | 2 +-
.../src/org/netbeans/spi/settings/package.html | 77 +-
simple.project.templates/arch.xml | 45 +-
simple.project.templates/build.xml | 39 +
simple.project.templates/manifest.mf | 2 +-
.../nbproject/project.properties | 37 +
simple.project.templates/nbproject/project.xml | 39 +
.../modules/projecttemplates/Bundle.properties | 37 +
slf4j.dummy/build.xml | 12 -
slf4j.dummy/manifest.mf | 1 -
slf4j.dummy/nbproject/project.xml | 15 -
spellchecker.apimodule/arch.xml | 45 +-
spellchecker.apimodule/manifest.mf | 2 +-
spellchecker.apimodule/nbproject/project.xml | 39 +
spellchecker.bindings.htmlxml/manifest.mf | 2 +-
.../nbproject/project.xml | 39 +
.../bindings/htmlxml/AbstractTokenList.java | 18 +-
.../bindings/htmlxml/HtmlXmlTokenListProvider.java | 11 -
spellchecker.bindings.java/manifest.mf | 2 +-
spellchecker.bindings.java/nbproject/project.xml | 39 +
spellchecker.bindings.php/build.xml | 46 +
spellchecker.bindings.php/manifest.mf | 6 +
.../nbproject/project.properties | 42 +
spellchecker.bindings.php/nbproject/project.xml | 154 +
.../spellchecker/bindings/php/PHPTokenList.java | 476 +
.../bindings/php/PHPTokenListProvider.java | 65 +
.../bindings/php/resources/Bundle.properties | 46 +
.../spellchecker/bindings/php/resources/layer.xml | 59 +
.../bindings/php/PHPTokenListTest.java | 269 +
spellchecker.bindings.properties/manifest.mf | 2 +-
.../nbproject/project.xml | 39 +
.../bindings/properties/AbstractTokenList.java | 18 +-
.../external/binaries-list | 0
spellchecker.dictionary_en/manifest.mf | 2 +-
.../nbproject/project.properties | 37 +
spellchecker.dictionary_en/nbproject/project.xml | 39 +
.../spellchecker/dictionary_en/Bundle.properties | 37 +
spellchecker.kit/manifest.mf | 2 +-
spellchecker.kit/nbproject/project.xml | 39 +
spellchecker/nbproject/project.properties | 2 +-
spellchecker/nbproject/project.xml | 39 +
.../modules/spellchecker/ComponentPeer.java | 5 +
.../options/DictionaryInstallerPanel.java | 1 -
.../options/SpellcheckerOptionsPanel.form | 82 +-
.../options/SpellcheckerOptionsPanel.java | 65 +-
spi.actions/build.xml | 39 +
spi.actions/manifest.mf | 2 +-
spi.actions/nbproject/project.properties | 37 +
spi.actions/nbproject/project.xml | 39 +
.../src/org/netbeans/spi/actions/Bundle.properties | 37 +
spi.debugger.jpda.ui/manifest.mf | 2 +-
spi.debugger.ui/apichanges.xml | 20 +
spi.debugger.ui/manifest.mf | 2 +-
.../nbproject/org-netbeans-spi-debugger-ui.sig | 87 +-
spi.debugger.ui/nbproject/project.properties | 2 +-
spi.debugger.ui/nbproject/project.xml | 17 +
.../org.netbeans.api.debugger.Properties$Reader | 1 -
.../modules/debugger/resources/Bundle.properties | 1 +
.../debugger/resources/DebuggerExecutor.settings | 39 +
.../debugger/resources/DebuggerWindow.settings | 39 +
.../resources/DefaultDebuggerType.settings | 39 +
.../modules/debugger/resources/WatchPin.xml | 55 +
.../modules/debugger/resources/actions/Comment.png | Bin 0 -> 1203 bytes
.../resources/components/breakpoints.settings | 39 +
.../resources/components/callstack.settings | 39 +
.../resources/components/debugging.settings | 39 +
.../resources/components/evaluator.settings | 39 +
.../debugger/resources/components/locals.settings | 39 +
.../debugger/resources/components/results.settings | 39 +
.../resources/components/sessions.settings | 39 +
.../debugger/resources/components/sources.settings | 39 +
.../debugger/resources/components/threads.settings | 39 +
.../debugger/resources/components/watches.settings | 39 +
.../debugger/resources/groups/debugger.wsgrp | 39 +
.../resources/groups/debugger/breakpoints.wstcgrp | 39 +
.../resources/groups/debugger/callstack.wstcgrp | 39 +
.../resources/groups/debugger/evaluator.wstcgrp | 39 +
.../resources/groups/debugger/locals.wstcgrp | 39 +
.../resources/groups/debugger/results.wstcgrp | 39 +
.../resources/groups/debugger/sessions.wstcgrp | 39 +
.../resources/groups/debugger/sources.wstcgrp | 39 +
.../resources/groups/debugger/threads.wstcgrp | 39 +
.../resources/groups/debugger/watches.wstcgrp | 39 +
.../modules/debugger/resources/mf-layer.xml | 1 +
.../resources/modes/evaluator/evaluator.wstcref | 39 +
.../resources/modes/explorer/debugging.wstcref | 39 +
.../resources/modes/output/breakpoints.wstcref | 39 +
.../resources/modes/output/callstack.wstcref | 39 +
.../resources/modes/output/console.wstcref | 39 +
.../debugger/resources/modes/output/locals.wstcref | 39 +
.../resources/modes/output/results.wstcref | 39 +
.../resources/modes/output/sessions.wstcref | 39 +
.../resources/modes/output/sources.wstcref | 39 +
.../resources/modes/output/threads.wstcref | 39 +
.../resources/modes/output/watches.wstcref | 39 +
.../resources/threadsView/thread_zombie_16.png | Bin 0 -> 912 bytes
.../modules/debugger/ui/PersistenceManager.java | 16 +-
.../netbeans/modules/debugger/ui/WatchPanel.java | 11 +-
.../modules/debugger/ui/WatchesReader.java | 82 +-
.../ui/actions/DebugMainProjectAction.java | 137 +-
.../modules/debugger/ui/actions/package.html | 75 +-
.../ui/annotations/DebuggerAnnotation.java | 132 +
.../ui/annotations/WatchAnnotationProvider.java | 1029 +
.../modules/debugger/ui/models/Bundle.properties | 1 +
.../debugger/ui/models/ToolTipExpansionFilter.java | 82 +
.../debugger/ui/models/ToolTipNodeModelFilter.java | 138 +
.../debugger/ui/models/ToolTipTreeModelFilter.java | 98 +
.../debugger/ui/models/WatchesActionsProvider.java | 45 +
.../debugger/ui/models/WatchesTreeModel.java | 63 +-
.../modules/debugger/ui/views/ToolTipView.java | 336 +
.../ui/views/debugging/DebuggingViewComponent.java | 6 +-
.../ui/views/debugging/FiltersDescriptor.java | 2 +-
.../modules/debugger/ui/views/package.html | 75 +-
.../debugger/ui/AbstractExpandToolTipAction.java | 144 +
.../spi/debugger/ui/EditorContextDispatcher.java | 5 -
.../org/netbeans/spi/debugger/ui/EditorPin.java | 190 +
.../spi/debugger/ui/PinWatchUISupport.java | 433 +
.../org/netbeans/spi/debugger/ui/ToolTipUI.java | 214 +
.../org/netbeans/spi/debugger/ui/ViewFactory.java | 17 +
.../src/org/netbeans/spi/debugger/ui/package.html | 64 +-
spi.debugger.ui/sub.locale.xml | 41 +-
.../test/apps/src/DebuggerTestApplication.java | 1 -
spi.editor.hints.projects/arch.xml | 45 +-
spi.editor.hints.projects/build.xml | 39 +
.../nbproject/project.properties | 39 +-
spi.editor.hints.projects/nbproject/project.xml | 39 +
.../editor/hints/projects/Bundle.properties | 37 +
.../modules/editor/hints/projects/layer.xml | 39 +
.../hints/projects/settings/Bundle.properties | 37 +
.../spi/editor/hints/projects/Bundle.properties | 6 +-
.../hints/projects/support/Bundle.properties | 15 +-
.../nbproject/org-netbeans-spi-editor-hints.sig | 16 +-
spi.editor.hints/nbproject/project.properties | 2 +-
.../modules/editor/hints/AnnotationHolder.java | 9 +
.../org/netbeans/modules/editor/hints/HintsUI.java | 24 +-
.../src/org/netbeans/spi/editor/hints/package.html | 11 +-
spi.java.hints/apichanges.xml | 16 +
spi.java.hints/arch.xml | 45 +-
spi.java.hints/build.xml | 39 +
.../nbproject/org-netbeans-spi-java-hints.sig | 13 +-
spi.java.hints/nbproject/project.properties | 39 +-
spi.java.hints/nbproject/project.xml | 39 +
.../java/hints/jackpot/spi/PatternConvertor.java | 9 +-
.../jackpot/spi/ProjectDependencyUpgrader.java | 9 +-
.../hints/providers/code/CodeHintProviderImpl.java | 5 +
.../java/hints/providers/spi/HintMetadata.java | 24 +-
.../modules/java/hints/spiimpl/Bundle.properties | 37 +
.../modules/java/hints/spiimpl/Utilities.java | 19 +-
.../java/hints/spiimpl/hints/HintsInvoker.java | 17 +-
.../ipi/upgrade/ProjectDependencyUpgrader.java | 9 +-
.../java/hints/spiimpl/processor/Bundle.properties | 37 +
.../org/netbeans/spi/java/hints/Bundle.properties | 37 +
.../spi/java/hints/ErrorDescriptionFactory.java | 23 +-
.../src/org/netbeans/spi/java/hints/Hint.java | 8 +
.../netbeans/spi/java/hints/JavaFixUtilities.java | 23 +-
spi.navigator/arch.xml | 22 +-
spi.navigator/manifest.mf | 2 +-
.../nbproject/org-netbeans-spi-navigator.sig | 2 +-
.../navigator/resources/navigatorTC.wstcgrp | 39 +
.../navigator/resources/navigatorTC.wstcref | 39 +
.../modules/navigator/resources/navigatorTC.xml | 41 +-
spi.palette/arch.xml | 6 +-
spi.palette/manifest.mf | 2 +-
spi.palette/nbproject/org-netbeans-spi-palette.sig | 2 +-
.../palette/resources/CommonPalette.settings | 39 +
.../palette/resources/CommonPalette.wstcgrp | 39 +
.../palette/resources/CommonPalette.wstcref | 39 +
.../modules/palette/resources/commonpalette.wsgrp | 39 +
spi.quicksearch/build.xml | 39 +
spi.quicksearch/manifest.mf | 2 +-
.../nbproject/org-netbeans-spi-quicksearch.sig | 2 +-
spi.quicksearch/nbproject/project.properties | 37 +
spi.quicksearch/nbproject/project.xml | 39 +
.../org/netbeans/spi/quicksearch/Bundle.properties | 37 +
spi.tasklist/arch.xml | 4 +-
spi.tasklist/build.xml | 39 +
.../nbproject/org-netbeans-spi-tasklist.sig | 4 +-
spi.tasklist/nbproject/project.properties | 39 +-
spi.tasklist/nbproject/project.xml | 39 +
.../modules/tasklist/trampoline/Bundle.properties | 37 +
.../org/netbeans/spi/tasklist/Bundle.properties | 37 +
.../src/org/netbeans/spi/tasklist/layer.xml | 45 +-
.../src/org/netbeans/spi/tasklist/package.html | 18 +-
spi.viewmodel/manifest.mf | 2 +-
.../nbproject/org-netbeans-spi-viewmodel.sig | 19 +-
.../modules/viewmodel/DelegatingCellEditor.java | 9 +-
.../modules/viewmodel/DelegatingCellRenderer.java | 7 +-
.../netbeans/modules/viewmodel/OutlineTable.java | 16 +-
.../netbeans/modules/viewmodel/TreeModelRoot.java | 53 +-
.../src/org/netbeans/spi/viewmodel/package.html | 64 +-
spring.beans/nbproject/project.properties | 2 +-
.../spring/beans/catalog/SpringCatalog.java | 12 +-
.../beans/completion/completors/Bundle.properties | 39 +-
.../modules/spring/beans/jumpto/Bundle.properties | 37 +
.../beans/loader/SpringXMLConfigDataNode.java | 12 +-
.../spring/beans/resources/newSpringXMLConfig.html | 16 +-
.../wizards/NewSpringXMLConfigWizardIterator.java | 12 +-
.../wizards/SpringXMLConfigNamespacesVisual.java | 12 +-
spring.webmvc/manifest.mf | 2 +-
.../spring/webmvc/SpringConfigPanelVisual.java | 12 +-
.../spring/webmvc/SpringWebFrameworkProvider.java | 12 +-
.../spring/webmvc/SpringWebModuleExtender.java | 12 +-
.../modules/spring/webmvc/editor/Bundle.properties | 37 +
.../webmvc/resources/abstractController.html | 16 +-
.../webmvc/resources/simpleFormController.html | 16 +-
subversion.remote/build.xml | 39 +
subversion.remote/nbproject/project.properties | 39 +-
subversion.remote/nbproject/project.xml | 39 +
.../modules/subversion/remote/Annotator.java | 43 +-
.../modules/subversion/remote/Bundle.properties | 37 +
.../modules/subversion/remote/HistoryProvider.java | 1 +
.../modules/subversion/remote/SubversionVCS.java | 8 +-
.../remote/client/SvnClientExceptionHandler.java | 4 +
.../modules/subversion/remote/client/package.html | 39 +
.../subversion/remote/config/Bundle.properties | 37 +
.../subversion/remote/options/Bundle.properties | 39 +-
.../remote/resources/svn_remote_wstcref.xml | 39 +
.../remote/resources/svnremoteversioning.xml | 39 +
.../remote/ui/actions/ContextAction.java | 5 +-
.../subversion/remote/ui/actions/package.html | 41 +-
.../subversion/remote/ui/blame/AnnotationBar.java | 12 +
.../subversion/remote/ui/blame/BlameAction.java | 1 +
.../subversion/remote/ui/browser/Bundle.properties | 41 +-
.../subversion/remote/ui/commit/CommitAction.java | 2 +
.../remote/ui/commit/ConflictResolvedAction.java | 1 +
.../subversion/remote/ui/commit/package.html | 39 +
.../remote/ui/copy/CreateCopyAction.java | 4 +
.../subversion/remote/ui/copy/MergeAction.java | 4 +
.../subversion/remote/ui/copy/SwitchToAction.java | 4 +
.../subversion/remote/ui/diff/MultiDiffPanel.java | 1 +
.../remote/ui/history/SearchCriteriaPanel.java | 6 +-
.../remote/ui/properties/SvnProperties.java | 3 +
.../ui/status/SvnVersioningTopComponent.java | 14 +-
.../subversion/remote/ui/status/package.html | 39 +
.../ui/update/RevertModificationsAction.java | 4 +
.../subversion/remote/ui/update/UpdateAction.java | 5 +
.../remote/ui/update/UpdateToAction.java | 4 +
.../ui/wizards/checkoutstep/Bundle.properties | 41 +-
.../remote/ui/wizards/importstep/Bundle.properties | 37 +
.../ui/wizards/repositorystep/Bundle.properties | 39 +-
.../ui/wizards/urlpatternstep/Bundle.properties | 37 +
.../subversion/remote/util/Bundle.properties | 37 +
.../modules/subversion/remote/util/Context.java | 12 +-
.../subversion/remote/InterceptorCopyDOTest.java | 8 +-
.../subversion/remote/InterceptorCopyFOTest.java | 2 +-
.../subversion/remote/InterceptorDeleteTest.java | 2 +-
.../subversion/remote/InterceptorMoveDOTest.java | 10 +-
.../subversion/remote/InterceptorMoveFOTest.java | 10 +-
.../subversion/remote/InterceptorRenameDOTest.java | 4 +-
.../subversion/remote/InterceptorRenameFOTest.java | 4 +-
.../remote/RemoteVersioningTestBase.java | 1 +
subversion/build.xml | 41 +-
subversion/nbproject/project.properties | 39 +-
subversion/nbproject/project.xml | 39 +
.../modules/subversion/SvnModuleConfig.java | 10 +
.../subversion/client/SvnClientFactory.java | 5 +-
.../modules/subversion/client/package.html | 39 +
.../modules/subversion/config/Bundle.properties | 37 +
.../modules/subversion/config/Scrambler.java | 16 +-
.../modules/subversion/options/Bundle.properties | 39 +-
.../modules/subversion/resources/svn_wstcref.xml | 39 +
.../modules/subversion/resources/svnversioning.xml | 39 +
.../modules/subversion/ui/actions/package.html | 41 +-
.../modules/subversion/ui/blame/AnnotationBar.java | 11 +-
.../subversion/ui/browser/Bundle.properties | 41 +-
.../modules/subversion/ui/commit/package.html | 39 +
.../modules/subversion/ui/diff/DiffAction.java | 6 +-
.../modules/subversion/ui/diff/DiffToAction.java | 4 +-
.../subversion/ui/history/Bundle.properties | 2 +-
.../modules/subversion/ui/status/package.html | 39 +
.../subversion/ui/update/UpdateResultNode.java | 8 +-
.../ui/wizards/checkoutstep/Bundle.properties | 41 +-
.../ui/wizards/importstep/Bundle.properties | 37 +
.../ui/wizards/repositorystep/Bundle.properties | 39 +-
.../ui/wizards/urlpatternstep/Bundle.properties | 37 +
.../modules/subversion/util/Bundle.properties | 37 +
.../modules/subversion/AbstractSvnTestCase.java | 13 +-
.../subversion/client/AbstractCommandTestCase.java | 5 +-
.../subversion/client/SvnKitClientTest.java | 62 +-
.../subversion/client/commands/AddTestHidden.java | 4 +-
.../client/commands/CheckoutTestHidden.java | 4 +-
.../client/commands/RelocateTestHidden.java | 2 +-
.../client/commands/StatusTestHidden.java | 3 +-
.../client/commands/TreeConflictsTestHidden.java | 10 +-
swing.customizerlayout/arch.xml | 45 +-
swing.customizerlayout/build.xml | 39 +
swing.customizerlayout/manifest.mf | 2 +-
.../nbproject/project.properties | 37 +
swing.customizerlayout/nbproject/project.xml | 39 +
.../org/netbeans/swing/layouts/Bundle.properties | 37 +
swing.validation/arch.xml | 45 +-
swing.validation/build.xml | 39 +
.../external/binaries-list | 0
swing.validation/manifest.mf | 2 +-
swing.validation/nbproject/project.properties | 37 +
swing.validation/nbproject/project.xml | 39 +
.../modules/swing/validation/Bundle.properties | 37 +
target.iterator/build.xml | 39 +
target.iterator/manifest.mf | 2 +-
target.iterator/nbproject/project.properties | 37 +
target.iterator/nbproject/project.xml | 39 +
.../modules/target/iterator/Bundle.properties | 37 +
tasklist.kit/build.xml | 39 +
tasklist.kit/manifest.mf | 2 +-
tasklist.kit/nbproject/project.properties | 37 +
tasklist.kit/nbproject/project.xml | 39 +
.../modules/tasklist/kit/Bundle.properties | 37 +
tasklist.projectint/build.xml | 39 +
tasklist.projectint/manifest.mf | 2 +-
tasklist.projectint/nbproject/project.properties | 37 +
tasklist.projectint/nbproject/project.xml | 39 +
.../modules/tasklist/projectint/Bundle.properties | 37 +
.../netbeans/modules/tasklist/projectint/layer.xml | 39 +
tasklist.todo/build.xml | 39 +
tasklist.todo/nbproject/project.properties | 41 +-
tasklist.todo/nbproject/project.xml | 39 +
.../modules/tasklist/todo/Bundle.properties | 37 +
.../org/netbeans/modules/tasklist/todo/layer.xml | 45 +-
.../tasklist/todo/settings/Bundle.properties | 37 +
tasklist.ui/build.xml | 39 +
tasklist.ui/nbproject/project.properties | 39 +-
tasklist.ui/nbproject/project.xml | 39 +
.../modules/tasklist/impl/Bundle.properties | 37 +
.../netbeans/modules/tasklist/ui/Bundle.properties | 37 +
.../src/org/netbeans/modules/tasklist/ui/layer.xml | 39 +
.../tasklist/ui/resources/Bundle.properties | 37 +
.../modules/tasklist/ui/resources/TaskList.wsgrp | 39 +
.../ui/resources/TaskListTopComponent.wstcgrp | 39 +
.../ui/resources/TaskListTopComponentSettings.xml | 39 +
.../ui/resources/TaskListTopComponentWstcref.xml | 39 +
team.commons/build.xml | 39 +
team.commons/manifest.mf | 2 +-
team.commons/nbproject/project.properties | 39 +-
team.commons/nbproject/project.xml | 39 +
.../bugtracking/commons/AttachmentsPanel.java | 27 +-
.../commons/CollapsibleSectionPanel.java | 37 +-
.../modules/bugtracking/commons/LinkButton.java | 80 +-
.../modules/team/commons/Bundle.properties | 37 +
.../org/netbeans/modules/team/commons/layer.xml | 39 +
.../team/commons/treelist/Bundle.properties | 37 +
team.ide/build.xml | 39 +
team.ide/manifest.mf | 2 +-
team.ide/nbproject/project.properties | 37 +
team.ide/nbproject/project.xml | 39 +
.../netbeans/modules/team/ide/IDEServicesImpl.java | 38 +-
templates/manifest.mf | 2 +-
.../modules/templates/actions/TemplatesAction.java | 2 +-
.../modules/templates/resources/templatesFile.html | 75 +-
.../templates/resources/templatesFolder.html | 75 +-
templatesui/build.xml | 39 +
templatesui/manifest.mf | 2 +-
templatesui/nbproject/project.properties | 37 +
templatesui/nbproject/project.xml | 39 +
.../modules/templatesui/AbstractWizard.java | 11 +-
.../netbeans/modules/templatesui/Bundle.properties | 37 +
.../modules/templatesui/HTMLJavaTemplateTest.java | 9 +
.../modules/templatesui/HTMLTemplateTest.java | 37 +-
.../org/netbeans/modules/templatesui/RunTCK.java | 9 +
.../unit/src/org/netbeans/modules/templatesui/x.js | 40 +
terminal.nb/build.xml | 44 +
terminal.nb/manifest.mf | 7 +
terminal.nb/nbproject/project.properties | 39 +
terminal.nb/nbproject/project.xml | 220 +
.../netbeans/modules/terminal/api/ui/IOTerm.java | 77 +
.../modules/terminal/api/ui/IOTermSupport.java | 74 +
.../modules/terminal/api/ui/IOTopComponent.java | 65 +
.../modules/terminal/api/ui/IOVisibility.java | 129 +
.../terminal/api/ui/IOVisibilityControl.java | 134 +
.../modules/terminal/api/ui/TerminalContainer.java | 140 +
.../modules/terminal/iocontainer/Bundle.properties | 0
.../iocontainer/TerminalContainerCommon.java | 568 +
.../iocontainer/TerminalContainerMuxable.java | 175 +
.../iocontainer/TerminalContainerTabbed.java | 340 +
.../modules/terminal/ioprovider/Bundle.properties | 56 +
.../modules/terminal/ioprovider/Catalog.java | 0
.../netbeans/modules/terminal/ioprovider/Task.java | 539 +
.../modules/terminal/ioprovider/Terminal.java | 1405 +
.../terminal/ioprovider/TerminalIOProvider.java | 0
.../terminal/ioprovider/TerminalInputOutput.java | 834 +
.../netbeans/modules/terminal/nb/Bundle.properties | 148 +
.../org/netbeans/modules/terminal/nb/PinPanel.form | 191 +
.../org/netbeans/modules/terminal/nb/PinPanel.java | 264 +
.../modules/terminal/nb/TermAdvancedOption.java | 161 +
.../modules/terminal/nb/TermOptionsPanel.form | 376 +
.../modules/terminal/nb/TermOptionsPanel.java | 680 +
.../terminal/nb/TerminalPinnedTabOptions.java | 160 +
.../modules/terminal/nb/actions/ActionFactory.java | 72 +
.../modules/terminal/nb/actions/Bundle.properties | 64 +
.../modules/terminal/nb/actions/ClearAction.java | 93 +
.../modules/terminal/nb/actions/CloseAction.java | 90 +
.../modules/terminal/nb/actions/CopyAction.java | 88 +
.../terminal/nb/actions/DumpSequencesAction.java | 113 +
.../modules/terminal/nb/actions/FindAction.java | 91 +
.../terminal/nb/actions/LargerFontAction.java | 81 +
.../modules/terminal/nb/actions/NewTabAction.java | 76 +
.../modules/terminal/nb/actions/PasteAction.java | 88 +
.../modules/terminal/nb/actions/PinTabAction.java | 185 +
.../terminal/nb/actions/SetTitleAction.java | 96 +
.../terminal/nb/actions/SmallerFontAction.java | 82 +
.../terminal/nb/actions/SwitchTabAction.java | 118 +
.../terminal/nb/actions/TerminalAction.java | 112 +
.../modules/terminal/nb/actions/WrapAction.java | 115 +
.../org/netbeans/modules/terminal/nb}/layer.xml | 0
.../terminal/nb/resources/Bundle.properties | 38 +
.../spi/ui/ExternalCommandActionProvider.java | 83 +
.../terminal/support/OpenInEditorAction.java | 132 +
.../terminal/support/TerminalPinSupport.java | 304 +
.../org/netbeans/modules/terminal/support/pin.png | Bin
.../netbeans/modules/terminal/T1_Close_Test.java | 363 +
.../modules/terminal/T2_CloseVeto_Test.java | 231 +
.../modules/terminal/T3_HardClose_Test.java | 255 +
.../modules/terminal/T4_Attribute_Test.java | 189 +
.../modules/terminal/T5_MTStress_Test.java | 0
.../org/netbeans/modules/terminal/TestSupport.java | 310 +
.../src/org/netbeans/modules/terminal/sunsky.png | Bin
terminal/arch.xml | 45 +-
terminal/build.xml | 39 +
terminal/manifest.mf | 3 +-
terminal/nbproject/project.properties | 37 +
terminal/nbproject/project.xml | 148 +-
.../netbeans/modules/terminal/Bundle.properties | 45 +-
.../org/netbeans/modules/terminal/PinPanel.form | 177 -
.../org/netbeans/modules/terminal/PinPanel.java | 214 -
.../modules/terminal/TermAdvancedOption.java | 161 -
.../modules/terminal/TermOptionsPanel.form | 368 -
.../modules/terminal/TermOptionsPanel.java | 662 -
.../modules/terminal/TerminalPinnedTabOptions.java | 160 -
.../modules/terminal/actions/ActionFactory.java | 70 -
.../modules/terminal/actions/Bundle.properties | 62 -
.../modules/terminal/actions/ClearAction.java | 90 -
.../modules/terminal/actions/CloseAction.java | 90 -
.../modules/terminal/actions/CopyAction.java | 88 -
.../terminal/actions/DumpSequencesAction.java | 113 -
.../modules/terminal/actions/FindAction.java | 102 -
.../modules/terminal/actions/LargerFontAction.java | 81 -
.../modules/terminal/actions/PasteAction.java | 88 -
.../modules/terminal/actions/PinTabAction.java | 169 -
.../modules/terminal/actions/SetTitleAction.java | 95 -
.../terminal/actions/SmallerFontAction.java | 82 -
.../modules/terminal/actions/TerminalAction.java | 110 -
.../modules/terminal/actions/WrapAction.java | 115 -
.../org/netbeans/modules/terminal/api/IOTerm.java | 71 +-
.../modules/terminal/api/IOTopComponent.java | 65 -
.../modules/terminal/api/IOVisibility.java | 129 -
.../modules/terminal/api/IOVisibilityControl.java | 134 -
.../modules/terminal/api/TerminalContainer.java | 125 -
.../org/netbeans/modules/terminal/api/package.html | 16 +-
.../iocontainer/TerminalContainerCommon.java | 553 -
.../iocontainer/TerminalContainerMuxable.java | 166 -
.../iocontainer/TerminalContainerTabbed.java | 322 -
.../modules/terminal/ioprovider/Bundle.properties | 19 -
.../netbeans/modules/terminal/ioprovider/Task.java | 523 -
.../modules/terminal/ioprovider/Terminal.java | 1335 -
.../terminal/ioprovider/TerminalInputOutput.java | 794 -
.../terminal/support/TerminalPinSupport.java | 304 -
.../netbeans/modules/terminal/T1_Close_Test.java | 362 -
.../modules/terminal/T2_CloseVeto_Test.java | 231 -
.../modules/terminal/T3_HardClose_Test.java | 255 -
.../modules/terminal/T4_Attribute_Test.java | 189 -
.../org/netbeans/modules/terminal/TestSupport.java | 307 -
testng.ant/build.xml | 58 +-
testng.ant/manifest.mf | 2 +-
testng.ant/nbproject/project.xml | 58 +-
.../modules/testng/ant/AntSessionInfo.java | 4 +-
.../modules/testng/ant/AntTestNGSupport.java | 4 +-
.../netbeans/modules/testng/ant/RegexpUtils.java | 4 +-
.../modules/testng/ant/TestNGAntLogger.java | 4 +-
.../modules/testng/ant/TestNGExecutionManager.java | 4 +-
.../modules/testng/ant/TestNGOutputReader.java | 4 +-
.../modules/testng/ant/TestNGTestSession.java | 4 +-
.../netbeans/modules/testng/ant/testng-build.xml | 4 +-
.../modules/testng/ant/RegexpUtilsTest.java | 4 +-
.../modules/testng/ant/impl/ProjectImpl.java | 4 +-
testng.maven/build.xml | 4 +-
testng.maven/manifest.mf | 2 +-
testng.maven/nbproject/project.xml | 4 +-
.../modules/testng/maven/Bundle.properties | 4 +-
.../modules/testng/maven/MavenTestNGSupport.java | 4 +-
.../testng/maven/TestNGActionsProvider.java | 4 +-
.../modules/testng/maven/testngActionMappings.xml | 4 +-
testng.ui/build.xml | 39 +
testng.ui/manifest.mf | 2 +-
testng.ui/nbproject/project.properties | 37 +
testng.ui/nbproject/project.xml | 39 +
.../netbeans/modules/testng/ui/Bundle.properties | 37 +
.../modules/testng/ui/CallstackFrameNode.java | 4 +-
.../org/netbeans/modules/testng/ui/JumpAction.java | 4 +-
.../modules/testng/ui/TestMethodNodeAction.java | 8 +-
.../modules/testng/ui/TestNGMethodNode.java | 4 +-
.../modules/testng/ui/TestNGNodeOpener.java | 4 +-
.../modules/testng/ui/TestNGSuiteNode.java | 4 +-
.../modules/testng/ui/TestNGTestNodeFactory.java | 4 +-
.../testng/ui/actions/DebugTestClassAction.java | 4 +-
.../testng/ui/actions/DebugTestMethodAction.java | 4 +-
.../testng/ui/actions/RerunFailedTestsAction.java | 4 +-
.../testng/ui/actions/RunTestMethodAction.java | 4 +-
.../testng/ui/actions/TestClassInfoTask.java | 8 +-
.../testng/ui/resources/testng-suite-resolver.xml | 39 +-
.../modules/testng/ui/wizards/Bundle.properties | 4 +-
.../testng/ui/wizards/NewTestWizardIterator.java | 4 +-
.../testng/ui/actions/RetoucheTestBase.java | 4 +-
.../testng/ui/actions/RunTestMethodActionTest.java | 4 +-
.../modules/testng/ui/actions/TestActionT.java | 4 +-
.../testng/ui/actions/TestClassInfoTaskTest.java | 4 +-
.../modules/testng/ui/impl/ProjectImpl.java | 4 +-
.../modules/testng/ui/impl/TestNGImpl.java | 4 +-
testng/build.xml | 4 +-
testng/manifest.mf | 2 +-
testng/nbproject/project.properties | 4 +-
testng/nbproject/project.xml | 4 +-
.../org/netbeans/modules/testng/Bundle.properties | 4 +-
.../modules/testng/TestConfigAccessor.java | 4 +-
.../netbeans/modules/testng/api/TestNGSupport.java | 4 +-
.../netbeans/modules/testng/api/TestNGTest.java | 4 +-
.../modules/testng/api/TestNGTestSuite.java | 4 +-
.../modules/testng/api/TestNGTestcase.java | 4 +-
.../modules/testng/api/XmlOutputParser.java | 4 +-
.../org/netbeans/modules/testng/api/XmlResult.java | 4 +-
.../netbeans/modules/testng/resources/layer.xml | 4 +-
.../netbeans/modules/testng/resources/testng.xml | 4 +-
.../netbeans/modules/testng/spi/TestConfig.java | 4 +-
.../testng/spi/TestNGSupportImplementation.java | 4 +-
.../modules/testng/spi/XMLSuiteSupport.java | 8 +-
.../modules/testng/api/XmlOutputParserTest.java | 4 +-
tomcat5/manifest.mf | 2 +-
.../netbeans/modules/tomcat5/TomcatFactory.java | 28 +-
.../tomcat5/config/TomcatModuleConfiguration.java | 2 +-
.../config/TomcatModuleConfigurationFactory.java | 2 +-
.../tomcat5/customizer/CustomizerDataSupport.java | 2 +-
.../modules/tomcat5/deploy/TomcatManager.java | 18 +-
.../modules/tomcat5/deploy/TomcatManagerImpl.java | 2 +-
.../modules/tomcat5/j2ee/TomcatPlatformImpl.java | 27 +-
.../modules/tomcat5/optional/StartTomcat.java | 2 +-
.../registration/AutomaticRegistration.java | 4 +
.../tomcat5/resources/tomcat-ant-deploy.xml | 41 +-
.../tomcat5/resources/tomcat-ant-deploy60.xml | 41 +-
.../tomcat5/resources/tomcat-ant-deploy70.xml | 41 +-
.../modules/tomcat5/resources/tomcat5_context.mdd | 39 +
.../modules/tomcat5/resources/tomcat5_server.mdd | 39 +
.../modules/tomcat5/resources/tomee_resources.mdd | 41 +-
.../ui/nodes/TomcatWebModuleChildrenFactory.java | 2 +-
.../tomcat5/ui/wizard/InstallPanelVisual.java | 7 +-
.../modules/tomcat5/util/TomcatProperties.java | 4 +
.../netbeans/modules/tomcat5/util/TomcatUsers.java | 6 +-
.../org/netbeans/modules/tomcat5/util/Utils.java | 17 +-
uihandler.exceptionreporter/build.xml | 39 +
uihandler.exceptionreporter/manifest.mf | 2 +-
.../nbproject/project.properties | 37 +
uihandler.exceptionreporter/nbproject/project.xml | 39 +
.../uihandler/exceptionreporter/Bundle.properties | 37 +
uihandler/arch.xml | 2 +-
uihandler/manifest.mf | 2 +-
.../nbproject/org-netbeans-modules-uihandler.sig | 2 +-
.../org/netbeans/modules/uihandler/Connecting.html | 39 +
.../org/netbeans/modules/uihandler/Installer.java | 6 +-
.../ReporterResultTopComponentSettings.xml | 39 +-
.../ReporterResultTopComponentWstcref.xml | 39 +-
.../netbeans/modules/uihandler/SAXException.html | 39 +
.../modules/uihandler/UnknownHostException.html | 43 +-
.../modules/uihandler/api/doc-files/ui.html | 43 +-
.../src/org/netbeans/modules/uihandler/layer.xml | 39 +
.../src/org/netbeans/modules/uihandler/error.html | 41 +-
.../org/netbeans/modules/uihandler/error_ja.html | 45 +-
.../org/netbeans/modules/uihandler/index_ja.html | 43 +-
.../modules/uihandler/parsing_with_suffix.html | 39 +
updatecenters/manifest.mf | 2 +-
.../updatecenters/resources/Bundle.properties | 10 +-
.../modules/updatecenters/resources/mf-layer.xml | 14 +-
.../netbeans/modules/usersguide/f1_css_editor.htm | 4 +-
.../modules/usersguide/f1_css_editor001.htm | 14 +-
.../modules/usersguide/f1_css_editor002.htm | 6 +-
.../modules/usersguide/f1_css_editor003.htm | 6 +-
.../modules/usersguide/f1_css_editor004.htm | 6 +-
.../modules/usersguide/f1_css_editor005.htm | 6 +-
.../modules/usersguide/f1_css_editor006.htm | 6 +-
.../org/netbeans/modules/usersguide/f1_cvs.htm | 4 +-
.../org/netbeans/modules/usersguide/f1_cvs001.htm | 6 +-
.../org/netbeans/modules/usersguide/f1_cvs002.htm | 6 +-
.../org/netbeans/modules/usersguide/f1_cvs003.htm | 6 +-
.../org/netbeans/modules/usersguide/f1_cvs004.htm | 6 +-
.../org/netbeans/modules/usersguide/f1_cvs005.htm | 6 +-
.../org/netbeans/modules/usersguide/f1_cvs006.htm | 6 +-
.../org/netbeans/modules/usersguide/f1_cvs007.htm | 6 +-
.../org/netbeans/modules/usersguide/f1_cvs008.htm | 6 +-
.../org/netbeans/modules/usersguide/f1_cvs009.htm | 6 +-
.../org/netbeans/modules/usersguide/f1_cvs010.htm | 6 +-
.../org/netbeans/modules/usersguide/f1_cvs011.htm | 6 +-
.../org/netbeans/modules/usersguide/f1_cvs012.htm | 6 +-
.../org/netbeans/modules/usersguide/f1_cvs013.htm | 6 +-
.../org/netbeans/modules/usersguide/f1_cvs014.htm | 6 +-
.../org/netbeans/modules/usersguide/f1_cvs015.htm | 6 +-
.../org/netbeans/modules/usersguide/f1_cvs016.htm | 6 +-
.../org/netbeans/modules/usersguide/f1_cvs017.htm | 6 +-
.../org/netbeans/modules/usersguide/f1_cvs018.htm | 6 +-
.../org/netbeans/modules/usersguide/f1_cvs019.htm | 6 +-
.../org/netbeans/modules/usersguide/f1_cvs020.htm | 6 +-
.../netbeans/modules/usersguide/f1_database.htm | 6 +-
.../netbeans/modules/usersguide/f1_database001.htm | 12 +-
.../netbeans/modules/usersguide/f1_database002.htm | 6 +-
.../netbeans/modules/usersguide/f1_database003.htm | 10 +-
.../netbeans/modules/usersguide/f1_database004.htm | 6 +-
.../netbeans/modules/usersguide/f1_database005.htm | 8 +-
.../netbeans/modules/usersguide/f1_database006.htm | 8 +-
.../netbeans/modules/usersguide/f1_database007.htm | 8 +-
.../netbeans/modules/usersguide/f1_database008.htm | 8 +-
.../netbeans/modules/usersguide/f1_database009.htm | 8 +-
.../netbeans/modules/usersguide/f1_database010.htm | 8 +-
.../org/netbeans/modules/usersguide/f1_git.htm | 4 +-
.../org/netbeans/modules/usersguide/f1_git001.htm | 6 +-
.../org/netbeans/modules/usersguide/f1_git002.htm | 6 +-
.../org/netbeans/modules/usersguide/f1_git003.htm | 6 +-
.../org/netbeans/modules/usersguide/f1_git004.htm | 6 +-
.../org/netbeans/modules/usersguide/f1_git005.htm | 6 +-
.../org/netbeans/modules/usersguide/f1_git006.htm | 6 +-
.../org/netbeans/modules/usersguide/f1_git007.htm | 6 +-
.../org/netbeans/modules/usersguide/f1_git008.htm | 6 +-
.../org/netbeans/modules/usersguide/f1_git009.htm | 6 +-
.../org/netbeans/modules/usersguide/f1_git010.htm | 6 +-
.../org/netbeans/modules/usersguide/f1_git011.htm | 6 +-
.../org/netbeans/modules/usersguide/f1_git012.htm | 6 +-
.../org/netbeans/modules/usersguide/f1_git013.htm | 6 +-
.../org/netbeans/modules/usersguide/f1_git014.htm | 6 +-
.../org/netbeans/modules/usersguide/f1_git015.htm | 6 +-
.../org/netbeans/modules/usersguide/f1_git016.htm | 6 +-
.../org/netbeans/modules/usersguide/f1_git017.htm | 6 +-
.../org/netbeans/modules/usersguide/f1_git018.htm | 6 +-
.../org/netbeans/modules/usersguide/f1_git019.htm | 4 +-
.../org/netbeans/modules/usersguide/f1_git020.htm | 4 +-
.../org/netbeans/modules/usersguide/f1_git021.htm | 6 +-
.../org/netbeans/modules/usersguide/f1_git022.htm | 6 +-
.../org/netbeans/modules/usersguide/f1_git023.htm | 6 +-
.../org/netbeans/modules/usersguide/f1_git024.htm | 6 +-
.../org/netbeans/modules/usersguide/f1_git025.htm | 6 +-
.../org/netbeans/modules/usersguide/f1_git026.htm | 6 +-
.../org/netbeans/modules/usersguide/f1_git027.htm | 6 +-
.../org/netbeans/modules/usersguide/f1_git028.htm | 4 +-
.../org/netbeans/modules/usersguide/f1_git029.htm | 6 +-
.../org/netbeans/modules/usersguide/f1_git030.htm | 4 +-
.../org/netbeans/modules/usersguide/f1_git031.htm | 6 +-
.../org/netbeans/modules/usersguide/f1_git032.htm | 6 +-
.../org/netbeans/modules/usersguide/f1_git033.htm | 6 +-
.../org/netbeans/modules/usersguide/f1_html.htm | 6 +-
.../org/netbeans/modules/usersguide/f1_html001.htm | 8 +-
.../org/netbeans/modules/usersguide/f1_html002.htm | 8 +-
.../org/netbeans/modules/usersguide/f1_html003.htm | 8 +-
.../org/netbeans/modules/usersguide/f1_html004.htm | 8 +-
.../org/netbeans/modules/usersguide/f1_html005.htm | 8 +-
.../org/netbeans/modules/usersguide/f1_html006.htm | 8 +-
.../org/netbeans/modules/usersguide/f1_html007.htm | 10 +-
.../org/netbeans/modules/usersguide/f1_html008.htm | 10 +-
.../org/netbeans/modules/usersguide/f1_html009.htm | 10 +-
.../org/netbeans/modules/usersguide/f1_html010.htm | 8 +-
.../org/netbeans/modules/usersguide/f1_html011.htm | 8 +-
.../org/netbeans/modules/usersguide/f1_html012.htm | 8 +-
.../org/netbeans/modules/usersguide/f1_html013.htm | 8 +-
.../org/netbeans/modules/usersguide/f1_html014.htm | 8 +-
.../org/netbeans/modules/usersguide/f1_html015.htm | 8 +-
.../org/netbeans/modules/usersguide/f1_html016.htm | 8 +-
.../org/netbeans/modules/usersguide/f1_html017.htm | 8 +-
.../org/netbeans/modules/usersguide/f1_html018.htm | 8 +-
.../org/netbeans/modules/usersguide/f1_html019.htm | 8 +-
.../org/netbeans/modules/usersguide/f1_html020.htm | 46 +-
.../org/netbeans/modules/usersguide/f1_html021.htm | 83 +-
.../org/netbeans/modules/usersguide/f1_html022.htm | 66 +-
.../org/netbeans/modules/usersguide/f1_html023.htm | 32 +-
.../org/netbeans/modules/usersguide/f1_html024.htm | 30 +-
.../org/netbeans/modules/usersguide/f1_html025.htm | 32 +-
.../org/netbeans/modules/usersguide/f1_html026.htm | 45 +-
.../org/netbeans/modules/usersguide/f1_html027.htm | 53 +-
.../org/netbeans/modules/usersguide/f1_html028.htm | 34 +-
.../org/netbeans/modules/usersguide/f1_html029.htm | 37 +-
.../org/netbeans/modules/usersguide/f1_html030.htm | 83 +
.../org/netbeans/modules/usersguide/f1_html031.htm | 77 +
.../netbeans/modules/usersguide/f1_java_debug.htm | 4 +-
.../modules/usersguide/f1_java_debug001.htm | 4 +-
.../modules/usersguide/f1_java_debug002.htm | 12 +-
.../modules/usersguide/f1_java_debug003.htm | 14 +-
.../modules/usersguide/f1_java_debug004.htm | 14 +-
.../modules/usersguide/f1_java_debug005.htm | 14 +-
.../modules/usersguide/f1_java_debug006.htm | 12 +-
.../modules/usersguide/f1_java_debug007.htm | 14 +-
.../modules/usersguide/f1_java_debug008.htm | 10 +-
.../modules/usersguide/f1_java_debug009.htm | 10 +-
.../modules/usersguide/f1_java_debug010.htm | 10 +-
.../modules/usersguide/f1_java_debug011.htm | 6 +-
.../modules/usersguide/f1_java_debug012.htm | 6 +-
.../modules/usersguide/f1_java_debug013.htm | 6 +-
.../modules/usersguide/f1_java_debug014.htm | 8 +-
.../modules/usersguide/f1_java_debug015.htm | 4 +-
.../modules/usersguide/f1_java_debug016.htm | 6 +-
.../modules/usersguide/f1_java_debug017.htm | 10 +-
.../modules/usersguide/f1_java_debug018.htm | 8 +-
.../modules/usersguide/f1_java_debug019.htm | 12 +-
.../modules/usersguide/f1_java_debug020.htm | 14 +-
.../modules/usersguide/f1_java_debug021.htm | 12 +-
.../modules/usersguide/f1_java_debug022.htm | 10 +-
.../modules/usersguide/f1_java_debug023.htm | 8 +-
.../modules/usersguide/f1_java_debug024.htm | 6 +-
.../netbeans/modules/usersguide/f1_java_edit.htm | 2 +-
.../modules/usersguide/f1_java_edit001.htm | 8 +-
.../modules/usersguide/f1_java_edit002.htm | 8 +-
.../org/netbeans/modules/usersguide/f1_java_ee.htm | 6 +-
.../netbeans/modules/usersguide/f1_java_ee001.htm | 6 +-
.../netbeans/modules/usersguide/f1_java_ee002.htm | 12 +-
.../netbeans/modules/usersguide/f1_java_ee003.htm | 20 +-
.../netbeans/modules/usersguide/f1_java_ee004.htm | 8 +-
.../netbeans/modules/usersguide/f1_java_ee005.htm | 8 +-
.../netbeans/modules/usersguide/f1_java_ee006.htm | 10 +-
.../netbeans/modules/usersguide/f1_java_ee007.htm | 10 +-
.../netbeans/modules/usersguide/f1_java_ee008.htm | 10 +-
.../netbeans/modules/usersguide/f1_java_ee009.htm | 8 +-
.../netbeans/modules/usersguide/f1_java_ee010.htm | 8 +-
.../netbeans/modules/usersguide/f1_java_ee011.htm | 12 +-
.../netbeans/modules/usersguide/f1_java_ee012.htm | 10 +-
.../netbeans/modules/usersguide/f1_java_ee013.htm | 14 +-
.../netbeans/modules/usersguide/f1_java_ee014.htm | 10 +-
.../netbeans/modules/usersguide/f1_java_ee015.htm | 10 +-
.../netbeans/modules/usersguide/f1_java_ee016.htm | 10 +-
.../netbeans/modules/usersguide/f1_java_ee017.htm | 10 +-
.../netbeans/modules/usersguide/f1_java_ee018.htm | 12 +-
.../netbeans/modules/usersguide/f1_java_ee019.htm | 14 +-
.../netbeans/modules/usersguide/f1_java_ee020.htm | 8 +-
.../netbeans/modules/usersguide/f1_java_ee021.htm | 14 +-
.../netbeans/modules/usersguide/f1_java_ee022.htm | 10 +-
.../netbeans/modules/usersguide/f1_java_ee023.htm | 10 +-
.../netbeans/modules/usersguide/f1_java_ee024.htm | 10 +-
.../netbeans/modules/usersguide/f1_java_ee025.htm | 8 +-
.../netbeans/modules/usersguide/f1_java_ee026.htm | 16 +-
.../netbeans/modules/usersguide/f1_java_ee027.htm | 8 +-
.../netbeans/modules/usersguide/f1_java_ee028.htm | 10 +-
.../netbeans/modules/usersguide/f1_java_ee029.htm | 20 +-
.../netbeans/modules/usersguide/f1_java_ee030.htm | 10 +-
.../netbeans/modules/usersguide/f1_java_ee031.htm | 6 +-
.../netbeans/modules/usersguide/f1_java_ee032.htm | 6 +-
.../netbeans/modules/usersguide/f1_java_ee033.htm | 8 +-
.../netbeans/modules/usersguide/f1_java_ee034.htm | 12 +-
.../netbeans/modules/usersguide/f1_java_ee035.htm | 6 +-
.../netbeans/modules/usersguide/f1_java_ee036.htm | 10 +-
.../netbeans/modules/usersguide/f1_java_ee037.htm | 16 +-
.../netbeans/modules/usersguide/f1_java_ee038.htm | 10 +-
.../netbeans/modules/usersguide/f1_java_ee039.htm | 10 +-
.../netbeans/modules/usersguide/f1_java_ee040.htm | 10 +-
.../netbeans/modules/usersguide/f1_java_ee041.htm | 8 +-
.../netbeans/modules/usersguide/f1_java_ee042.htm | 12 +-
.../netbeans/modules/usersguide/f1_java_ee043.htm | 14 +-
.../netbeans/modules/usersguide/f1_java_ee044.htm | 6 +-
.../netbeans/modules/usersguide/f1_java_ee045.htm | 6 +-
.../netbeans/modules/usersguide/f1_java_ee046.htm | 6 +-
.../netbeans/modules/usersguide/f1_java_ee047.htm | 6 +-
.../netbeans/modules/usersguide/f1_java_ee048.htm | 12 +-
.../netbeans/modules/usersguide/f1_java_ee049.htm | 8 +-
.../netbeans/modules/usersguide/f1_java_ee050.htm | 8 +-
.../netbeans/modules/usersguide/f1_java_ee051.htm | 8 +-
.../netbeans/modules/usersguide/f1_java_ee052.htm | 10 +-
.../netbeans/modules/usersguide/f1_java_ee053.htm | 12 +-
.../netbeans/modules/usersguide/f1_java_ee054.htm | 12 +-
.../netbeans/modules/usersguide/f1_java_ee055.htm | 12 +-
.../netbeans/modules/usersguide/f1_java_ee056.htm | 10 +-
.../netbeans/modules/usersguide/f1_java_ee057.htm | 10 +-
.../netbeans/modules/usersguide/f1_java_ee058.htm | 16 +-
.../netbeans/modules/usersguide/f1_java_ee059.htm | 10 +-
.../netbeans/modules/usersguide/f1_java_ee060.htm | 14 +-
.../netbeans/modules/usersguide/f1_java_ee061.htm | 14 +-
.../netbeans/modules/usersguide/f1_java_ee062.htm | 12 +-
.../netbeans/modules/usersguide/f1_java_ee063.htm | 12 +-
.../netbeans/modules/usersguide/f1_java_ee064.htm | 10 +-
.../netbeans/modules/usersguide/f1_java_ee065.htm | 10 +-
.../netbeans/modules/usersguide/f1_java_ee066.htm | 22 +-
.../netbeans/modules/usersguide/f1_java_ee067.htm | 12 +-
.../netbeans/modules/usersguide/f1_java_ee068.htm | 16 +-
.../netbeans/modules/usersguide/f1_java_ee069.htm | 8 +-
.../netbeans/modules/usersguide/f1_java_ee070.htm | 10 +-
.../netbeans/modules/usersguide/f1_java_ee071.htm | 6 +-
.../netbeans/modules/usersguide/f1_java_ee072.htm | 6 +-
.../netbeans/modules/usersguide/f1_java_ee073.htm | 8 +-
.../netbeans/modules/usersguide/f1_java_ee074.htm | 6 +-
.../netbeans/modules/usersguide/f1_java_ee075.htm | 8 +-
.../netbeans/modules/usersguide/f1_java_ee076.htm | 8 +-
.../netbeans/modules/usersguide/f1_java_ee077.htm | 6 +-
.../netbeans/modules/usersguide/f1_java_ee078.htm | 6 +-
.../netbeans/modules/usersguide/f1_java_ee079.htm | 6 +-
.../netbeans/modules/usersguide/f1_java_ee080.htm | 6 +-
.../netbeans/modules/usersguide/f1_java_ee081.htm | 6 +-
.../netbeans/modules/usersguide/f1_java_ee082.htm | 6 +-
.../netbeans/modules/usersguide/f1_java_ee083.htm | 6 +-
.../netbeans/modules/usersguide/f1_java_ee084.htm | 6 +-
.../netbeans/modules/usersguide/f1_java_ee085.htm | 6 +-
.../netbeans/modules/usersguide/f1_java_ee086.htm | 6 +-
.../netbeans/modules/usersguide/f1_java_ee087.htm | 6 +-
.../netbeans/modules/usersguide/f1_java_ee088.htm | 6 +-
.../netbeans/modules/usersguide/f1_java_ee089.htm | 8 +-
.../netbeans/modules/usersguide/f1_java_ee090.htm | 8 +-
.../netbeans/modules/usersguide/f1_java_ee091.htm | 8 +-
.../netbeans/modules/usersguide/f1_java_ee092.htm | 8 +-
.../netbeans/modules/usersguide/f1_java_ee093.htm | 8 +-
.../netbeans/modules/usersguide/f1_java_ee094.htm | 8 +-
.../netbeans/modules/usersguide/f1_java_ee095.htm | 8 +-
.../netbeans/modules/usersguide/f1_java_ee096.htm | 8 +-
.../netbeans/modules/usersguide/f1_java_ee097.htm | 8 +-
.../netbeans/modules/usersguide/f1_java_ee098.htm | 8 +-
.../netbeans/modules/usersguide/f1_java_ee099.htm | 8 +-
.../netbeans/modules/usersguide/f1_java_ee100.htm | 6 +-
.../netbeans/modules/usersguide/f1_java_ee101.htm | 10 +-
.../netbeans/modules/usersguide/f1_java_ee102.htm | 10 +-
.../netbeans/modules/usersguide/f1_java_ee103.htm | 8 +-
.../netbeans/modules/usersguide/f1_java_ee104.htm | 8 +-
.../netbeans/modules/usersguide/f1_java_ee105.htm | 8 +-
.../netbeans/modules/usersguide/f1_java_ee106.htm | 8 +-
.../netbeans/modules/usersguide/f1_java_ee107.htm | 8 +-
.../netbeans/modules/usersguide/f1_java_ee108.htm | 8 +-
.../netbeans/modules/usersguide/f1_java_ee109.htm | 8 +-
.../netbeans/modules/usersguide/f1_java_ee110.htm | 8 +-
.../netbeans/modules/usersguide/f1_java_ee111.htm | 8 +-
.../netbeans/modules/usersguide/f1_java_ee112.htm | 10 +-
.../netbeans/modules/usersguide/f1_java_ee113.htm | 6 +-
.../netbeans/modules/usersguide/f1_java_ee114.htm | 6 +-
.../netbeans/modules/usersguide/f1_java_gui.htm | 2 +-
.../netbeans/modules/usersguide/f1_java_gui001.htm | 8 +-
.../netbeans/modules/usersguide/f1_java_gui002.htm | 18 +-
.../netbeans/modules/usersguide/f1_java_gui003.htm | 14 +-
.../netbeans/modules/usersguide/f1_java_gui004.htm | 6 +-
.../netbeans/modules/usersguide/f1_java_gui005.htm | 10 +-
.../netbeans/modules/usersguide/f1_java_gui006.htm | 6 +-
.../netbeans/modules/usersguide/f1_java_gui007.htm | 6 +-
.../netbeans/modules/usersguide/f1_java_gui008.htm | 10 +-
.../netbeans/modules/usersguide/f1_java_gui009.htm | 6 +-
.../netbeans/modules/usersguide/f1_java_gui010.htm | 6 +-
.../netbeans/modules/usersguide/f1_java_gui011.htm | 6 +-
.../netbeans/modules/usersguide/f1_java_gui012.htm | 12 +-
.../netbeans/modules/usersguide/f1_java_gui013.htm | 6 +-
.../netbeans/modules/usersguide/f1_java_gui014.htm | 6 +-
.../netbeans/modules/usersguide/f1_java_gui015.htm | 6 +-
.../netbeans/modules/usersguide/f1_java_gui016.htm | 8 +-
.../netbeans/modules/usersguide/f1_java_gui017.htm | 12 +-
.../netbeans/modules/usersguide/f1_java_gui018.htm | 10 +-
.../netbeans/modules/usersguide/f1_java_gui019.htm | 8 +-
.../netbeans/modules/usersguide/f1_java_gui020.htm | 8 +-
.../netbeans/modules/usersguide/f1_java_gui021.htm | 8 +-
.../netbeans/modules/usersguide/f1_java_gui022.htm | 8 +-
.../org/netbeans/modules/usersguide/f1_java_me.htm | 4 +-
.../netbeans/modules/usersguide/f1_java_me001.htm | 12 +-
.../netbeans/modules/usersguide/f1_java_me002.htm | 8 +-
.../netbeans/modules/usersguide/f1_java_me003.htm | 10 +-
.../netbeans/modules/usersguide/f1_java_me004.htm | 8 +-
.../netbeans/modules/usersguide/f1_java_me005.htm | 8 +-
.../netbeans/modules/usersguide/f1_java_me006.htm | 8 +-
.../netbeans/modules/usersguide/f1_java_me007.htm | 8 +-
.../netbeans/modules/usersguide/f1_java_me008.htm | 8 +-
.../netbeans/modules/usersguide/f1_java_me009.htm | 8 +-
.../netbeans/modules/usersguide/f1_java_me010.htm | 10 +-
.../netbeans/modules/usersguide/f1_java_me011.htm | 12 +-
.../netbeans/modules/usersguide/f1_java_me012.htm | 8 +-
.../netbeans/modules/usersguide/f1_java_me013.htm | 8 +-
.../netbeans/modules/usersguide/f1_java_me014.htm | 8 +-
.../netbeans/modules/usersguide/f1_java_me015.htm | 8 +-
.../netbeans/modules/usersguide/f1_java_me016.htm | 8 +-
.../netbeans/modules/usersguide/f1_java_me017.htm | 12 +-
.../netbeans/modules/usersguide/f1_java_me018.htm | 10 +-
.../netbeans/modules/usersguide/f1_java_me019.htm | 12 +-
.../netbeans/modules/usersguide/f1_java_me020.htm | 10 +-
.../netbeans/modules/usersguide/f1_java_me021.htm | 10 +-
.../netbeans/modules/usersguide/f1_java_me022.htm | 8 +-
.../netbeans/modules/usersguide/f1_java_me023.htm | 8 +-
.../netbeans/modules/usersguide/f1_java_me024.htm | 8 +-
.../netbeans/modules/usersguide/f1_java_me025.htm | 10 +-
.../netbeans/modules/usersguide/f1_java_me026.htm | 10 +-
.../netbeans/modules/usersguide/f1_java_me027.htm | 6 +-
.../netbeans/modules/usersguide/f1_java_me028.htm | 8 +-
.../netbeans/modules/usersguide/f1_java_me029.htm | 8 +-
.../netbeans/modules/usersguide/f1_java_me030.htm | 6 +-
.../netbeans/modules/usersguide/f1_java_me031.htm | 8 +-
.../modules/usersguide/f1_java_project.htm | 2 +-
.../modules/usersguide/f1_java_project001.htm | 10 +-
.../modules/usersguide/f1_java_project002.htm | 10 +-
.../modules/usersguide/f1_java_project003.htm | 6 +-
.../modules/usersguide/f1_java_project004.htm | 8 +-
.../modules/usersguide/f1_java_project005.htm | 6 +-
.../modules/usersguide/f1_java_project006.htm | 8 +-
.../modules/usersguide/f1_java_project007.htm | 10 +-
.../modules/usersguide/f1_java_project008.htm | 12 +-
.../modules/usersguide/f1_java_project009.htm | 14 +-
.../modules/usersguide/f1_java_project010.htm | 8 +-
.../modules/usersguide/f1_java_project011.htm | 8 +-
.../modules/usersguide/f1_java_project012.htm | 18 +-
.../modules/usersguide/f1_java_project013.htm | 12 +-
.../modules/usersguide/f1_java_project014.htm | 8 +-
.../modules/usersguide/f1_java_project015.htm | 6 +-
.../modules/usersguide/f1_java_project016.htm | 8 +-
.../modules/usersguide/f1_java_project017.htm | 8 +-
.../modules/usersguide/f1_java_project018.htm | 16 +-
.../modules/usersguide/f1_java_project019.htm | 12 +-
.../modules/usersguide/f1_java_project020.htm | 12 +-
.../modules/usersguide/f1_java_project021.htm | 18 +-
.../modules/usersguide/f1_java_project022.htm | 10 +-
.../modules/usersguide/f1_java_project023.htm | 12 +-
.../modules/usersguide/f1_java_project024.htm | 10 +-
.../modules/usersguide/f1_java_project025.htm | 12 +-
.../modules/usersguide/f1_java_project026.htm | 10 +-
.../modules/usersguide/f1_java_project027.htm | 8 +-
.../modules/usersguide/f1_java_project028.htm | 8 +-
.../modules/usersguide/f1_java_project029.htm | 8 +-
.../modules/usersguide/f1_java_project030.htm | 10 +-
.../modules/usersguide/f1_java_project031.htm | 6 +-
.../modules/usersguide/f1_java_project032.htm | 8 +-
.../modules/usersguide/f1_java_project033.htm | 8 +-
.../modules/usersguide/f1_java_project034.htm | 6 +-
.../org/netbeans/modules/usersguide/f1_jpa.htm | 6 +-
.../org/netbeans/modules/usersguide/f1_jpa001.htm | 8 +-
.../org/netbeans/modules/usersguide/f1_jpa002.htm | 8 +-
.../org/netbeans/modules/usersguide/f1_jpa003.htm | 8 +-
.../org/netbeans/modules/usersguide/f1_jpa004.htm | 8 +-
.../org/netbeans/modules/usersguide/f1_jpa005.htm | 8 +-
.../org/netbeans/modules/usersguide/f1_jpa006.htm | 8 +-
.../org/netbeans/modules/usersguide/f1_jpa007.htm | 6 +-
.../org/netbeans/modules/usersguide/f1_jpa008.htm | 8 +-
.../org/netbeans/modules/usersguide/f1_jpa009.htm | 10 +-
.../org/netbeans/modules/usersguide/f1_jpa010.htm | 10 +-
.../org/netbeans/modules/usersguide/f1_jpa011.htm | 8 +-
.../org/netbeans/modules/usersguide/f1_jpa012.htm | 10 +-
.../org/netbeans/modules/usersguide/f1_jpa013.htm | 10 +-
.../org/netbeans/modules/usersguide/f1_jpa014.htm | 10 +-
.../org/netbeans/modules/usersguide/f1_maven.htm | 4 +-
.../netbeans/modules/usersguide/f1_maven001.htm | 6 +-
.../netbeans/modules/usersguide/f1_maven002.htm | 6 +-
.../netbeans/modules/usersguide/f1_maven003.htm | 6 +-
.../netbeans/modules/usersguide/f1_maven004.htm | 6 +-
.../netbeans/modules/usersguide/f1_maven005.htm | 8 +-
.../netbeans/modules/usersguide/f1_maven006.htm | 24 +-
.../netbeans/modules/usersguide/f1_mercurial.htm | 4 +-
.../modules/usersguide/f1_mercurial001.htm | 6 +-
.../modules/usersguide/f1_mercurial002.htm | 6 +-
.../modules/usersguide/f1_mercurial003.htm | 6 +-
.../modules/usersguide/f1_mercurial004.htm | 6 +-
.../modules/usersguide/f1_mercurial005.htm | 6 +-
.../modules/usersguide/f1_mercurial006.htm | 6 +-
.../modules/usersguide/f1_mercurial007.htm | 6 +-
.../modules/usersguide/f1_mercurial008.htm | 6 +-
.../modules/usersguide/f1_mercurial009.htm | 4 +-
.../modules/usersguide/f1_mercurial010.htm | 4 +-
.../modules/usersguide/f1_mercurial011.htm | 6 +-
.../modules/usersguide/f1_mercurial012.htm | 6 +-
.../modules/usersguide/f1_mercurial013.htm | 6 +-
.../modules/usersguide/f1_mercurial014.htm | 6 +-
.../modules/usersguide/f1_mercurial015.htm | 6 +-
.../modules/usersguide/f1_mercurial016.htm | 6 +-
.../modules/usersguide/f1_mercurial017.htm | 6 +-
.../modules/usersguide/f1_mercurial018.htm | 6 +-
.../modules/usersguide/f1_mercurial019.htm | 6 +-
.../modules/usersguide/f1_mercurial020.htm | 4 +-
.../modules/usersguide/f1_mercurial021.htm | 4 +-
.../modules/usersguide/f1_mercurial022.htm | 4 +-
.../modules/usersguide/f1_mercurial023.htm | 4 +-
.../modules/usersguide/f1_mercurial024.htm | 4 +-
.../modules/usersguide/f1_mercurial025.htm | 4 +-
.../modules/usersguide/f1_mercurial026.htm | 6 +-
.../modules/usersguide/f1_mercurial027.htm | 6 +-
.../modules/usersguide/f1_mercurial028.htm | 6 +-
.../modules/usersguide/f1_mercurial029.htm | 6 +-
.../modules/usersguide/f1_mercurial030.htm | 6 +-
.../org/netbeans/modules/usersguide/f1_modules.htm | 2 +-
.../netbeans/modules/usersguide/f1_modules001.htm | 8 +-
.../netbeans/modules/usersguide/f1_modules002.htm | 8 +-
.../netbeans/modules/usersguide/f1_modules003.htm | 6 +-
.../netbeans/modules/usersguide/f1_modules004.htm | 6 +-
.../netbeans/modules/usersguide/f1_modules005.htm | 6 +-
.../netbeans/modules/usersguide/f1_modules006.htm | 6 +-
.../netbeans/modules/usersguide/f1_modules007.htm | 6 +-
.../netbeans/modules/usersguide/f1_modules008.htm | 6 +-
.../netbeans/modules/usersguide/f1_modules009.htm | 6 +-
.../netbeans/modules/usersguide/f1_modules010.htm | 8 +-
.../netbeans/modules/usersguide/f1_modules011.htm | 10 +-
.../netbeans/modules/usersguide/f1_modules012.htm | 6 +-
.../netbeans/modules/usersguide/f1_modules013.htm | 8 +-
.../netbeans/modules/usersguide/f1_modules014.htm | 8 +-
.../netbeans/modules/usersguide/f1_modules015.htm | 8 +-
.../netbeans/modules/usersguide/f1_modules016.htm | 8 +-
.../netbeans/modules/usersguide/f1_modules017.htm | 6 +-
.../netbeans/modules/usersguide/f1_modules018.htm | 6 +-
.../netbeans/modules/usersguide/f1_modules019.htm | 8 +-
.../netbeans/modules/usersguide/f1_modules020.htm | 6 +-
.../netbeans/modules/usersguide/f1_modules021.htm | 6 +-
.../netbeans/modules/usersguide/f1_modules022.htm | 6 +-
.../netbeans/modules/usersguide/f1_modules023.htm | 8 +-
.../netbeans/modules/usersguide/f1_modules024.htm | 6 +-
.../netbeans/modules/usersguide/f1_modules025.htm | 6 +-
.../netbeans/modules/usersguide/f1_modules026.htm | 8 +-
.../netbeans/modules/usersguide/f1_modules027.htm | 8 +-
.../netbeans/modules/usersguide/f1_modules028.htm | 8 +-
.../netbeans/modules/usersguide/f1_modules029.htm | 6 +-
.../netbeans/modules/usersguide/f1_modules030.htm | 8 +-
.../netbeans/modules/usersguide/f1_modules031.htm | 8 +-
.../netbeans/modules/usersguide/f1_modules032.htm | 4 +-
.../netbeans/modules/usersguide/f1_modules033.htm | 4 +-
.../netbeans/modules/usersguide/f1_modules034.htm | 4 +-
.../netbeans/modules/usersguide/f1_modules035.htm | 6 +-
.../netbeans/modules/usersguide/f1_modules036.htm | 6 +-
.../netbeans/modules/usersguide/f1_modules037.htm | 6 +-
.../netbeans/modules/usersguide/f1_modules038.htm | 6 +-
.../netbeans/modules/usersguide/f1_modules039.htm | 6 +-
.../netbeans/modules/usersguide/f1_modules040.htm | 6 +-
.../netbeans/modules/usersguide/f1_modules041.htm | 6 +-
.../netbeans/modules/usersguide/f1_modules042.htm | 6 +-
.../netbeans/modules/usersguide/f1_modules043.htm | 6 +-
.../netbeans/modules/usersguide/f1_modules044.htm | 6 +-
.../netbeans/modules/usersguide/f1_modules045.htm | 6 +-
.../org/netbeans/modules/usersguide/f1_php.htm | 6 +-
.../org/netbeans/modules/usersguide/f1_php001.htm | 8 +-
.../org/netbeans/modules/usersguide/f1_php002.htm | 8 +-
.../org/netbeans/modules/usersguide/f1_php003.htm | 8 +-
.../org/netbeans/modules/usersguide/f1_php004.htm | 8 +-
.../org/netbeans/modules/usersguide/f1_php005.htm | 8 +-
.../org/netbeans/modules/usersguide/f1_php006.htm | 10 +-
.../org/netbeans/modules/usersguide/f1_php007.htm | 6 +-
.../org/netbeans/modules/usersguide/f1_php008.htm | 34 +-
.../org/netbeans/modules/usersguide/f1_php009.htm | 6 +-
.../org/netbeans/modules/usersguide/f1_php010.htm | 8 +-
.../org/netbeans/modules/usersguide/f1_php011.htm | 80 +-
.../org/netbeans/modules/usersguide/f1_php012.htm | 61 +-
.../org/netbeans/modules/usersguide/f1_php013.htm | 36 +-
.../org/netbeans/modules/usersguide/f1_php014.htm | 67 +-
.../org/netbeans/modules/usersguide/f1_php015.htm | 67 +-
.../org/netbeans/modules/usersguide/f1_php016.htm | 93 +-
.../org/netbeans/modules/usersguide/f1_php017.htm | 198 +-
.../org/netbeans/modules/usersguide/f1_php018.htm | 199 +-
.../org/netbeans/modules/usersguide/f1_php019.htm | 56 +-
.../org/netbeans/modules/usersguide/f1_php020.htm | 81 +-
.../org/netbeans/modules/usersguide/f1_php021.htm | 85 +-
.../org/netbeans/modules/usersguide/f1_php022.htm | 70 +-
.../org/netbeans/modules/usersguide/f1_php023.htm | 127 +-
.../org/netbeans/modules/usersguide/f1_php024.htm | 119 +-
.../org/netbeans/modules/usersguide/f1_php025.htm | 72 +-
.../org/netbeans/modules/usersguide/f1_php026.htm | 73 +-
.../org/netbeans/modules/usersguide/f1_php027.htm | 40 +-
.../org/netbeans/modules/usersguide/f1_php028.htm | 41 +-
.../org/netbeans/modules/usersguide/f1_php029.htm | 40 +-
.../org/netbeans/modules/usersguide/f1_php030.htm | 34 +-
.../org/netbeans/modules/usersguide/f1_php031.htm | 54 +-
.../org/netbeans/modules/usersguide/f1_php032.htm | 59 +-
.../org/netbeans/modules/usersguide/f1_php033.htm | 51 +-
.../org/netbeans/modules/usersguide/f1_php034.htm | 93 +-
.../org/netbeans/modules/usersguide/f1_php035.htm | 87 +-
.../org/netbeans/modules/usersguide/f1_php036.htm | 28 +-
.../org/netbeans/modules/usersguide/f1_php037.htm | 56 +-
.../org/netbeans/modules/usersguide/f1_php038.htm | 57 +-
.../org/netbeans/modules/usersguide/f1_php039.htm | 40 +-
.../org/netbeans/modules/usersguide/f1_php040.htm | 44 +-
.../org/netbeans/modules/usersguide/f1_php041.htm | 44 +-
.../org/netbeans/modules/usersguide/f1_php042.htm | 33 +-
.../org/netbeans/modules/usersguide/f1_php043.htm | 67 +
.../netbeans/modules/usersguide/f1_profiler.htm | 4 +-
.../netbeans/modules/usersguide/f1_profiler001.htm | 10 +-
.../netbeans/modules/usersguide/f1_profiler002.htm | 6 +-
.../netbeans/modules/usersguide/f1_profiler003.htm | 8 +-
.../netbeans/modules/usersguide/f1_profiler004.htm | 8 +-
.../netbeans/modules/usersguide/f1_profiler005.htm | 12 +-
.../netbeans/modules/usersguide/f1_profiler006.htm | 12 +-
.../netbeans/modules/usersguide/f1_profiler007.htm | 12 +-
.../netbeans/modules/usersguide/f1_profiler008.htm | 12 +-
.../netbeans/modules/usersguide/f1_profiler009.htm | 10 +-
.../netbeans/modules/usersguide/f1_profiler010.htm | 12 +-
.../netbeans/modules/usersguide/f1_profiler011.htm | 12 +-
.../netbeans/modules/usersguide/f1_profiler012.htm | 10 +-
.../netbeans/modules/usersguide/f1_profiler013.htm | 6 +-
.../netbeans/modules/usersguide/f1_profiler014.htm | 10 +-
.../netbeans/modules/usersguide/f1_profiler015.htm | 8 +-
.../netbeans/modules/usersguide/f1_profiler016.htm | 10 +-
.../netbeans/modules/usersguide/f1_profiler017.htm | 8 +-
.../netbeans/modules/usersguide/f1_profiler018.htm | 10 +-
.../netbeans/modules/usersguide/f1_profiler019.htm | 6 +-
.../netbeans/modules/usersguide/f1_profiler020.htm | 8 +-
.../netbeans/modules/usersguide/f1_profiler021.htm | 156 +-
.../netbeans/modules/usersguide/f1_profiler022.htm | 6 +-
.../netbeans/modules/usersguide/f1_profiler023.htm | 6 +-
.../netbeans/modules/usersguide/f1_profiler024.htm | 6 +-
.../netbeans/modules/usersguide/f1_profiler025.htm | 8 +-
.../netbeans/modules/usersguide/f1_profiler026.htm | 8 +-
.../netbeans/modules/usersguide/f1_profiler027.htm | 8 +-
.../netbeans/modules/usersguide/f1_profiler028.htm | 6 +-
.../netbeans/modules/usersguide/f1_profiler029.htm | 6 +-
.../netbeans/modules/usersguide/f1_profiler030.htm | 6 +-
.../netbeans/modules/usersguide/f1_profiler031.htm | 6 +-
.../netbeans/modules/usersguide/f1_profiler032.htm | 6 +-
.../netbeans/modules/usersguide/f1_profiler033.htm | 6 +-
.../netbeans/modules/usersguide/f1_profiler034.htm | 6 +-
.../netbeans/modules/usersguide/f1_profiler035.htm | 6 +-
.../netbeans/modules/usersguide/f1_profiler036.htm | 6 +-
.../netbeans/modules/usersguide/f1_profiler037.htm | 6 +-
.../netbeans/modules/usersguide/f1_profiler038.htm | 6 +-
.../netbeans/modules/usersguide/f1_profiler039.htm | 6 +-
.../netbeans/modules/usersguide/f1_profiler040.htm | 6 +-
.../netbeans/modules/usersguide/f1_profiler041.htm | 193 +-
.../netbeans/modules/usersguide/f1_profiler042.htm | 94 +-
.../netbeans/modules/usersguide/f1_profiler043.htm | 77 +-
.../netbeans/modules/usersguide/f1_profiler044.htm | 58 +-
.../netbeans/modules/usersguide/f1_profiler045.htm | 92 +
.../netbeans/modules/usersguide/f1_profiler046.htm | 59 +
.../netbeans/modules/usersguide/f1_profiler047.htm | 67 +
.../netbeans/modules/usersguide/f1_profiler048.htm | 67 +
.../netbeans/modules/usersguide/f1_refactor.htm | 2 +-
.../netbeans/modules/usersguide/f1_refactor001.htm | 6 +-
.../netbeans/modules/usersguide/f1_refactor002.htm | 6 +-
.../netbeans/modules/usersguide/f1_refactor003.htm | 6 +-
.../netbeans/modules/usersguide/f1_refactor004.htm | 6 +-
.../netbeans/modules/usersguide/f1_refactor005.htm | 6 +-
.../netbeans/modules/usersguide/f1_refactor006.htm | 6 +-
.../netbeans/modules/usersguide/f1_refactor007.htm | 6 +-
.../netbeans/modules/usersguide/f1_refactor008.htm | 6 +-
.../netbeans/modules/usersguide/f1_refactor009.htm | 6 +-
.../netbeans/modules/usersguide/f1_refactor010.htm | 6 +-
.../netbeans/modules/usersguide/f1_refactor011.htm | 6 +-
.../netbeans/modules/usersguide/f1_refactor012.htm | 6 +-
.../netbeans/modules/usersguide/f1_refactor013.htm | 6 +-
.../netbeans/modules/usersguide/f1_refactor014.htm | 6 +-
.../netbeans/modules/usersguide/f1_refactor015.htm | 6 +-
.../netbeans/modules/usersguide/f1_refactor016.htm | 6 +-
.../netbeans/modules/usersguide/f1_refactor017.htm | 6 +-
.../netbeans/modules/usersguide/f1_refactor018.htm | 6 +-
.../netbeans/modules/usersguide/f1_refactor019.htm | 6 +-
.../netbeans/modules/usersguide/f1_refactor020.htm | 8 +-
.../netbeans/modules/usersguide/f1_refactor021.htm | 8 +-
.../netbeans/modules/usersguide/f1_refactor022.htm | 8 +-
.../netbeans/modules/usersguide/f1_refactor023.htm | 6 +-
.../netbeans/modules/usersguide/f1_refactor024.htm | 6 +-
.../netbeans/modules/usersguide/f1_refactor025.htm | 6 +-
.../netbeans/modules/usersguide/f1_refactor026.htm | 6 +-
.../netbeans/modules/usersguide/f1_refactor027.htm | 6 +-
.../netbeans/modules/usersguide/f1_subversion.htm | 4 +-
.../modules/usersguide/f1_subversion001.htm | 6 +-
.../modules/usersguide/f1_subversion002.htm | 6 +-
.../modules/usersguide/f1_subversion003.htm | 6 +-
.../modules/usersguide/f1_subversion004.htm | 6 +-
.../modules/usersguide/f1_subversion005.htm | 6 +-
.../modules/usersguide/f1_subversion006.htm | 6 +-
.../modules/usersguide/f1_subversion007.htm | 6 +-
.../modules/usersguide/f1_subversion008.htm | 6 +-
.../modules/usersguide/f1_subversion009.htm | 6 +-
.../modules/usersguide/f1_subversion010.htm | 6 +-
.../modules/usersguide/f1_subversion011.htm | 6 +-
.../modules/usersguide/f1_subversion012.htm | 6 +-
.../modules/usersguide/f1_subversion013.htm | 6 +-
.../modules/usersguide/f1_subversion014.htm | 6 +-
.../modules/usersguide/f1_subversion015.htm | 6 +-
.../modules/usersguide/f1_subversion016.htm | 6 +-
.../modules/usersguide/f1_subversion017.htm | 6 +-
.../modules/usersguide/f1_subversion018.htm | 6 +-
.../modules/usersguide/f1_subversion019.htm | 6 +-
.../modules/usersguide/f1_subversion020.htm | 6 +-
.../modules/usersguide/f1_subversion021.htm | 6 +-
.../modules/usersguide/f1_subversion022.htm | 6 +-
.../modules/usersguide/f1_subversion023.htm | 6 +-
.../modules/usersguide/f1_subversion024.htm | 6 +-
.../modules/usersguide/f1_subversion025.htm | 6 +-
.../modules/usersguide/f1_subversion026.htm | 6 +-
.../modules/usersguide/f1_subversion027.htm | 6 +-
.../modules/usersguide/f1_subversion028.htm | 6 +-
.../modules/usersguide/f1_subversion029.htm | 6 +-
.../modules/usersguide/f1_subversion030.htm | 6 +-
.../modules/usersguide/f1_subversion031.htm | 6 +-
.../modules/usersguide/f1_subversion032.htm | 6 +-
.../modules/usersguide/f1_subversion033.htm | 6 +-
.../modules/usersguide/f1_subversion034.htm | 6 +-
.../modules/usersguide/f1_subversion035.htm | 6 +-
.../modules/usersguide/f1_subversion036.htm | 6 +-
.../modules/usersguide/f1_subversion037.htm | 6 +-
.../org/netbeans/modules/usersguide/f1_team.htm | 4 +-
.../org/netbeans/modules/usersguide/f1_team001.htm | 4 +-
.../org/netbeans/modules/usersguide/f1_team002.htm | 4 +-
.../org/netbeans/modules/usersguide/f1_team003.htm | 4 +-
.../org/netbeans/modules/usersguide/f1_unit.htm | 4 +-
.../org/netbeans/modules/usersguide/f1_unit001.htm | 8 +-
.../org/netbeans/modules/usersguide/f1_unit002.htm | 6 +-
.../org/netbeans/modules/usersguide/f1_unit003.htm | 6 +-
.../org/netbeans/modules/usersguide/f1_unit004.htm | 6 +-
.../org/netbeans/modules/usersguide/f1_unit005.htm | 6 +-
.../org/netbeans/modules/usersguide/f1_unit006.htm | 6 +-
.../org/netbeans/modules/usersguide/f1_unit007.htm | 6 +-
.../netbeans/modules/usersguide/f1_web_apps.htm | 6 +-
.../netbeans/modules/usersguide/f1_web_apps001.htm | 30 +-
.../netbeans/modules/usersguide/f1_web_apps002.htm | 18 +-
.../netbeans/modules/usersguide/f1_web_apps003.htm | 12 +-
.../netbeans/modules/usersguide/f1_web_apps004.htm | 18 +-
.../netbeans/modules/usersguide/f1_web_apps005.htm | 16 +-
.../netbeans/modules/usersguide/f1_web_apps006.htm | 12 +-
.../netbeans/modules/usersguide/f1_web_apps007.htm | 10 +-
.../netbeans/modules/usersguide/f1_web_apps008.htm | 12 +-
.../netbeans/modules/usersguide/f1_web_apps009.htm | 12 +-
.../netbeans/modules/usersguide/f1_web_apps010.htm | 14 +-
.../netbeans/modules/usersguide/f1_web_apps011.htm | 12 +-
.../netbeans/modules/usersguide/f1_web_apps012.htm | 12 +-
.../netbeans/modules/usersguide/f1_web_apps013.htm | 14 +-
.../netbeans/modules/usersguide/f1_web_apps014.htm | 10 +-
.../netbeans/modules/usersguide/f1_web_apps015.htm | 10 +-
.../netbeans/modules/usersguide/f1_web_apps016.htm | 10 +-
.../netbeans/modules/usersguide/f1_web_apps017.htm | 10 +-
.../netbeans/modules/usersguide/f1_web_apps018.htm | 8 +-
.../netbeans/modules/usersguide/f1_web_apps019.htm | 18 +-
.../netbeans/modules/usersguide/f1_web_apps020.htm | 6 +-
.../netbeans/modules/usersguide/f1_web_apps021.htm | 8 +-
.../netbeans/modules/usersguide/f1_web_apps022.htm | 6 +-
.../netbeans/modules/usersguide/f1_web_apps023.htm | 8 +-
.../netbeans/modules/usersguide/f1_web_apps024.htm | 12 +-
.../netbeans/modules/usersguide/f1_web_apps025.htm | 8 +-
.../netbeans/modules/usersguide/f1_web_apps026.htm | 12 +-
.../netbeans/modules/usersguide/f1_web_apps027.htm | 12 +-
.../netbeans/modules/usersguide/f1_web_apps028.htm | 14 +-
.../netbeans/modules/usersguide/f1_web_apps029.htm | 8 +-
.../netbeans/modules/usersguide/f1_web_apps030.htm | 10 +-
.../netbeans/modules/usersguide/f1_web_apps031.htm | 12 +-
.../netbeans/modules/usersguide/f1_web_apps032.htm | 8 +-
.../netbeans/modules/usersguide/f1_web_apps033.htm | 10 +-
.../netbeans/modules/usersguide/f1_web_apps034.htm | 12 +-
.../netbeans/modules/usersguide/f1_web_apps035.htm | 8 +-
.../netbeans/modules/usersguide/f1_web_apps036.htm | 10 +-
.../netbeans/modules/usersguide/f1_web_apps037.htm | 10 +-
.../netbeans/modules/usersguide/f1_web_apps038.htm | 10 +-
.../netbeans/modules/usersguide/f1_web_apps039.htm | 10 +-
.../netbeans/modules/usersguide/f1_web_apps040.htm | 10 +-
.../netbeans/modules/usersguide/f1_web_apps041.htm | 8 +-
.../netbeans/modules/usersguide/f1_web_apps042.htm | 10 +-
.../netbeans/modules/usersguide/f1_web_apps043.htm | 12 +-
.../netbeans/modules/usersguide/f1_web_apps044.htm | 8 +-
.../netbeans/modules/usersguide/f1_web_apps045.htm | 8 +-
.../netbeans/modules/usersguide/f1_web_fmwk.htm | 6 +-
.../netbeans/modules/usersguide/f1_web_fmwk001.htm | 10 +-
.../netbeans/modules/usersguide/f1_web_fmwk002.htm | 8 +-
.../netbeans/modules/usersguide/f1_web_fmwk003.htm | 12 +-
.../netbeans/modules/usersguide/f1_web_fmwk004.htm | 10 +-
.../netbeans/modules/usersguide/f1_web_fmwk005.htm | 8 +-
.../netbeans/modules/usersguide/f1_web_fmwk006.htm | 10 +-
.../netbeans/modules/usersguide/f1_web_fmwk007.htm | 12 +-
.../netbeans/modules/usersguide/f1_web_fmwk008.htm | 12 +-
.../netbeans/modules/usersguide/f1_web_fmwk009.htm | 10 +-
.../netbeans/modules/usersguide/f1_web_fmwk010.htm | 10 +-
.../netbeans/modules/usersguide/f1_web_fmwk011.htm | 10 +-
.../netbeans/modules/usersguide/f1_web_fmwk012.htm | 10 +-
.../netbeans/modules/usersguide/f1_web_fmwk013.htm | 10 +-
.../netbeans/modules/usersguide/f1_web_fmwk014.htm | 12 +-
.../netbeans/modules/usersguide/f1_web_fmwk015.htm | 12 +-
.../netbeans/modules/usersguide/f1_web_fmwk016.htm | 12 +-
.../netbeans/modules/usersguide/f1_web_fmwk017.htm | 12 +-
.../netbeans/modules/usersguide/f1_web_fmwk018.htm | 12 +-
.../netbeans/modules/usersguide/f1_web_fmwk019.htm | 12 +-
.../netbeans/modules/usersguide/f1_web_fmwk020.htm | 12 +-
.../netbeans/modules/usersguide/f1_web_fmwk021.htm | 12 +-
.../modules/usersguide/f1_working_netbeans.htm | 4 +-
.../modules/usersguide/f1_working_netbeans001.htm | 10 +-
.../modules/usersguide/f1_working_netbeans002.htm | 6 +-
.../modules/usersguide/f1_working_netbeans003.htm | 6 +-
.../modules/usersguide/f1_working_netbeans004.htm | 6 +-
.../modules/usersguide/f1_working_netbeans005.htm | 10 +-
.../modules/usersguide/f1_working_netbeans006.htm | 8 +-
.../modules/usersguide/f1_working_netbeans007.htm | 6 +-
.../modules/usersguide/f1_working_netbeans008.htm | 6 +-
.../modules/usersguide/f1_working_netbeans009.htm | 6 +-
.../modules/usersguide/f1_working_netbeans010.htm | 4 +-
.../modules/usersguide/f1_working_netbeans011.htm | 6 +-
.../modules/usersguide/f1_working_netbeans012.htm | 6 +-
.../modules/usersguide/f1_working_netbeans013.htm | 8 +-
.../modules/usersguide/f1_working_netbeans014.htm | 8 +-
.../modules/usersguide/f1_working_netbeans015.htm | 6 +-
.../modules/usersguide/f1_working_netbeans016.htm | 8 +-
.../modules/usersguide/f1_working_netbeans017.htm | 6 +-
.../modules/usersguide/f1_working_netbeans018.htm | 10 +-
.../modules/usersguide/f1_working_netbeans019.htm | 8 +-
.../modules/usersguide/f1_working_netbeans020.htm | 6 +-
.../modules/usersguide/f1_working_netbeans021.htm | 6 +-
.../modules/usersguide/f1_working_netbeans022.htm | 6 +-
.../modules/usersguide/f1_working_netbeans023.htm | 16 +-
.../modules/usersguide/f1_working_netbeans024.htm | 8 +-
.../modules/usersguide/f1_working_netbeans025.htm | 6 +-
.../modules/usersguide/f1_working_netbeans026.htm | 6 +-
.../modules/usersguide/f1_working_netbeans027.htm | 6 +-
.../modules/usersguide/f1_working_netbeans028.htm | 6 +-
.../modules/usersguide/f1_working_netbeans029.htm | 6 +-
.../modules/usersguide/f1_working_netbeans030.htm | 6 +-
.../modules/usersguide/f1_working_netbeans031.htm | 6 +-
.../modules/usersguide/f1_working_netbeans032.htm | 6 +-
.../modules/usersguide/f1_working_netbeans033.htm | 6 +-
.../modules/usersguide/f1_working_netbeans034.htm | 6 +-
.../modules/usersguide/f1_working_netbeans035.htm | 6 +-
.../modules/usersguide/f1_working_netbeans036.htm | 6 +-
.../modules/usersguide/f1_working_netbeans037.htm | 6 +-
.../modules/usersguide/f1_working_netbeans038.htm | 6 +-
.../modules/usersguide/f1_working_netbeans039.htm | 6 +-
.../modules/usersguide/f1_working_netbeans040.htm | 6 +-
.../modules/usersguide/f1_working_netbeans041.htm | 6 +-
.../modules/usersguide/f1_working_netbeans042.htm | 6 +-
.../modules/usersguide/f1_working_netbeans043.htm | 6 +-
.../modules/usersguide/f1_working_netbeans044.htm | 6 +-
.../modules/usersguide/f1_working_netbeans045.htm | 12 +-
.../modules/usersguide/f1_working_netbeans046.htm | 12 +-
.../modules/usersguide/f1_working_netbeans047.htm | 8 +-
.../modules/usersguide/f1_working_netbeans048.htm | 4 +-
.../modules/usersguide/f1_working_netbeans049.htm | 6 +-
.../modules/usersguide/f1_working_netbeans050.htm | 6 +-
.../modules/usersguide/f1_working_netbeans051.htm | 16 +-
.../modules/usersguide/f1_working_netbeans052.htm | 4 +-
.../modules/usersguide/f1_working_netbeans053.htm | 6 +-
.../modules/usersguide/f1_working_netbeans054.htm | 6 +-
.../modules/usersguide/f1_working_netbeans055.htm | 8 +-
.../modules/usersguide/f1_working_netbeans056.htm | 6 +-
.../modules/usersguide/f1_working_netbeans057.htm | 12 +-
.../modules/usersguide/f1_working_netbeans058.htm | 6 +-
.../modules/usersguide/f1_working_netbeans059.htm | 4 +-
.../modules/usersguide/f1_working_netbeans060.htm | 6 +-
.../modules/usersguide/f1_working_netbeans061.htm | 12 +-
.../modules/usersguide/f1_working_netbeans062.htm | 6 +-
.../modules/usersguide/f1_working_netbeans063.htm | 10 +-
.../modules/usersguide/f1_working_netbeans064.htm | 6 +-
.../modules/usersguide/f1_working_netbeans065.htm | 6 +-
.../modules/usersguide/f1_working_netbeans066.htm | 6 +-
.../modules/usersguide/f1_working_netbeans067.htm | 4 +-
.../modules/usersguide/f1_working_netbeans068.htm | 4 +-
.../modules/usersguide/f1_working_netbeans069.htm | 6 +-
.../modules/usersguide/f1_working_netbeans070.htm | 6 +-
.../modules/usersguide/f1_working_netbeans071.htm | 50 +-
.../modules/usersguide/f1_working_netbeans072.htm | 4 +-
.../modules/usersguide/f1_working_netbeans073.htm | 6 +-
.../modules/usersguide/f1_working_netbeans074.htm | 6 +-
.../modules/usersguide/f1_working_netbeans075.htm | 10 +-
.../modules/usersguide/f1_working_netbeans076.htm | 6 +-
.../org/netbeans/modules/usersguide/f1_xml.htm | 6 +-
.../org/netbeans/modules/usersguide/f1_xml001.htm | 12 +-
.../org/netbeans/modules/usersguide/f1_xml002.htm | 8 +-
.../org/netbeans/modules/usersguide/f1_xml003.htm | 8 +-
.../org/netbeans/modules/usersguide/f1_xml004.htm | 8 +-
.../org/netbeans/modules/usersguide/ide-toc.xml | 2 +-
.../netbeans/modules/usersguide/img/contains.png | Bin 0 -> 453 bytes
.../modules/usersguide/img/does_not_contain.png | Bin 0 -> 472 bytes
.../netbeans/modules/usersguide/img/filter_sql.png | Bin 0 -> 570 bytes
.../netbeans/modules/usersguide/img/match_case.png | Bin 0 -> 632 bytes
.../modules/usersguide/img/reg_expression.png | Bin 0 -> 616 bytes
.../netbeans/modules/usersguide/img/settings.png | Bin 0 -> 841 bytes
.../netbeans/modules/usersguide/legal_notice.htm | 4 +-
.../org/netbeans/modules/usersguide/map.xml | 1194 +-
.../netbeans/modules/usersguide/prefacehelp.htm | 86 +
.../org/netbeans/modules/usersguide/titlehelp.htm | 14 +-
usersguide/manifest.mf | 2 +-
utilities.project/manifest.mf | 2 +-
.../org/netbeans/modules/search/project/layer.xml | 39 +
utilities/arch.xml | 49 +-
utilities/manifest.mf | 2 +-
versioning.core/arch.xml | 45 +-
versioning.core/nbproject/project.properties | 2 +-
.../modules/versioning/core/VersioningManager.java | 4 +
versioning.indexingbridge/build.xml | 39 +
versioning.indexingbridge/manifest.mf | 2 +-
.../nbproject/project.properties | 37 +
versioning.indexingbridge/nbproject/project.xml | 39 +
.../versioning/indexingbridge/Bundle.properties | 37 +
versioning.masterfs/build.xml | 39 +
versioning.masterfs/manifest.mf | 2 +-
versioning.masterfs/nbproject/project.properties | 37 +
versioning.masterfs/nbproject/project.xml | 39 +
.../modules/versioning/masterfs/Bundle.properties | 37 +
versioning.system.cvss.installer/build.xml | 39 +
versioning.system.cvss.installer/manifest.mf | 2 +-
.../nbproject/project.properties | 37 +
.../nbproject/project.xml | 39 +
versioning.ui/nbproject/project.properties | 2 +-
.../modules/versioning/ui/diff/DiffSidebar.java | 3 +
.../versioning/ui/history/Bundle.properties | 37 +
versioning.util/build.xml | 39 +
versioning.util/nbproject/project.properties | 2 +-
versioning.util/nbproject/project.xml | 39 +
.../src/org/netbeans/modules/turbo/package.html | 39 +
.../modules/versioning/annotate/AnnotationBar.java | 12 +-
.../netbeans/modules/versioning/util/Utils.java | 9 +-
.../components/versioning_output.settings | 39 +
.../modes/output/versioning_output.wstcref | 39 +
.../modules/versioning/util/UtilsTest.java | 2 +-
.../nbproject/org-netbeans-modules-versioning.sig | 2 +-
versioning/nbproject/project.properties | 2 +-
web.beans/build.xml | 39 +
web.beans/manifest.mf | 2 +-
web.beans/nbproject/project.xml | 39 +
.../modules/web/beans/BeansDataLoader.java | 84 +-
.../beans/impl/model/DefaultBindingTypeFilter.java | 68 +-
.../beans/impl/model/FieldInjectionPointLogic.java | 68 +-
.../modules/web/beans/resources/BeansResolver.xml | 39 +
.../modules/web/beans/resources/BeansXml.html | 16 +-
.../modules/web/beans/resources/Bundle.properties | 37 +
.../modules/web/beans/resources/Interceptor.html | 16 +-
.../modules/web/beans/resources/Qualifier.html | 16 +-
.../modules/web/beans/resources/Scope.html | 16 +-
.../modules/web/beans/resources/Stereotype.html | 16 +-
.../modules/web/beans/resources/beans-1.0.xml | 5 -
.../netbeans/modules/web/beans/resources/layer.xml | 2 +-
web.browser.api/build.xml | 39 +
web.browser.api/manifest.mf | 2 +-
web.browser.api/nbproject/project.xml | 39 +
.../modules/web/browser/ui/resources/layer.xml | 39 +
web.client.kit/build.xml | 39 +
web.client.kit/manifest.mf | 2 +-
web.client.kit/nbproject/project.properties | 37 +
web.client.kit/nbproject/project.xml | 46 +
web.client.kit/release/VERSION.txt | 2 +-
web.client.rest/build.xml | 39 +
web.client.rest/manifest.mf | 2 +-
web.client.rest/nbproject/project.properties | 37 +
web.client.rest/nbproject/project.xml | 39 +
.../modules/web/client/rest/Bundle.properties | 37 +
.../modules/web/client/rest/resources/js.html | 44 +
.../modules/web/client/rest/resources/rest.js | 48 +-
.../web/client/rest/wizard/resources/JSClient.html | 39 +
.../EaselDemo/nbproject/project.properties | 37 +
web.client.samples/EaselDemo/nbproject/project.xml | 39 +
.../EaselDemo/public_html/about.html | 51 +-
.../public_html/css/bootstrap-responsive.css | 825 -
.../public_html/css/bootstrap-responsive.min.css | 9 -
.../EaselDemo/public_html/css/bootstrap.css | 4984 ---
.../EaselDemo/public_html/css/bootstrap.min.css | 9 -
.../public_html/css/jquery.mobile-1.0.1.min.css | 2 -
.../EaselDemo/public_html/css/style.css | 48 +-
.../EaselDemo/public_html/index.html | 69 +-
.../EaselDemo/public_html/js/about.js | 41 +-
.../EaselDemo/public_html/js/bootstrap-alert.js | 90 -
.../EaselDemo/public_html/js/bootstrap-button.js | 96 -
.../EaselDemo/public_html/js/bootstrap-carousel.js | 169 -
.../EaselDemo/public_html/js/bootstrap-collapse.js | 157 -
.../EaselDemo/public_html/js/bootstrap-dropdown.js | 100 -
.../EaselDemo/public_html/js/bootstrap-modal.js | 218 -
.../EaselDemo/public_html/js/bootstrap-popover.js | 98 -
.../public_html/js/bootstrap-scrollspy.js | 151 -
.../EaselDemo/public_html/js/bootstrap-tab.js | 135 -
.../EaselDemo/public_html/js/bootstrap-tooltip.js | 275 -
.../public_html/js/bootstrap-transition.js | 61 -
.../public_html/js/bootstrap-typeahead.js | 285 -
.../EaselDemo/public_html/js/bootstrap.js | 1825 -
.../EaselDemo/public_html/js/draganddrop.js | 47 +-
.../js/libs/jqueryui-1.8.16/jquery-ui.js | 11767 ------
.../EaselDemo/public_html/js/loadWelcome.js | 46 +-
.../EaselDemo/public_html/rest/RestClient.js | 47 +-
.../EaselDemo/public_html/tableui.html | 61 +-
web.client.samples/manifest.mf | 2 +-
web.client.samples/nbproject/project.properties | 39 +-
web.client.samples/nbproject/project.xml | 39 +
.../netbeans/modules/web/client/samples/layer.xml | 2 +-
.../samples/resources/ResponsiveRabbits.html | 39 +
web.clientproject.api/build.xml | 39 +
web.clientproject.api/manifest.mf | 2 +-
web.clientproject.api/nbproject/project.properties | 39 +-
web.clientproject.api/nbproject/project.xml | 65 +
.../api/ClientProjectWizardProvider.java | 6 +
.../web/clientproject/api/build/BuildTools.java | 157 +-
.../api/build/ui/AdvancedTaskPanel.form | 137 -
.../api/build/ui/AdvancedTaskPanel.java | 281 -
.../clientproject/api/build/ui/AdvancedTasks.java | 110 -
.../clientproject/api/build/ui/Bundle.properties | 54 -
.../api/build/ui/CustomizerPanel.form | 219 -
.../api/build/ui/CustomizerPanel.java | 382 -
.../web/clientproject/api/build/ui/TasksMenu.java | 315 -
.../api/build/ui/VerticalGridLayout.java | 187 -
.../web/clientproject/api/json/JsonFile.java | 31 +-
.../clientproject/api/network/NetworkSupport.java | 15 +-
.../web/clientproject/build/AdvancedTask.java | 130 +
.../clientproject/build/AdvancedTasksStorage.java | 261 +
.../modules/web/clientproject/build/Tasks.java | 86 +
.../clientproject/build/ui/AdvancedTasksPanel.form | 325 +
.../clientproject/build/ui/AdvancedTasksPanel.java | 713 +
.../web/clientproject/build/ui/Bundle.properties | 60 +
.../clientproject/build/ui/CustomizerPanel.form | 225 +
.../clientproject/build/ui/CustomizerPanel.java | 430 +
.../clientproject/build/ui/NavigatorPanelImpl.java | 434 +
.../web/clientproject/build/ui/TasksMenu.java | 356 +
.../clientproject/build/ui/VerticalGridLayout.java | 187 +
.../spi/ClientProjectWizardProviderImpl.java | 1 +
.../spi/build/CustomizerPanelImplementation.java | 122 +
.../ui/options/CssPreprocessorsOptionsFactory.java | 8 +-
.../modules/web/clientproject/ui/resources/add.png | Bin 0 -> 2992 bytes
.../clientproject/ui/resources/advanced-task.gif | Bin 0 -> 576 bytes
.../web/clientproject/ui/resources/down.png | Bin 0 -> 945 bytes
.../web/clientproject/ui/resources/remove.png | Bin 0 -> 457 bytes
.../web/clientproject/ui/resources/task.gif | Bin 0 -> 450 bytes
.../modules/web/clientproject/ui/resources/up.png | Bin 0 -> 945 bytes
web.clientproject/build.xml | 39 +
web.clientproject/manifest.mf | 2 +-
web.clientproject/nbproject/project.properties | 39 +-
web.clientproject/nbproject/project.xml | 51 +-
.../ClientProjectWizardProviderImplementation.java | 5 +
.../web/clientproject/ClientSideProject.java | 3 +-
.../clientproject/ClientSideProjectConvertor.java | 63 +-
.../web/clientproject/sites/OnlineSites.java | 69 +-
.../clientproject/sites/SiteMobileBoilerplate.java | 120 -
.../ui/ClientSideProjectLogicalView.java | 116 +-
.../ui/customizer/CompositePanelProviderImpl.java | 6 +-
.../ui/resources/html5-convertor-project.png | Bin 0 -> 413 bytes
.../ui/wizard/ClientSideProjectWizardIterator.java | 1 +
.../ui/wizard/NewClientSideProject.java | 12 +-
.../ui/wizard/SiteTemplateWizard.form | 7 +-
.../ui/wizard/SiteTemplateWizard.java | 5 +-
.../modules/web/clientproject/ui/wizard/Tools.java | 8 +-
.../util/ClientSideProjectUtilities.java | 1 -
web.common.ui/build.xml | 49 +
web.common.ui/manifest.mf | 5 +
web.common.ui/nbproject/project.properties | 50 +
web.common.ui/nbproject/project.xml | 316 +
.../modules/web/common/ui/Bundle.properties | 40 +
.../ui/ExternalExecutionUserWarningImpl.java | 69 +
.../modules/web/common/ui/ImportantFiles.java | 367 +
.../web/common/ui/api/CssPreprocessorUI.java | 113 +
.../web/common/ui/api/CssPreprocessorsUI.java | 193 +
.../web/common/ui/api/ExternalExecutable.java | 737 +
.../common/ui/api/ExternalExecutableValidator.java | 122 +
.../web/common/ui/api/FileReferenceCompletion.java | 271 +
.../modules/web/common/ui/api/WebUIUtils.java | 164 +
.../web/common/ui}/cssprep/Bundle.properties | 0
.../common/ui}/cssprep/CssPrepOptionsPanel.form | 0
.../web/common/ui/cssprep/CssPrepOptionsPanel.java | 172 +
.../ui/cssprep/CssPrepOptionsPanelController.java | 190 +
.../common/ui/cssprep/CssPreprocessorAccessor.java | 88 +
.../ui/cssprep/CssPreprocessorsAccessor.java | 76 +
.../ui/cssprep/CssPreprocessorsCustomizer.java | 77 +
.../cssprep/CssPreprocessorsCustomizerPanel.form | 52 +
.../cssprep/CssPreprocessorsCustomizerPanel.java | 250 +
.../cssprep/CssPreprocessorsProblemProvider.java | 136 +
.../web/common/ui}/refactoring/Bundle.properties | 0
.../FolderActionsImplementationProvider.java | 150 +
.../web/common/ui/refactoring/RenamePanel.form | 100 +
.../web/common/ui/refactoring/RenamePanel.java | 186 +
.../common/ui/refactoring/RenameRefactoringUI.java | 161 +
.../web/common/ui/remote/RemoteFSDecoratorUI.java | 88 +
.../web/common/ui/resources/config-badge.gif | Bin
.../ui/spi/CssPreprocessorUIImplementation.java | 290 +
.../modules/web/common/ui/api/WebUIUtilsTest.java | 62 +
web.common/build.xml | 44 +
web.common/manifest.mf | 2 +-
web.common/nbproject/project.properties | 2 +-
web.common/nbproject/project.xml | 229 +-
.../netbeans/modules/web/common/Bundle.properties | 42 +
.../netbeans/modules/web/common/api/ByteStack.java | 229 +
.../modules/web/common/api/CssPreprocessor.java | 33 +-
.../modules/web/common/api/CssPreprocessors.java | 65 -
.../modules/web/common/api/ExternalExecutable.java | 742 -
.../common/api/ExternalExecutableValidator.java | 122 -
.../web/common/api/FileReferenceCompletion.java | 270 -
.../modules/web/common/api/LexerUtils.java | 19 +-
.../modules/web/common/api/ServerURLMapping.java | 4 +-
.../netbeans/modules/web/common/api/WebUtils.java | 114 +-
.../web/common/cssprep/CssPrepOptionsPanel.java | 180 -
.../cssprep/CssPrepOptionsPanelController.java | 190 -
.../common/cssprep/CssPreprocessorAccessor.java | 12 -
.../common/cssprep/CssPreprocessorsCustomizer.java | 77 -
.../cssprep/CssPreprocessorsCustomizerPanel.form | 52 -
.../cssprep/CssPreprocessorsCustomizerPanel.java | 252 -
.../cssprep/CssPreprocessorsProblemProvider.java | 135 -
.../FolderActionsImplementationProvider.java | 150 -
.../web/common/refactoring/RenamePanel.form | 100 -
.../web/common/refactoring/RenamePanel.java | 186 -
.../common/refactoring/RenameRefactoringUI.java | 161 -
.../modules/web/common/remote/RemoteFS.java | 28 +-
.../modules/web/common/sourcemap/Mapping.java | 38 +
.../web/common/sourcemap/MappingTokenizer.java | 9 +
.../modules/web/common/sourcemap/SourceMap.java | 163 +-
.../web/common/sourcemap/SourceMapsScanner.java | 474 +
.../web/common/sourcemap/SourceMapsTranslator.java | 198 +
.../common/sourcemap/SourceMapsTranslatorImpl.java | 301 +
.../common/spi/CssPreprocessorImplementation.java | 227 +-
.../spi/CssPreprocessorImplementationListener.java | 4 +-
.../common/spi/ExternalExecutableUserWarning.java | 52 +
.../modules/web/common/spi/RemoteFSDecorator.java | 54 +
.../modules/web/common/ui/ImportantFiles.java | 351 -
.../test/unit/data/sourcemaps/greeter.dmapping | 60 +
.../test/unit/data/sourcemaps/greeter.imapping | 49 +
web.common/test/unit/data/sourcemaps/greeter.js | 13 +
.../test/unit/data/sourcemaps/greeter.js.map | 1 +
web.common/test/unit/data/sourcemaps/greeter.ts | 10 +
web.common/test/unit/data/sourcemaps/test_1.map | 8 +
.../modules/web/common/api/ByteStackTest.java | 124 +
.../modules/web/common/api/WebUtilsTest.java | 6 -
.../web/common/sourcemap/SourceMapTest.java | 289 +
.../common/sourcemap/SourceMapsTranslatorTest.java | 106 +
.../external/binaries-list | 0
web.core.syntax/nbproject/project.properties | 2 +-
web.core.syntax/nbproject/project.xml | 9 +
.../src/META-INF/netbeans/translate.names | 39 +-
.../netbeans/modules/web/core/syntax/JspKit.java | 201 +-
.../web/core/syntax/JspTypedBreakInterceptor.java | 138 +
.../web/core/syntax/JspTypedTextInterceptor.java | 256 +
.../web/core/syntax/gsf/JspKeystrokeHandler.java | 238 -
.../modules/web/core/syntax/gsf/JspLanguage.java | 6 -
.../core/syntax/JspTypedTextInterceptorTest.java | 4 +
.../core/syntax/formatting/JspIndenterTest.java | 2 +-
.../js/JsTypedBreakInterceptorEmbeddedTest.java | 2 +-
.../web/core/syntax/ContextJspServletGenTest.java | 2 +-
.../web/core/syntax/SingleJspServletGenTest.java | 2 +-
.../tlddoc/HowGenerateDocumentation.html | 39 +
web.core.syntax/tlddoc/xslt/alltags-frame.html.xsl | 18 +-
.../tlddoc/xslt/alltags-noframe.html.xsl | 18 +-
web.core.syntax/tlddoc/xslt/function.html.xsl | 18 +-
web.core.syntax/tlddoc/xslt/help-doc.html.xsl | 18 +-
web.core.syntax/tlddoc/xslt/index.html.xsl | 18 +-
.../tlddoc/xslt/overview-frame.html.xsl | 18 +-
.../tlddoc/xslt/overview-summary.html.xsl | 18 +-
web.core.syntax/tlddoc/xslt/stylesheet.css | 65 +-
web.core.syntax/tlddoc/xslt/tag.html.xsl | 18 +-
web.core.syntax/tlddoc/xslt/tld-frame.html.xsl | 18 +-
web.core.syntax/tlddoc/xslt/tld-summary.html.xsl | 18 +-
web.core.syntax/tlddoc/xslt/tld1_1-tld1_2.xsl | 18 +-
web.core.syntax/tlddoc/xslt/tld1_2-tld2_0.xsl | 18 +-
web.core.syntax/tlddoc/xslt/tld2_0-tld2_1.xsl | 18 +-
web.core.syntax/tlddoc/xslt/tld2_1-tld2_1.xsl | 18 +-
web.core/nbproject/project.properties | 2 +-
.../web/core/jsploader/TagLibParseSupport.java | 2 +-
.../web/core/resources/ConnectionFailurePage.html | 16 +-
.../modules/web/core/resources/JSPInfo.html | 16 +-
.../modules/web/core/resources/Servlet.html | 16 +-
.../web/core/resources/ServletListener.html | 16 +-
.../modules/web/core/resources/SimpleFilter.html | 16 +-
.../modules/web/core/resources/TagFile.html | 16 +-
.../modules/web/core/resources/TagHandler.html | 16 +-
.../modules/web/core/resources/TagLibrary.html | 16 +-
.../modules/web/core/resources/WebInfo.html | 16 +-
.../modules/web/core/resources/webFragmentXml.html | 16 +-
.../modules/web/core/resources/webXml.html | 16 +-
.../modules/web/taglib/resources/javaee_5.xsd | 2 +-
.../resources/javaee_web_services_client_1_2.xsd | 2 +-
.../web/taglib/resources/web-jsptaglibrary_2_0.mdd | 39 +
.../web/taglib/resources/web-jsptaglibrary_2_1.mdd | 39 +
.../web/taglib/resources/web-jsptaglibrary_2_1.xsd | 2 +-
.../netbeans/modules/web/wizards/DeployData.java | 2 +-
web.debug/manifest.mf | 2 +-
.../org/netbeans/modules/web/debug/Context.java | 4 +-
.../web/debug/JspBreakpointAnnotationListener.java | 4 +-
.../data/TestLibrary/nbproject/build-impl.xml | 2 +-
.../data/TestTagLibrary/nbproject/build-impl.xml | 2 +-
web.el/build.xml | 39 +
web.el/manifest.mf | 2 +-
web.el/nbproject/project.properties | 37 +
web.el/nbproject/project.xml | 48 +
.../org/netbeans/modules/web/el/Bundle.properties | 37 +
web.el/src/org/netbeans/modules/web/el/layer.xml | 39 +
.../modules/web/el/navigation/Bundle.properties | 37 +
web.examples/appdev/build.properties | 9 -
web.examples/appdev/build.xml | 509 -
web.examples/appdev/nbproject/project.xml | 83 -
web.examples/appdev/src/mypackage/Hello.java | 95 -
web.examples/appdev/web/WEB-INF/web.xml | 23 -
web.examples/appdev/web/hello.jsp | 44 -
web.examples/appdev/web/images/tomcat.gif | Bin 1441 -> 0 bytes
web.examples/appdev/web/index.html | 28 -
web.examples/build.xml | 61 -
web.examples/jsp/build.xml | 69 -
web.examples/jsp/nbproject/project.properties | 84 -
web.examples/jsp/nbproject/project.xml | 23 -
web.examples/jsp/src/cal/Entries.java | 72 -
web.examples/jsp/src/cal/Entry.java | 54 -
web.examples/jsp/src/cal/JspCalendar.java | 154 -
web.examples/jsp/src/cal/TableBean.java | 101 -
web.examples/jsp/src/checkbox/CheckTest.java | 30 -
web.examples/jsp/src/colors/ColorGameBean.java | 114 -
.../src/compressionFilters/CompressionFilter.java | 219 -
.../CompressionFilterTestServlet.java | 56 -
.../CompressionResponseStream.java | 318 -
.../CompressionServletResponseWrapper.java | 277 -
web.examples/jsp/src/dates/JspCalendar.java | 152 -
web.examples/jsp/src/error/Smart.java | 34 -
web.examples/jsp/src/examples/ExampleTagBase.java | 66 -
web.examples/jsp/src/examples/FooTag.java | 82 -
web.examples/jsp/src/examples/FooTagExtraInfo.java | 32 -
web.examples/jsp/src/examples/LogTag.java | 60 -
web.examples/jsp/src/examples/ShowSource.java | 83 -
web.examples/jsp/src/filters/ExampleFilter.java | 140 -
.../jsp/src/filters/RequestDumperFilter.java | 201 -
.../src/filters/SetCharacterEncodingFilter.java | 172 -
web.examples/jsp/src/jsp2/examples/BookBean.java | 43 -
web.examples/jsp/src/jsp2/examples/FooBean.java | 35 -
.../jsp/src/jsp2/examples/el/Functions.java | 44 -
.../jsp2/examples/simpletag/EchoAttributesTag.java | 54 -
.../jsp2/examples/simpletag/FindBookSimpleTag.java | 44 -
.../examples/simpletag/HelloWorldSimpleTag.java | 31 -
.../jsp2/examples/simpletag/RepeatSimpleTag.java | 42 -
.../jsp2/examples/simpletag/ShuffleSimpleTag.java | 90 -
.../src/jsp2/examples/simpletag/TileSimpleTag.java | 46 -
.../jsp/src/listeners/ContextListener.java | 156 -
.../jsp/src/listeners/SessionListener.java | 183 -
web.examples/jsp/src/num/NumberGuessBean.java | 83 -
web.examples/jsp/src/servletToJsp.java | 32 -
web.examples/jsp/src/sessions/DummyCart.java | 69 -
web.examples/jsp/src/util/HTMLFilter.java | 69 -
.../jsp/src/validators/DebugValidator.java | 91 -
web.examples/jsp/web/WEB-INF/jsp/debug-taglib.tld | 53 -
.../jsp/web/WEB-INF/jsp/example-taglib.tld | 82 -
.../jsp/web/WEB-INF/jsp2/jsp2-example-taglib.tld | 123 -
web.examples/jsp/web/WEB-INF/sun-web.xml | 11 -
.../jsp/web/WEB-INF/tags/displayProducts.tag | 54 -
web.examples/jsp/web/WEB-INF/tags/helloWorld.tag | 16 -
web.examples/jsp/web/WEB-INF/tags/panel.tag | 28 -
web.examples/jsp/web/WEB-INF/tags/xhtmlbasic.tag | 20 -
web.examples/jsp/web/WEB-INF/web.xml | 240 -
web.examples/jsp/web/cal/Entries.java.html | 74 -
web.examples/jsp/web/cal/Entry.java.html | 56 -
web.examples/jsp/web/cal/JspCalendar.java.html | 156 -
web.examples/jsp/web/cal/TableBean.java.html | 103 -
web.examples/jsp/web/cal/cal1.jsp | 86 -
web.examples/jsp/web/cal/cal1.jsp.html | 89 -
web.examples/jsp/web/cal/cal2.jsp | 39 -
web.examples/jsp/web/cal/cal2.jsp.html | 43 -
web.examples/jsp/web/cal/calendar.html | 37 -
web.examples/jsp/web/cal/login.html | 46 -
web.examples/jsp/web/checkbox/CheckTest.html | 55 -
web.examples/jsp/web/checkbox/check.html | 37 -
web.examples/jsp/web/checkbox/checkresult.jsp | 66 -
web.examples/jsp/web/checkbox/checkresult.jsp.html | 70 -
web.examples/jsp/web/checkbox/cresult.html | 31 -
web.examples/jsp/web/colors/ColorGameBean.html | 115 -
web.examples/jsp/web/colors/clr.html | 31 -
web.examples/jsp/web/colors/colors.html | 46 -
web.examples/jsp/web/colors/colrs.jsp | 69 -
web.examples/jsp/web/colors/colrs.jsp.html | 71 -
web.examples/jsp/web/dates/date.html | 29 -
web.examples/jsp/web/dates/date.jsp | 40 -
web.examples/jsp/web/dates/date.jsp.html | 42 -
web.examples/jsp/web/error/er.html | 29 -
web.examples/jsp/web/error/err.jsp | 43 -
web.examples/jsp/web/error/err.jsp.html | 45 -
web.examples/jsp/web/error/error.html | 36 -
web.examples/jsp/web/error/errorpge.jsp | 23 -
web.examples/jsp/web/forward/forward.jsp | 22 -
web.examples/jsp/web/forward/forward.jsp.html | 24 -
web.examples/jsp/web/forward/fwd.html | 17 -
web.examples/jsp/web/forward/one.jsp | 12 -
web.examples/jsp/web/forward/two.html | 12 -
web.examples/jsp/web/images/code.gif | Bin 292 -> 0 bytes
web.examples/jsp/web/images/execute.gif | Bin 1242 -> 0 bytes
web.examples/jsp/web/images/read.gif | Bin 1125 -> 0 bytes
web.examples/jsp/web/images/return.gif | Bin 1231 -> 0 bytes
web.examples/jsp/web/include/foo.html | 16 -
web.examples/jsp/web/include/foo.jsp | 22 -
web.examples/jsp/web/include/inc.html | 28 -
web.examples/jsp/web/include/include.jsp | 36 -
web.examples/jsp/web/include/include.jsp.html | 36 -
web.examples/jsp/web/index.html | 361 -
web.examples/jsp/web/jsp2/el/Functions.java.html | 46 -
web.examples/jsp/web/jsp2/el/basic-arithmetic.html | 28 -
web.examples/jsp/web/jsp2/el/basic-arithmetic.jsp | 87 -
.../jsp/web/jsp2/el/basic-arithmetic.jsp.html | 89 -
.../jsp/web/jsp2/el/basic-comparisons.html | 28 -
web.examples/jsp/web/jsp2/el/basic-comparisons.jsp | 115 -
.../jsp/web/jsp2/el/basic-comparisons.jsp.html | 117 -
web.examples/jsp/web/jsp2/el/functions.html | 29 -
web.examples/jsp/web/jsp2/el/functions.jsp | 64 -
web.examples/jsp/web/jsp2/el/functions.jsp.html | 68 -
web.examples/jsp/web/jsp2/el/implicit-objects.html | 18 -
web.examples/jsp/web/jsp2/el/implicit-objects.jsp | 87 -
.../jsp/web/jsp2/el/implicit-objects.jsp.html | 91 -
.../jsp/web/jsp2/jspattribute/FooBean.java.html | 37 -
.../jspattribute/HelloWorldSimpleTag.java.html | 33 -
.../jsp2/jspattribute/ShuffleSimpleTag.java.html | 83 -
.../web/jsp2/jspattribute/TileSimpleTag.java.html | 48 -
.../jsp/web/jsp2/jspattribute/jspattribute.html | 33 -
.../jsp/web/jsp2/jspattribute/jspattribute.jsp | 45 -
.../web/jsp2/jspattribute/jspattribute.jsp.html | 47 -
.../jsp/web/jsp2/jspattribute/shuffle.html | 33 -
web.examples/jsp/web/jsp2/jspattribute/shuffle.jsp | 89 -
.../jsp/web/jsp2/jspattribute/shuffle.jsp.html | 91 -
web.examples/jsp/web/jsp2/jspx/basic.html | 29 -
web.examples/jsp/web/jsp2/jspx/basic.jspx | 30 -
web.examples/jsp/web/jsp2/jspx/basic.jspx.html | 32 -
web.examples/jsp/web/jsp2/jspx/svgexample.html | 51 -
web.examples/jsp/web/jsp2/jspx/textRotate.html | 30 -
web.examples/jsp/web/jsp2/jspx/textRotate.jpg | Bin 26729 -> 0 bytes
web.examples/jsp/web/jsp2/jspx/textRotate.jspx | 34 -
.../jsp/web/jsp2/jspx/textRotate.jspx.html | 37 -
.../jsp/web/jsp2/misc/EchoAttributesTag.java.html | 56 -
web.examples/jsp/web/jsp2/misc/coda.jspf | 5 -
web.examples/jsp/web/jsp2/misc/coda.jspf.html | 7 -
web.examples/jsp/web/jsp2/misc/config.html | 31 -
web.examples/jsp/web/jsp2/misc/config.jsp | 31 -
web.examples/jsp/web/jsp2/misc/config.jsp.html | 33 -
web.examples/jsp/web/jsp2/misc/dynamicattrs.html | 30 -
web.examples/jsp/web/jsp2/misc/dynamicattrs.jsp | 43 -
.../jsp/web/jsp2/misc/dynamicattrs.jsp.html | 45 -
web.examples/jsp/web/jsp2/misc/prelude.jspf | 5 -
web.examples/jsp/web/jsp2/misc/prelude.jspf.html | 7 -
.../jsp/web/jsp2/simpletag/BookBean.java.html | 45 -
.../web/jsp2/simpletag/FindBookSimpleTag.java.html | 46 -
.../jsp/web/jsp2/simpletag/Functions.java.html | 46 -
.../jsp2/simpletag/HelloWorldSimpleTag.java.html | 33 -
.../web/jsp2/simpletag/RepeatSimpleTag.java.html | 44 -
web.examples/jsp/web/jsp2/simpletag/book.html | 32 -
web.examples/jsp/web/jsp2/simpletag/book.jsp | 54 -
web.examples/jsp/web/jsp2/simpletag/book.jsp.html | 56 -
web.examples/jsp/web/jsp2/simpletag/hello.html | 30 -
web.examples/jsp/web/jsp2/simpletag/hello.jsp | 30 -
web.examples/jsp/web/jsp2/simpletag/hello.jsp.html | 32 -
web.examples/jsp/web/jsp2/simpletag/repeat.html | 30 -
web.examples/jsp/web/jsp2/simpletag/repeat.jsp | 38 -
.../jsp/web/jsp2/simpletag/repeat.jsp.html | 40 -
.../jsp/web/jsp2/tagfiles/displayProducts.tag.html | 56 -
web.examples/jsp/web/jsp2/tagfiles/hello.html | 30 -
web.examples/jsp/web/jsp2/tagfiles/hello.jsp | 34 -
web.examples/jsp/web/jsp2/tagfiles/hello.jsp.html | 36 -
.../jsp/web/jsp2/tagfiles/helloWorld.tag.html | 18 -
web.examples/jsp/web/jsp2/tagfiles/panel.html | 30 -
web.examples/jsp/web/jsp2/tagfiles/panel.jsp | 57 -
web.examples/jsp/web/jsp2/tagfiles/panel.jsp.html | 59 -
web.examples/jsp/web/jsp2/tagfiles/panel.tag.html | 30 -
web.examples/jsp/web/jsp2/tagfiles/products.html | 19 -
web.examples/jsp/web/jsp2/tagfiles/products.jsp | 53 -
.../jsp/web/jsp2/tagfiles/products.jsp.html | 55 -
.../jsp/web/jsp2/tagfiles/xhtmlbasic.tag.html | 22 -
web.examples/jsp/web/jsptoserv/hello.jsp | 25 -
web.examples/jsp/web/jsptoserv/jsptoservlet.jsp | 22 -
.../jsp/web/jsptoserv/jsptoservlet.jsp.html | 24 -
web.examples/jsp/web/jsptoserv/jts.html | 31 -
.../jsp/web/jsptoserv/servletToJsp.java.html | 34 -
web.examples/jsp/web/num/numguess.html | 32 -
web.examples/jsp/web/num/numguess.jsp | 68 -
web.examples/jsp/web/num/numguess.jsp.html | 71 -
web.examples/jsp/web/plugin/applet/Clock2.java | 214 -
web.examples/jsp/web/plugin/plugin.html | 28 -
web.examples/jsp/web/plugin/plugin.jsp | 33 -
web.examples/jsp/web/plugin/plugin.jsp.html | 35 -
web.examples/jsp/web/security/protected/error.jsp | 24 -
web.examples/jsp/web/security/protected/index.jsp | 82 -
web.examples/jsp/web/security/protected/login.jsp | 37 -
web.examples/jsp/web/sessions/DummyCart.html | 55 -
web.examples/jsp/web/sessions/carts.html | 52 -
web.examples/jsp/web/sessions/carts.jsp | 43 -
web.examples/jsp/web/sessions/carts.jsp.html | 45 -
web.examples/jsp/web/sessions/crt.html | 31 -
web.examples/jsp/web/simpletag/foo.html | 28 -
web.examples/jsp/web/simpletag/foo.jsp | 37 -
web.examples/jsp/web/simpletag/foo.jsp.html | 39 -
web.examples/jsp/web/snp/snoop.html | 29 -
web.examples/jsp/web/snp/snoop.jsp | 45 -
web.examples/jsp/web/snp/snoop.jsp.html | 49 -
web.examples/jsp/web/source.jsp | 19 -
web.examples/jsp/web/tagplugin/choose.html | 35 -
web.examples/jsp/web/tagplugin/choose.jsp | 54 -
web.examples/jsp/web/tagplugin/choose.jsp.html | 59 -
web.examples/jsp/web/tagplugin/foreach.html | 35 -
web.examples/jsp/web/tagplugin/foreach.jsp | 54 -
web.examples/jsp/web/tagplugin/foreach.jsp.html | 58 -
web.examples/jsp/web/tagplugin/howto.html | 42 -
web.examples/jsp/web/tagplugin/if.html | 35 -
web.examples/jsp/web/tagplugin/if.jsp | 44 -
web.examples/jsp/web/tagplugin/if.jsp.html | 46 -
web.examples/jsp/web/tagplugin/notes.html | 38 -
web.examples/jsp/web/xml/xml.html | 29 -
web.examples/jsp/web/xml/xml.jsp | 69 -
web.examples/jsp/web/xml/xml.jsp.html | 71 -
web.examples/jstl/nbproject/project.properties | 86 -
web.examples/jstl/nbproject/project.xml | 23 -
.../taglibs/standard/examples/beans/Address.java | 201 -
.../taglibs/standard/examples/beans/Customer.java | 260 -
.../taglibs/standard/examples/beans/Customers.java | 140 -
.../taglibs/standard/examples/i18n/Resources.java | 78 -
.../standard/examples/i18n/Resources_de.java | 78 -
.../standard/examples/i18n/Resources_fr.java | 78 -
.../standard/examples/i18n/Resources_it.java | 72 -
.../taglibs/standard/examples/startup/Init.java | 183 -
.../standard/examples/taglib/CustomerFmtTag.java | 156 -
.../standard/examples/taglib/DefaultLocaleTag.java | 80 -
.../standard/examples/taglib/EscapeHtmlTag.java | 172 -
.../taglibs/standard/examples/taglib/EvenTag.java | 83 -
.../taglibs/standard/examples/taglib/FileTag.java | 160 -
.../standard/examples/taglib/Functions.java | 109 -
.../standard/examples/taglib/LocalesTag.java | 101 -
.../examples/taglib/NullAttributeException.java | 81 -
.../taglibs/standard/examples/taglib/OddTag.java | 87 -
.../standard/examples/taglib/ResourceTag.java | 172 -
.../standard/examples/taglib/UsCustomerTag.java | 133 -
.../standard/examples/util/DataSourceProvider.java | 144 -
.../taglibs/standard/examples/util/IOBean.java | 98 -
.../util/ServletResponseWrapperForWriter.java | 101 -
.../taglibs/standard/examples/util/Util.java | 95 -
web.examples/jstl/web/ShowSource.jsp | 37 -
.../jstl/web/Templates/ExamplesTemplate.dwt | 38 -
web.examples/jstl/web/WEB-INF/jstl-examples.tld | 165 -
web.examples/jstl/web/WEB-INF/sun-web.xml | 11 -
web.examples/jstl/web/WEB-INF/web.xml | 46 -
web.examples/jstl/web/conditionals/Choose.jsp | 27 -
.../jstl/web/conditionals/CustomLogicTag.jsp | 36 -
.../jstl/web/conditionals/FailureLocal.jsp | 27 -
web.examples/jstl/web/conditionals/If.jsp | 19 -
web.examples/jstl/web/conditionals/index.html | 59 -
web.examples/jstl/web/elsupport/Out.jsp | 34 -
web.examples/jstl/web/elsupport/Set.jsp | 33 -
web.examples/jstl/web/elsupport/Set2.jsp | 16 -
web.examples/jstl/web/elsupport/index.html | 60 -
web.examples/jstl/web/format/Demo.jsp | 118 -
web.examples/jstl/web/format/FormatDateTime.jsp | 74 -
.../web/format/FormatDateTimeBrowserLocale.jsp | 73 -
web.examples/jstl/web/format/FormatNumber.jsp | 41 -
.../jstl/web/format/FormatNumberBrowserLocale.jsp | 52 -
web.examples/jstl/web/format/GermanLocale.jsp | 18 -
.../jstl/web/format/GermanUmlautCorrect.jsp | 20 -
.../jstl/web/format/GermanUmlautIncorrect.jsp | 18 -
web.examples/jstl/web/format/ItalianLocale.jsp | 15 -
.../jstl/web/format/MissingResourceBundle.jsp | 22 -
.../jstl/web/format/ParametricReplacement.jsp | 66 -
web.examples/jstl/web/format/PrefixAttribute.jsp | 16 -
web.examples/jstl/web/format/RequestEncoding.jsp | 18 -
web.examples/jstl/web/format/UndefinedKey.jsp | 15 -
web.examples/jstl/web/format/index.html | 89 -
web.examples/jstl/web/functions/EscapeXml.jsp | 39 -
web.examples/jstl/web/functions/Length.jsp | 37 -
web.examples/jstl/web/functions/Replace.jsp | 55 -
web.examples/jstl/web/functions/SplitJoin.jsp | 87 -
.../jstl/web/functions/StringCapitalization.jsp | 55 -
web.examples/jstl/web/functions/StringSubset.jsp | 183 -
.../jstl/web/functions/SubstringContained.jsp | 227 -
web.examples/jstl/web/functions/Trim.jsp | 48 -
web.examples/jstl/web/functions/index.html | 90 -
web.examples/jstl/web/global.css | 8 -
web.examples/jstl/web/images/code.gif | Bin 292 -> 0 bytes
web.examples/jstl/web/images/execute.gif | Bin 1242 -> 0 bytes
web.examples/jstl/web/images/return.gif | Bin 1231 -> 0 bytes
web.examples/jstl/web/import/Absolute.jsp | 19 -
web.examples/jstl/web/import/AbsoluteFtp.jsp | 18 -
web.examples/jstl/web/import/ContextRelative.jsp | 20 -
web.examples/jstl/web/import/Encode.jsp | 47 -
.../jstl/web/import/EncodeContextRelative.jsp | 20 -
web.examples/jstl/web/import/ExposeString.jsp | 20 -
.../jstl/web/import/ExposeStringRelative.jsp | 17 -
web.examples/jstl/web/import/LocalSample.jsp | 14 -
web.examples/jstl/web/import/Param.jsp | 13 -
web.examples/jstl/web/import/Relative.jsp | 18 -
web.examples/jstl/web/import/StartSlash.jsp | 16 -
web.examples/jstl/web/import/index.html | 99 -
web.examples/jstl/web/import/index.jsp | 94 -
web.examples/jstl/web/import/links.html | 46 -
web.examples/jstl/web/import/relativeLinks.html | 10 -
web.examples/jstl/web/import/session.jsp | 33 -
web.examples/jstl/web/index.html | 142 -
web.examples/jstl/web/iterators/Collaboration.jsp | 42 -
web.examples/jstl/web/iterators/DataTypes.jsp | 40 -
web.examples/jstl/web/iterators/Extensability.jsp | 45 -
web.examples/jstl/web/iterators/ForTokens.jsp | 25 -
web.examples/jstl/web/iterators/Simple.jsp | 18 -
web.examples/jstl/web/iterators/SimpleRange.jsp | 16 -
web.examples/jstl/web/iterators/Status.jsp | 53 -
web.examples/jstl/web/iterators/index.html | 78 -
web.examples/jstl/web/misc/IteratorTest.jsp | 60 -
web.examples/jstl/web/misc/index.html | 46 -
web.examples/jstl/web/sql/DriverSetup.jsp | 22 -
web.examples/jstl/web/sql/QueryDirect.jsp | 80 -
web.examples/jstl/web/sql/QueryIterate.jsp | 105 -
web.examples/jstl/web/sql/QueryParam.jsp | 65 -
web.examples/jstl/web/sql/Transaction.jsp | 54 -
web.examples/jstl/web/sql/Update.jsp | 110 -
web.examples/jstl/web/sql/index.jsp | 100 -
web.examples/jstl/web/sql/links.html | 32 -
web.examples/jstl/web/sql/session.jsp | 17 -
.../jstl/web/tlv/PermittedTaglibsError.jsp | 26 -
web.examples/jstl/web/tlv/PermittedTaglibsOk.jsp | 30 -
web.examples/jstl/web/tlv/ScriptFreeError.jsp | 15 -
web.examples/jstl/web/tlv/ScriptFreeOk.jsp | 25 -
web.examples/jstl/web/tlv/index.html | 67 -
web.examples/jstl/web/xml/Filter.jsp | 33 -
web.examples/jstl/web/xml/ForEach.jsp | 83 -
web.examples/jstl/web/xml/ForEachDoc.xml | 15 -
web.examples/jstl/web/xml/If.jsp | 42 -
web.examples/jstl/web/xml/Out.jsp | 66 -
web.examples/jstl/web/xml/Parse.jsp | 30 -
web.examples/jstl/web/xml/ParseWithEntities.jsp | 27 -
web.examples/jstl/web/xml/Set.jsp | 31 -
web.examples/jstl/web/xml/Transform.jsp | 58 -
.../jstl/web/xml/TransformWithInclusion.jsp | 32 -
web.examples/jstl/web/xml/When.jsp | 68 -
web.examples/jstl/web/xml/games.xml | 31 -
web.examples/jstl/web/xml/included.xml | 3 -
web.examples/jstl/web/xml/includedStylesheet.xsl | 56 -
web.examples/jstl/web/xml/index.html | 81 -
web.examples/l10n.list | 3 -
web.examples/manifest.mf | 6 -
web.examples/nbproject/project.properties | 43 -
web.examples/nbproject/project.xml | 157 -
web.examples/servlets/nbproject/project.properties | 83 -
web.examples/servlets/nbproject/project.xml | 18 -
web.examples/servlets/src/CookieExample.java | 118 -
web.examples/servlets/src/HelloWorldExample.java | 75 -
web.examples/servlets/src/LocalStrings.properties | 52 -
.../servlets/src/LocalStrings_en.properties | 52 -
.../servlets/src/LocalStrings_es.properties | 52 -
.../servlets/src/LocalStrings_fr.properties | 52 -
.../servlets/src/RequestHeaderExample.java | 90 -
web.examples/servlets/src/RequestInfoExample.java | 114 -
web.examples/servlets/src/RequestParamExample.java | 106 -
web.examples/servlets/src/SessionExample.java | 140 -
.../src/compressionFilters/CompressionFilter.java | 218 -
.../CompressionFilterTestServlet.java | 57 -
.../CompressionResponseStream.java | 317 -
.../CompressionServletResponseWrapper.java | 276 -
.../servlets/src/filters/ExampleFilter.java | 139 -
.../servlets/src/filters/RequestDumperFilter.java | 200 -
.../src/filters/SetCharacterEncodingFilter.java | 171 -
.../servlets/src/listeners/ContextListener.java | 155 -
.../servlets/src/listeners/SessionListener.java | 182 -
web.examples/servlets/src/util/HTMLFilter.java | 69 -
web.examples/servlets/web/WEB-INF/sun-web.xml | 11 -
web.examples/servlets/web/WEB-INF/web.xml | 259 -
web.examples/servlets/web/cookies.html | 60 -
web.examples/servlets/web/helloworld.html | 49 -
web.examples/servlets/web/images/code.gif | Bin 292 -> 0 bytes
web.examples/servlets/web/images/execute.gif | Bin 1242 -> 0 bytes
web.examples/servlets/web/images/return.gif | Bin 1231 -> 0 bytes
web.examples/servlets/web/index.html | 120 -
web.examples/servlets/web/reqheaders.html | 48 -
web.examples/servlets/web/reqinfo.html | 67 -
web.examples/servlets/web/reqparams.html | 55 -
web.examples/servlets/web/sessions.html | 69 -
.../modules/web/examples/Bundle.properties | 82 -
.../modules/web/examples/FoldersListSettings.java | 83 -
.../web/examples/PanelConfigureProject.java | 129 -
.../web/examples/PanelConfigureProjectVisual.form | 31 -
.../web/examples/PanelConfigureProjectVisual.java | 116 -
.../web/examples/PanelProjectLocationVisual.form | 136 -
.../web/examples/PanelProjectLocationVisual.java | 297 -
.../web/examples/WebSampleProjectGenerator.java | 245 -
.../web/examples/WebSampleProjectIterator.java | 171 -
.../modules/web/examples/WizardProperties.java | 58 -
.../modules/web/examples/descriptions/jsp.html | 6 -
.../modules/web/examples/descriptions/jstl.html | 6 -
.../web/examples/descriptions/servlets.html | 7 -
.../examples/descriptions/webSamplesCategory.html | 1 -
web.freeform/manifest.mf | 2 +-
.../freeform/resources/freeform-project-web.html | 85 +-
web.indent/build.xml | 39 +
web.indent/manifest.mf | 2 +-
web.indent/nbproject/project.xml | 39 +
.../netbeans/modules/web/indent/Bundle.properties | 37 +
web.inspect/manifest.mf | 2 +-
web.inspect/nbproject/project.xml | 17 +
.../web/inspect/webkit/WebKitPageModel.java | 2 +-
.../inspect/webkit/ui/CSSStylesSelectionPanel.java | 4 +-
web.javascript.debugger/build.xml | 39 +
web.javascript.debugger/manifest.mf | 2 +-
.../nbproject/project.properties | 2 +-
web.javascript.debugger/nbproject/project.xml | 66 +-
.../web/javascript/debugger/MiscEditorUtil.java | 233 +-
.../debugger/annotation/PinWatchValueProvider.java | 252 +
.../debugger/annotation/ToolTipAnnotation.java | 102 +-
.../debugger/annotation/ToolTipModel.java | 104 -
.../annotation/WebJSDebuggerTooltipSupport.java | 123 -
.../breakpoints/BreakpointActionProvider.java | 5 +-
.../debugger/breakpoints/BreakpointModel.java | 2 +-
.../BreakpointModelActiveSessionFilter.java | 2 +-
.../breakpoints/BreakpointRuntimeSetter.java | 51 +-
.../debugger/breakpoints/BreakpointsReader.java | 5 +-
.../debugger/breakpoints/LineBreakpointUtils.java | 12 +-
.../breakpoints/WebBreakpointsActiveService.java | 17 -
.../breakpoints/WebKitBreakpointManager.java | 185 +-
.../debugger/breakpoints/ui/Bundle.properties | 37 +
.../NetBeansJavaScriptDebuggerFactoryImpl.java | 2 +
.../debugger/callstack/CallStackActionsModel.java | 7 +-
.../callstack/CallStackAnnotationListener.java | 86 +-
.../debugger/callstack/CallStackModel.java | 9 +-
.../debugger/eval/EvaluatorServiceImpl.java | 14 +-
.../debugger/eval/VarNamesTranslatorFactory.java | 81 +
.../javascript/debugger/locals/VariablesModel.java | 40 +-
.../debugger/sessions/SessionsModel.java | 2 +-
web.jsf.editor/build.xml | 39 +
.../external/binaries-list | 0
web.jsf.editor/manifest.mf | 2 +-
web.jsf.editor/nbproject/project.properties | 2 +-
web.jsf.editor/nbproject/project.xml | 56 +
.../completion/JsfAttributesCompletionHelper.java | 2 +-
.../editor/facelets/AbstractFaceletsLibrary.java | 63 +-
.../web/jsf/editor/facelets/FaceletsLibrary.java | 63 +-
.../web/jsf/editor/facelets/libdefs/composite.xml | 39 +
.../web/jsf/editor/facelets/libdefs/core.xml | 39 +
.../web/jsf/editor/facelets/libdefs/functions.xml | 41 +-
.../web/jsf/editor/facelets/libdefs/html.xml | 39 +
.../modules/web/jsf/editor/facelets/libdefs/ui.xml | 39 +
.../jsf/editor/facelets/mojarra/ConfigManager.java | 60 +-
.../mojarra/FaceletsTaglibConfigProcessor.java | 67 +-
.../web/jsf/editor/index/JsfBinaryIndexer.java | 14 +-
.../web/jsf/editor/index/JsfCustomIndexer.java | 9 +-
.../web/jsf/editor/resources/Bundle.properties | 37 +
.../jsf/editor/resources/DefaultKeyBindings.xml | 2 +-
.../modules/web/jsf/editor/resources/layer.xml | 39 +
web.jsf.icefaces/build.xml | 39 +
web.jsf.icefaces/manifest.mf | 2 +-
web.jsf.icefaces/nbproject/project.properties | 37 +
web.jsf.icefaces/nbproject/project.xml | 39 +
.../web/jsf/icefaces/resources/Bundle.properties | 37 +
.../modules/web/jsf/icefaces/resources/layer.xml | 39 +
.../modules/web/jsf/icefaces/ui/Bundle.properties | 37 +
web.jsf.kit/build.xml | 39 +
web.jsf.kit/manifest.mf | 2 +-
web.jsf.kit/nbproject/project.properties | 37 +
web.jsf.kit/nbproject/project.xml | 39 +
.../netbeans/modules/web/jsf/kit/Bundle.properties | 37 +
web.jsf.navigation/build.xml | 39 +
web.jsf.navigation/manifest.mf | 2 +-
web.jsf.navigation/nbproject/project.xml | 39 +
.../web/jsf/navigation/NavigationCaseEdge.java | 3 +-
.../jsf/navigation/PageFlowToolbarUtilities.java | 3 +-
.../modules/web/jsf/navigation/PageFlowView.java | 18 +-
.../netbeans/modules/web/jsf/navigation/Pin.java | 4 +-
.../jsf/navigation/graph/PageFlowSceneElement.java | 44 +-
.../jsf/navigation/graph/actions/Bundle.properties | 37 +
.../graph/actions/LinkCreateProvider.java | 3 +-
.../graph/actions/PageFlowAcceptProvider.java | 4 +-
.../graph/actions/PageFlowPopupProvider.java | 4 +-
.../web/jsf/navigation/PageFlowControllerTest.java | 2 +-
.../web/jsf/navigation/TestJSFApp/build.xml | 53 +-
.../navigation/TestJSFApp/nbproject/ant-deploy.xml | 41 +-
.../TestJSFApp/nbproject/project.properties | 37 +
.../navigation/TestJSFApp/nbproject/project.xml | 39 +
.../TestJSFApp/web/WEB-INF/faces-config.xml | 39 +
.../navigation/TestJSFApp/web/WEB-INF/sun-web.xml | 40 +
.../jsf/navigation/TestJSFApp/web/WEB-INF/web.xml | 39 +
.../jsf/navigation/TestJSFApp/web/welcomeJSF.jsp | 42 +
web.jsf.richfaces/build.xml | 39 +
web.jsf.richfaces/manifest.mf | 2 +-
web.jsf.richfaces/nbproject/project.properties | 37 +
web.jsf.richfaces/nbproject/project.xml | 39 +
.../modules/web/jsf/richfaces/resources/layer.xml | 39 +
.../modules/web/jsf/richfaces/ui/Bundle.properties | 37 +
web.jsf/nbproject/project.properties | 2 +-
web.jsf/nbproject/project.xml | 9 +
.../web/jsf/facelets/resources/Template.html | 45 +-
.../web/jsf/facelets/resources/TemplateClient.html | 45 +-
.../modules/web/jsf/resources/FacesComponent.html | 16 +-
.../modules/web/jsf/resources/FacesConfig.html | 16 +-
.../modules/web/jsf/resources/JSFInfo.html | 16 +-
.../modules/web/jsf/resources/JSFManagedBean.html | 16 +-
.../modules/web/jsf/resources/JsfFromDB.html | 16 +-
.../web/jsf/resources/ResourceLibraryContract.html | 16 +-
.../web/jsf/resources/compositeComponent.html | 11 +-
.../web/jsf/resources/facelet-taglib_1_0.dtd | 3 +-
.../modules/web/jsf/resources/faces-config_1_2.xml | 6 +-
.../jsf/resources/web-facelettaglibrary_2_0.xsd | 10 +-
.../web/jsf/resources/web-facesconfig_1_1.mdd | 39 +
.../web/jsf/resources/web-facesconfig_1_2.mdd | 39 +
.../web.jsf12 => web.jsf12}/external/binaries-list | 0
web.jsf12/nbproject/project.properties | 2 +-
web.jsf12ri/build.xml | 39 +
web.jsf12ri/nbproject/project.properties | 2 +-
web.jsf12ri/nbproject/project.xml | 39 +
.../web.jsf20 => web.jsf20}/external/binaries-list | 0
web.jsf20/nbproject/project.properties | 2 +-
web.jsfapi/build.xml | 39 +
web.jsfapi/manifest.mf | 2 +-
web.jsfapi/nbproject/project.properties | 37 +
web.jsfapi/nbproject/project.xml | 48 +
.../netbeans/modules/web/jsfapi/Bundle.properties | 37 +
.../netbeans/modules/web/jsfapi/api/Library.java | 63 +-
.../external/binaries-list | 0
.../web/jspparser_ext/WebAppParseSupport.java | 115 +-
web.jspparser/manifest.mf | 2 +-
.../modules/web/jspparser/Bundle.properties | 2 +-
.../modules/web/jspparser/JspParserImpl.java | 2 +-
.../modules/web/jspparser/WebAppParseProxy.java | 3 +-
.../modules/web/jsps/parserapi/PageInfo.java | 11 +-
.../netbeans/modules/web/jspparser/ParseTest.java | 2 +-
.../web/jspparser/ParserClassLoaderTest.java | 5 +-
.../goldenfiles/ParseTest/testAnalysisFaulty.pass | 8 +-
.../goldenfiles/ParseTest/testAnalysisMain.pass | 8 +-
web.kit/build.xml | 39 +
web.kit/manifest.mf | 2 +-
web.kit/nbproject/project.xml | 46 +-
web.kit/release/VERSION.txt | 2 +-
.../org/netbeans/modules/web/kit/Bundle.properties | 37 +
web.kit/test/coverage.properties | 37 +
.../NewWebProjectStrutsFrameworkStepOperator.java | 39 +
.../external/binaries-list | 0
web.monitor/manifest.mf | 2 +-
web.primefaces/build.xml | 39 +
.../external/binaries-list | 0
web.primefaces/manifest.mf | 2 +-
web.primefaces/nbproject/project.properties | 37 +
web.primefaces/nbproject/project.xml | 39 +
.../web/primefaces/resources/Bundle.properties | 37 +
.../modules/web/primefaces/resources/layer.xml | 39 +
.../web/primefaces/resources/primefaces.xml | 46 +-
.../modules/web/primefaces/ui/Bundle.properties | 37 +
web.project/nbproject/project.properties | 2 +-
web.project/nbproject/project.xml | 8 +
.../netbeans/modules/web/project/WebProject.java | 3 +-
.../modules/web/project/resources/jax-ws.xml | 5 -
.../ui/customizer/WebCompositePanelProvider.java | 6 +-
.../web/project/ui/resources/web-emptyProject.html | 16 +-
.../project/ui/resources/web-importProject.html | 16 +-
.../modules/web/project/ui/resources/web.html | 75 +-
web.refactoring/build.xml | 39 +
web.refactoring/nbproject/project.properties | 39 +-
web.refactoring/nbproject/project.xml | 39 +
.../modules/web/refactoring/Bundle.properties | 37 +
.../modules/web/refactoring/rename/TldRename.java | 2 +-
.../external/binaries-list | 0
web.struts/nbproject/project.properties | 2 +-
.../struts/resources/MessageResources.properties | 37 +
.../modules/web/struts/resources/StrutsAction.html | 16 +-
.../web/struts/resources/StrutsFormBean.html | 16 +-
.../web/struts/resources/struts-config_1_2.mdd | 39 +
.../modules/web/struts/resources/validation.xml | 39 +
.../modules/web/struts/EndToEndTest.properties | 37 +
web.webkit.debugging/build.xml | 39 +
web.webkit.debugging/manifest.mf | 2 +-
web.webkit.debugging/nbproject/project.properties | 37 +
web.webkit.debugging/nbproject/project.xml | 39 +
.../modules/web/webkit/debugging/Bundle.properties | 43 +
.../modules/web/webkit/debugging/api/Debugger.java | 35 +-
.../debugging/api/console/ConsoleMessage.java | 6 +
.../modules/web/webkit/debugging/api/css/CSS.java | 37 +-
.../webkit/debugging/api/css/MatchedStyles.java | 9 +-
.../webkit/debugging/api/css/PseudoIdRules.java | 98 -
.../modules/web/webkit/debugging/api/css/Rule.java | 2 +-
.../web/webkit/debugging/api/css/Style.java | 20 +-
.../webkit/debugging/api/debugger/Breakpoint.java | 17 +
.../web/webkit/debugging/api/debugger/Script.java | 4 +-
.../web/webkit/debugging/api/network/Network.java | 6 +
web.webkit.tooling/build.xml | 39 +
web.webkit.tooling/manifest.mf | 2 +-
web.webkit.tooling/nbproject/project.properties | 37 +
web.webkit.tooling/nbproject/project.xml | 39 +
.../modules/web/webkit/tooling/Bundle.properties | 37 +
.../tooling/console/BrowserConsoleLogger.java | 61 +-
.../tooling/networkmonitor/Bundle.properties | 37 +
.../webkit/tooling/networkmonitor/ModelItem.java | 3 +-
weblogic.common/build.xml | 39 +
weblogic.common/manifest.mf | 2 +-
weblogic.common/nbproject/project.xml | 39 +
.../weblogic/common/api/DeploymentTarget.java | 121 +
.../weblogic/common/api/WebLogicDeployer.java | 225 +-
.../weblogic/common/resources/Bundle.properties | 37 +
websocket/build.xml | 39 +
websocket/manifest.mf | 2 +-
websocket/nbproject/project.properties | 37 +
websocket/nbproject/project.xml | 39 +
.../websocket/wizard/resources/WebSocket.html | 39 +
websvc.clientapi/manifest.mf | 2 +-
websvc.core/nbproject/project.properties | 2 +-
.../core/client/resources/WebServiceClient.html | 16 +-
.../websvc/core/dev/resources/LogicalHandler.html | 16 +-
.../websvc/core/dev/resources/MessageHandler.html | 16 +-
.../websvc/core/dev/resources/WebService.html | 16 +-
.../core/dev/resources/WebServiceFromWSDL.html | 16 +-
.../core/jaxws/projects/JavaEEWSOpenHook.java | 23 +-
.../core/resources/default-binding-handler.xml | 6 +-
websvc.customization/nbproject/project.properties | 2 +-
.../jaxwssettings/panel/Bundle.properties | 39 +-
websvc.design/manifest.mf | 2 +-
.../websvc/design/view/actions/Bundle.properties | 2 +-
websvc.editor.hints/manifest.mf | 2 +-
websvc.jaxws.lightapi/manifest.mf | 2 +-
.../external/binaries-list | 0
websvc.jaxws21/manifest.mf | 2 +-
.../external/binaries-list | 0
websvc.jaxws21api/manifest.mf | 2 +-
websvc.jaxwsapi/manifest.mf | 2 +-
websvc.jaxwsmodel/manifest.mf | 2 +-
websvc.jaxwsmodelapi/build.xml | 39 +
websvc.jaxwsmodelapi/manifest.mf | 2 +-
websvc.jaxwsmodelapi/nbproject/project.properties | 37 +
websvc.jaxwsmodelapi/nbproject/project.xml | 39 +
.../modules/websvc/jaxwsmodelapi/Bundle.properties | 37 +
websvc.kit/manifest.mf | 2 +-
.../netbeans/modules/ws/qaf/editor/HintsTests.java | 4 +-
websvc.manager/manifest.mf | 2 +-
.../modules/websvc/manager/ui/Bundle.properties | 37 +
.../websvc/manager/ui/TestWebServiceMethodDlg.java | 2 +-
.../external/binaries-list | 0
websvc.metro.lib/manifest.mf | 2 +-
websvc.metro.model/manifest.mf | 2 +-
websvc.metro.model/nbproject/coverage.properties | 38 +
websvc.metro.model/nbproject/project.properties | 37 +
websvc.metro.samples/manifest.mf | 2 +-
.../samples_src/CalculatorApp/build.xml | 39 +
.../CalculatorApp/nbproject/jaxws-build.xml | 39 +
.../CalculatorApp/nbproject/project.properties | 37 +
.../CalculatorApp/nbproject/project.xml | 39 +
.../CalculatorApp/web/WEB-INF/sun-web.xml | 2 +-
.../samples_src/CalculatorClientApp/build.xml | 45 +-
.../samples_src/CalculatorClientApp/catalog.xml | 39 +
.../CalculatorClientApp/nbproject/jax-ws.xml | 39 +
.../nbproject/project.properties | 37 +
.../CalculatorClientApp/nbproject/project.xml | 39 +
.../wsdl/CalculatorWSService.wsdl | 42 +-
.../src/java/META-INF/CalculatorWSService.xml | 42 +-
.../src/java/META-INF/wsit-client.xml | 50 +-
.../web/WEB-INF/jax-ws-catalog.xml | 39 +
.../CalculatorClientApp/web/WEB-INF/sun-web.xml | 39 +
.../web/WEB-INF/wsdl/CalculatorWSService.wsdl | 42 +-
.../SecureCalculatorApp/nbproject/jaxws-build.xml | 39 +
.../SecureCalculatorApp/web/WEB-INF/sun-web.xml | 2 +-
.../wsdl/CalculatorWSService.wsdl | 42 +-
.../src/java/META-INF/CalculatorWSService.xml | 4 +-
.../web/WEB-INF/jax-ws-catalog.xml | 39 +
.../web/WEB-INF/sun-web.xml | 2 +-
.../web/WEB-INF/wsdl/CalculatorWSService.wsdl | 42 +-
.../metro/samples/descriptions/Calculator.html | 39 +
.../samples/descriptions/SecureCalculator.html | 39 +
.../samples/descriptions/metroSamplesCategory.html | 39 +
.../modules/websvc/metro/samples/mf-layer.xml | 2 +-
websvc.owsm/manifest.mf | 2 +-
websvc.owsm/nbproject/project.xml | 39 +
websvc.projectapi/arch.xml | 49 +-
websvc.projectapi/manifest.mf | 2 +-
.../CustomerDB/src/java/entities/Customer.java | 40 +-
.../CustomerDB/src/java/entities/DiscountCode.java | 40 +-
.../CustomerDB/src/java/entities/MicroMarket.java | 40 +-
.../src/java/entities/service/AbstractFacade.java | 42 +-
.../java/entities/service/ApplicationConfig.java | 42 +-
.../java/entities/service/CustomerFacadeREST.java | 40 +-
.../entities/service/DiscountCodeFacadeREST.java | 40 +-
.../entities/service/MicroMarketFacadeREST.java | 40 +-
.../CustomerDB/web/CustomerClient.js | 48 +-
.../CustomerDB/web/css_master-all.css | 58 +-
websvc.rest.samples/CustomerDB/web/index.html | 62 +-
.../CustomerDB/web/js/libs/backbone.js/backbone.js | 1571 -
.../web/js/libs/underscore.js/underscore.js | 1226 -
.../CustomerDB/web/test-resbeans.css | 79 +-
.../CustomerDBClient/web/css/style.css | 77 +-
.../CustomerDBSpring/setup/sun-resources.xml | 8 +-
.../CustomerDBSpring/web/restclient/Readme.html | 77 +-
.../CustomerDBSpring/web/restclient/TestStubs.html | 75 +-
.../web/restclient/css/clientstubs.css | 79 +-
.../web/restclient/css/css_master-all.css | 58 +-
.../web/restclient/ui/css/style.css | 77 +-
.../LeanServiceECBComponentWithAjax/build.xml | 43 +-
.../nbproject/project.properties | 37 +
.../nbproject/project.xml | 39 +
.../src/conf/persistence.xml | 39 +
.../web/WEB-INF/sun-web.xml | 39 +
.../web/WEB-INF/web.xml | 39 +
.../LeanServiceECBComponentWithAjax/web/index.html | 58 +-
websvc.rest.samples/MessageBoard/docs/index.html | 41 +
.../MessageBoard/nbproject/project.properties | 37 +
.../MessageBoard/nbproject/project.xml | 39 +
websvc.rest.samples/MessageBoard/web/index.html | 73 +-
.../RestRCPMvnAppSampleProject/application/pom.xml | 40 +-
.../RestRCPMvnAppSampleProject/branding/pom.xml | 39 +
.../org/netbeans/core/startup/Bundle.properties | 37 +
.../core/windows/view/ui/Bundle.properties | 37 +
.../org/netbeans/core/ui/Bundle.properties | 37 +
.../main/resources/demo/rest/mvn/Bundle.properties | 37 +
.../src/main/resources/demo/rest/mvn/layer.xml | 41 +-
.../RestRCPMvnAppSampleProject/pom.xml | 39 +
.../RestRCPMvnAppSampleProject/restsample/pom.xml | 41 +-
websvc.rest.samples/manifest.mf | 2 +-
.../CustomerDBClientSampleDescription.html | 45 +-
.../resources/CustomerDBSampleDescription.html | 39 +
.../CustomerDBSpringSampleDescription.html | 39 +
.../resources/HelloWorldSampleDescription.html | 39 +
.../resources/LeanServiceECBComponentWithAjax.html | 39 +
.../resources/MessageBoardSampleDescription.html | 39 +
.../resources/RestRCPMvnAppSampleDescription.html | 15 +-
.../websvc/rest/samples/resources/category.html | 38 +
websvc.rest/manifest.mf | 2 +-
.../websvc/rest/codegen/RestGenerationOptions.java | 52 +-
.../rest/wizard/fromdb/EjbFacadeGenerator.java | 9 +-
.../rest/wizard/resources/DatabaseResource.html | 39 +
.../rest/wizard/resources/EntityResources.html | 39 +
.../websvc/rest/wizard/resources/JaxRsFilter.html | 39 +
.../rest/wizard/resources/JaxRsInterceptor.html | 39 +
.../rest/wizard/resources/JerseyClientWizard.html | 11 +-
.../wizard/resources/OriginResourceFilter.html | 41 +-
.../rest/wizard/resources/PatternResources.html | 39 +
websvc.restapi/manifest.mf | 2 +-
.../websvc/rest/spi/resources/clientstubs.css | 79 +-
.../websvc/rest/spi/resources/css_master-all.css | 58 +-
.../websvc/rest/spi/resources/test-resbeans.css | 79 +-
websvc.restkit/manifest.mf | 2 +-
websvc.restlib/arch.xml | 49 +-
.../external/binaries-list | 0
websvc.restlib/manifest.mf | 2 +-
websvc.saas.api/manifest.mf | 2 +-
websvc.saas.api/nbproject/project.properties | 37 +
websvc.saas.api/nbproject/project.xml | 39 +
websvc.saas.codegen.j2ee/build.xml | 39 +
websvc.saas.codegen.j2ee/manifest.mf | 2 +-
.../nbproject/project.properties | 37 +
websvc.saas.codegen.j2ee/nbproject/project.xml | 39 +
.../modules/websvc/saas/codegen/j2ee/layer.xml | 39 +
websvc.saas.codegen.java/build.xml | 39 +
websvc.saas.codegen.java/manifest.mf | 2 +-
.../nbproject/project.properties | 37 +
websvc.saas.codegen.java/nbproject/project.xml | 39 +
.../modules/websvc/saas/codegen/java/layer.xml | 39 +
websvc.saas.codegen.php/build.xml | 39 +
websvc.saas.codegen.php/manifest.mf | 2 +-
.../nbproject/project.properties | 37 +
websvc.saas.codegen.php/nbproject/project.xml | 39 +
.../modules/websvc/saas/codegen/php/layer.xml | 41 +-
websvc.saas.codegen/build.xml | 39 +
websvc.saas.codegen/manifest.mf | 2 +-
websvc.saas.codegen/nbproject/project.properties | 37 +
websvc.saas.codegen/nbproject/project.xml | 39 +
websvc.saas.kit/build.xml | 41 +-
websvc.saas.kit/manifest.mf | 2 +-
websvc.saas.kit/nbproject/project.xml | 39 +
websvc.saas.kit/release/VERSION.txt | 2 +-
.../modules/websvc/saas/kit/Bundle.properties | 37 +
websvc.saas.services.amazon/build.xml | 39 +
websvc.saas.services.amazon/manifest.mf | 2 +-
websvc.saas.services.amazon/nbproject/project.xml | 39 +
websvc.saas.services.delicious/build.xml | 39 +
websvc.saas.services.delicious/manifest.mf | 2 +-
.../nbproject/project.xml | 39 +
websvc.saas.services.flickr/build.xml | 39 +
websvc.saas.services.flickr/manifest.mf | 2 +-
websvc.saas.services.flickr/nbproject/project.xml | 39 +
websvc.saas.services.google/build.xml | 39 +
websvc.saas.services.google/manifest.mf | 2 +-
websvc.saas.services.google/nbproject/project.xml | 39 +
.../resources/java/googlemapservice.properties | 41 +-
websvc.saas.services.strikeiron/build.xml | 39 +
websvc.saas.services.strikeiron/manifest.mf | 2 +-
.../nbproject/project.properties | 37 +
.../nbproject/project.xml | 39 +
websvc.saas.services.weatherbug/build.xml | 39 +
websvc.saas.services.weatherbug/manifest.mf | 2 +-
.../nbproject/project.properties | 37 +
.../nbproject/project.xml | 39 +
.../saas/services/weatherbug/Bundle.properties | 37 +
.../websvc/saas/services/weatherbug/layer.xml | 43 +-
websvc.saas.services.zillow/build.xml | 39 +
websvc.saas.services.zillow/manifest.mf | 2 +-
websvc.saas.services.zillow/nbproject/project.xml | 39 +
websvc.saas.services.zvents/build.xml | 39 +
websvc.saas.services.zvents/manifest.mf | 2 +-
websvc.saas.services.zvents/nbproject/project.xml | 39 +
.../websvc/saas/services/zvents/Bundle.properties | 37 +
.../modules/websvc/saas/services/zvents/layer.xml | 43 +-
websvc.saas.ui/build.xml | 39 +
websvc.saas.ui/manifest.mf | 2 +-
websvc.saas.ui/nbproject/project.properties | 37 +
websvc.saas.ui/nbproject/project.xml | 39 +
websvc.utilities/manifest.mf | 2 +-
websvc.websvcapi/manifest.mf | 2 +-
websvc.wsitconf/coverage/emmascript.xml | 55 +-
websvc.wsitconf/manifest.mf | 2 +-
websvc.wsitconf/nbproject/coverage.properties | 38 +
.../websvc/wsitconf/resources/STSWizard.html | 39 +
websvc.wsitmodelext/manifest.mf | 2 +-
websvc.wsitmodelext/nbproject/coverage.properties | 38 +
websvc.wsstackapi/arch.xml | 49 +-
websvc.wsstackapi/manifest.mf | 2 +-
welcome/manifest.mf | 2 +-
welcome/release/docs/GUIExamplesDescription.html | 41 +-
welcome/release/docs/SwingInteropDescription.html | 51 +-
welcome/release/docs/netbeans.css | 39 +
.../modules/welcome/Bundle_test.properties | 2 +-
.../netbeans/modules/welcome/FeedbackSurvey.java | 29 +-
.../modules/welcome/resources/Bundle.properties | 37 +
.../modules/welcome/resources/Welcome.settings | 39 +
.../modules/welcome/resources/Welcome.wstcref | 39 +
.../modules/welcome/resources/java_logo_dark.png | Bin 0 -> 6921 bytes
.../modules/welcome/resources/nb_logo_dark.png | Bin 0 -> 3366 bytes
.../modules/welcome/resources/oracle_logo_dark.png | Bin 0 -> 1211 bytes
.../modules/welcome/resources/whatsnew.url | 2 +-
whitelist/build.xml | 39 +
whitelist/manifest.mf | 2 +-
whitelist/nbproject/project.properties | 37 +
whitelist/nbproject/project.xml | 39 +
.../netbeans/modules/whitelist/Bundle.properties | 37 +
.../modules/whitelist/project/Bundle.properties | 37 +
xml.axi/manifest.mf | 2 +-
.../modules/xml/axi/AXIModelPerf2Test.java | 84 -
.../netbeans/modules/xml/axi/resources/hl7/ACK.xsd | 29 -
.../modules/xml/axi/resources/hl7/ADR_A19.xsd | 72 -
.../modules/xml/axi/resources/hl7/ADT_A01.xsd | 60 -
.../modules/xml/axi/resources/hl7/ADT_A02.xsd | 34 -
.../modules/xml/axi/resources/hl7/ADT_A03.xsd | 45 -
.../modules/xml/axi/resources/hl7/ADT_A05.xsd | 60 -
.../modules/xml/axi/resources/hl7/ADT_A06.xsd | 61 -
.../modules/xml/axi/resources/hl7/ADT_A09.xsd | 35 -
.../modules/xml/axi/resources/hl7/ADT_A12.xsd | 35 -
.../modules/xml/axi/resources/hl7/ADT_A15.xsd | 35 -
.../modules/xml/axi/resources/hl7/ADT_A16.xsd | 36 -
.../modules/xml/axi/resources/hl7/ADT_A17.xsd | 40 -
.../modules/xml/axi/resources/hl7/ADT_A18.xsd | 32 -
.../modules/xml/axi/resources/hl7/ADT_A20.xsd | 29 -
.../modules/xml/axi/resources/hl7/ADT_A21.xsd | 34 -
.../modules/xml/axi/resources/hl7/ADT_A24.xsd | 36 -
.../modules/xml/axi/resources/hl7/ADT_A30.xsd | 31 -
.../modules/xml/axi/resources/hl7/ADT_A37.xsd | 36 -
.../modules/xml/axi/resources/hl7/ADT_A38.xsd | 36 -
.../modules/xml/axi/resources/hl7/ADT_A39.xsd | 39 -
.../modules/xml/axi/resources/hl7/ADT_A43.xsd | 38 -
.../modules/xml/axi/resources/hl7/ADT_A45.xsd | 39 -
.../modules/xml/axi/resources/hl7/ADT_A50.xsd | 32 -
.../modules/xml/axi/resources/hl7/BAR_P01.xsd | 66 -
.../modules/xml/axi/resources/hl7/BAR_P02.xsd | 39 -
.../modules/xml/axi/resources/hl7/BAR_P05.xsd | 66 -
.../modules/xml/axi/resources/hl7/BAR_P06.xsd | 37 -
.../modules/xml/axi/resources/hl7/CRM_C01.xsd | 38 -
.../modules/xml/axi/resources/hl7/CSU_C09.xsd | 84 -
.../modules/xml/axi/resources/hl7/DFT_P03.xsd | 63 -
.../modules/xml/axi/resources/hl7/DOC_T12.xsd | 44 -
.../modules/xml/axi/resources/hl7/DSR_Q01.xsd | 34 -
.../modules/xml/axi/resources/hl7/DSR_Q03.xsd | 34 -
.../modules/xml/axi/resources/hl7/EDR_R07.xsd | 32 -
.../modules/xml/axi/resources/hl7/EQQ_Q04.xsd | 29 -
.../modules/xml/axi/resources/hl7/ERP_R09.xsd | 32 -
.../modules/xml/axi/resources/hl7/MDM_T01.xsd | 31 -
.../modules/xml/axi/resources/hl7/MDM_T02.xsd | 32 -
.../modules/xml/axi/resources/hl7/MFD_MFA.xsd | 29 -
.../modules/xml/axi/resources/hl7/MFK_M01.xsd | 31 -
.../modules/xml/axi/resources/hl7/MFN_M01.xsd | 37 -
.../modules/xml/axi/resources/hl7/MFN_M02.xsd | 38 -
.../modules/xml/axi/resources/hl7/MFN_M03.xsd | 38 -
.../modules/xml/axi/resources/hl7/MFN_M04.xsd | 38 -
.../modules/xml/axi/resources/hl7/MFN_M05.xsd | 48 -
.../modules/xml/axi/resources/hl7/MFN_M06.xsd | 45 -
.../modules/xml/axi/resources/hl7/MFN_M08.xsd | 45 -
.../modules/xml/axi/resources/hl7/MFN_M09.xsd | 44 -
.../modules/xml/axi/resources/hl7/MFN_M10.xsd | 44 -
.../modules/xml/axi/resources/hl7/MFN_M11.xsd | 44 -
.../modules/xml/axi/resources/hl7/MFQ_M01.xsd | 30 -
.../modules/xml/axi/resources/hl7/MFR_M01.xsd | 43 -
.../modules/xml/axi/resources/hl7/OMD_O01.xsd | 89 -
.../modules/xml/axi/resources/hl7/OMN_O01.xsd | 82 -
.../modules/xml/axi/resources/hl7/OMS_O01.xsd | 81 -
.../modules/xml/axi/resources/hl7/ORD_O02.xsd | 63 -
.../modules/xml/axi/resources/hl7/ORF_R04.xsd | 66 -
.../modules/xml/axi/resources/hl7/ORM_O01.xsd | 94 -
.../modules/xml/axi/resources/hl7/ORN_O02.xsd | 43 -
.../modules/xml/axi/resources/hl7/ORR_O02.xsd | 54 -
.../modules/xml/axi/resources/hl7/ORS_O02.xsd | 42 -
.../modules/xml/axi/resources/hl7/ORU_R01.xsd | 71 -
.../modules/xml/axi/resources/hl7/OSQ_Q06.xsd | 30 -
.../modules/xml/axi/resources/hl7/OSR_Q06.xsd | 57 -
.../modules/xml/axi/resources/hl7/PEX_P07.xsd | 113 -
.../modules/xml/axi/resources/hl7/PGL_PC6.xsd | 127 -
.../modules/xml/axi/resources/hl7/PIN_I07.xsd | 55 -
.../modules/xml/axi/resources/hl7/PPG_PCG.xsd | 136 -
.../modules/xml/axi/resources/hl7/PPP_PCB.xsd | 136 -
.../modules/xml/axi/resources/hl7/PPR_PC1.xsd | 127 -
.../modules/xml/axi/resources/hl7/PPT_PCL.xsd | 146 -
.../modules/xml/axi/resources/hl7/PPV_PCA.xsd | 137 -
.../modules/xml/axi/resources/hl7/PRR_PC5.xsd | 137 -
.../modules/xml/axi/resources/hl7/PTR_PCF.xsd | 146 -
.../modules/xml/axi/resources/hl7/QCK_Q02.xsd | 30 -
.../modules/xml/axi/resources/hl7/QRY_A19.xsd | 29 -
.../modules/xml/axi/resources/hl7/QRY_PC4.xsd | 29 -
.../modules/xml/axi/resources/hl7/QRY_Q01.xsd | 30 -
.../modules/xml/axi/resources/hl7/QRY_Q02.xsd | 30 -
.../modules/xml/axi/resources/hl7/QRY_R02.xsd | 29 -
.../modules/xml/axi/resources/hl7/QRY_T12.xsd | 29 -
.../modules/xml/axi/resources/hl7/RAR_RAR.xsd | 65 -
.../modules/xml/axi/resources/hl7/RAS_O01.xsd | 97 -
.../modules/xml/axi/resources/hl7/RCI_I05.xsd | 60 -
.../modules/xml/axi/resources/hl7/RCL_I06.xsd | 46 -
.../modules/xml/axi/resources/hl7/RDE_O01.xsd | 93 -
.../modules/xml/axi/resources/hl7/RDO_O01.xsd | 90 -
.../modules/xml/axi/resources/hl7/RDR_RDR.xsd | 72 -
.../modules/xml/axi/resources/hl7/RDS_O01.xsd | 97 -
.../modules/xml/axi/resources/hl7/REF_I12.xsd | 109 -
.../modules/xml/axi/resources/hl7/RER_RER.xsd | 57 -
.../modules/xml/axi/resources/hl7/RGR_RGR.xsd | 66 -
.../modules/xml/axi/resources/hl7/RGV_O01.xsd | 102 -
.../modules/xml/axi/resources/hl7/RPA_I08.xsd | 102 -
.../modules/xml/axi/resources/hl7/RPI_I01.xsd | 56 -
.../modules/xml/axi/resources/hl7/RPI_I04.xsd | 56 -
.../modules/xml/axi/resources/hl7/RPL_I02.xsd | 40 -
.../modules/xml/axi/resources/hl7/RPR_I03.xsd | 39 -
.../modules/xml/axi/resources/hl7/RQA_I08.xsd | 107 -
.../modules/xml/axi/resources/hl7/RQC_I05.xsd | 42 -
.../modules/xml/axi/resources/hl7/RQC_I06.xsd | 42 -
.../modules/xml/axi/resources/hl7/RQI_I01.xsd | 55 -
.../modules/xml/axi/resources/hl7/RQP_I04.xsd | 40 -
.../modules/xml/axi/resources/hl7/RQQ_Q09.xsd | 29 -
.../modules/xml/axi/resources/hl7/RRA_O02.xsd | 48 -
.../modules/xml/axi/resources/hl7/RRD_O02.xsd | 49 -
.../modules/xml/axi/resources/hl7/RRE_O02.xsd | 49 -
.../modules/xml/axi/resources/hl7/RRG_O02.xsd | 49 -
.../modules/xml/axi/resources/hl7/RRI_I12.xsd | 91 -
.../modules/xml/axi/resources/hl7/RRO_O02.xsd | 51 -
.../modules/xml/axi/resources/hl7/SIU_S12.xsd | 81 -
.../modules/xml/axi/resources/hl7/SPQ_Q08.xsd | 30 -
.../modules/xml/axi/resources/hl7/SQM_S25.xsd | 79 -
.../modules/xml/axi/resources/hl7/SQR_S25.xsd | 89 -
.../modules/xml/axi/resources/hl7/SRM_S01.xsd | 85 -
.../modules/xml/axi/resources/hl7/SRR_S01.xsd | 87 -
.../modules/xml/axi/resources/hl7/SUR_P09.xsd | 53 -
.../modules/xml/axi/resources/hl7/TBR_R08.xsd | 33 -
.../modules/xml/axi/resources/hl7/UDM_Q05.xsd | 31 -
.../modules/xml/axi/resources/hl7/VQQ_Q07.xsd | 30 -
.../modules/xml/axi/resources/hl7/VXQ_V01.xsd | 29 -
.../modules/xml/axi/resources/hl7/VXR_V03.xsd | 68 -
.../modules/xml/axi/resources/hl7/VXU_V04.xsd | 65 -
.../modules/xml/axi/resources/hl7/VXX_V02.xsd | 39 -
.../modules/xml/axi/resources/hl7/batch.xsd | 40 -
.../modules/xml/axi/resources/hl7/datatypes.xsd | 10295 ------
.../modules/xml/axi/resources/hl7/fields.xsd | 36584 -------------------
.../modules/xml/axi/resources/hl7/messages.xsd | 513 -
.../modules/xml/axi/resources/hl7/segments.xsd | 2729 --
xml.catalog.ui/build.xml | 39 +
xml.catalog.ui/nbproject/project.properties | 39 +-
xml.catalog.ui/nbproject/project.xml | 39 +
.../modules/xml/catalog/CatalogAction.java | 2 +-
.../modules/xml/catalog/ui/Bundle.properties | 37 +
xml.catalog/nbproject/project.properties | 2 +-
.../netbeans/modules/xml/catalog/impl/package.html | 16 +-
.../modules/xml/catalog/impl/sun/package.html | 39 +
.../org/netbeans/modules/xml/catalog/package.html | 16 +-
.../xml/catalog/resources/ProjectSettings.xml | 39 +
.../catalog/resources/templates/XMLCatalog.html | 16 +-
.../netbeans/modules/xml/catalog/spi/package.html | 16 +-
xml.core/nbproject/project.properties | 2 +-
.../netbeans/modules/xml/api/model/package.html | 41 +-
.../netbeans/modules/xml/dtd/grammar/package.html | 45 +-
.../src/org/netbeans/modules/xml/dtd/package.html | 41 +-
.../org/netbeans/modules/xml/spi/dom/package.html | 39 +
xml.jaxb.api/build.xml | 39 +
.../external/binaries-list | 0
xml.jaxb.api/manifest.mf | 2 +-
xml.jaxb.api/nbproject/project.properties | 4 +-
xml.jaxb.api/nbproject/project.xml | 39 +
xml.jaxb/manifest.mf | 2 +-
xml.jaxb/nbproject/project.properties | 37 +
.../netbeans/modules/xml/jaxb/Bundle.properties | 37 +
.../modules/xml/jaxb/actions/Bundle.properties | 37 +
.../src/org/netbeans/modules/xml/jaxb/layer.xml | 12 +-
.../modules/xml/jaxb/resources/JAXBConfig.xml | 49 +-
.../modules/xml/jaxb/resources/JAXBWiz.html | 39 +
.../modules/xml/jaxb/spi/SchemaCompiler.java | 9 +-
.../xml/jaxb/spi/SchemaCompilerProvider.java | 9 +-
.../modules/xml/jaxb/ui/AntSchemaCompiler.java | 9 +-
.../xml/jaxb/ui/AntSchemaCompilerProvider.java | 9 +-
.../netbeans/modules/xml/jaxb/ui/Bundle.properties | 39 +-
.../modules/xml/jaxb/ui/CompilerFinder.java | 9 +-
.../xml/jaxb/ui/JAXBBindingSupportFileNode.java | 12 +-
.../modules/xml/jaxb/util/Bundle.properties | 37 +
xml.lexer/build.xml | 39 +
xml.lexer/manifest.mf | 2 +-
xml.lexer/nbproject/project.xml | 39 +
xml.lexer/src/org/netbeans/lib/xml/lexer/layer.xml | 39 +
xml.multiview/nbproject/project.properties | 2 +-
xml.retriever/manifest.mf | 2 +-
xml.schema.completion/manifest.mf | 2 +-
.../xml/schema/completion/AttributeResultItem.java | 82 +-
.../schema/completion/CompletionResultItem.java | 41 +-
.../xml/schema/completion/ElementResultItem.java | 39 +-
.../xml/schema/completion/EndTagResultItem.java | 2 +-
.../xml/schema/completion/ValueResultItem.java | 50 +-
.../completion/util/CompletionContextImpl.java | 30 +-
xml.schema.model/nbproject/project.properties | 2 +-
xml.schema.model/www/index.html | 12 -
xml.tax/lib/src/org/netbeans/tax/dom/package.html | 39 +
xml.tax/lib/src/org/netbeans/tax/io/package.html | 16 +-
xml.tax/lib/src/org/netbeans/tax/package.html | 16 +-
xml.tax/lib/src/org/netbeans/tax/spec/package.html | 16 +-
xml.tax/nbproject/project.properties | 2 +-
.../modules/xml/tax/beans/customizer/package.html | 16 +-
.../modules/xml/tax/beans/editor/package-info.java | 39 +
xml.text/manifest.mf | 2 +-
xml.text/nbproject/project.xml | 9 +
.../modules/xml/text/resources/DTDIndentEngine.xml | 39 +
.../modules/xml/text/resources/XMLIndentEngine.xml | 39 +
.../netbeans/modules/xml/text/syntax/dom/Util.java | 74 +-
.../modules/xml/text/syntax/dom/package.html | 41 +-
.../modules/xml/text/syntax/javacc/DTDSyntax.jj | 57 +-
.../xml/text/syntax/javacc/DTDSyntaxConstants.java | 2 +-
.../text/syntax/javacc/DTDSyntaxTokenManager.java | 4 +-
.../xml/text/syntax/javacc/ParseException.java | 2 +-
.../modules/xml/text/syntax/javacc/Token.java | 2 +-
.../xml/text/syntax/javacc/TokenMgrError.java | 2 +-
.../modules/xml/text/syntax/javacc/XMLSyntax.jj | 57 +-
.../modules/xml/text/syntax/javacc/package.html | 39 +
xml.tools.java/manifest.mf | 2 +-
xml.tools.java/nbproject/project.properties | 37 +
xml.tools.java/nbproject/project.xml | 39 +
.../xml/tools/java/resources/Bundle.properties | 37 +
xml.tools/manifest.mf | 2 +-
.../modules/xml/tools/generator/package.html | 16 +-
xml.wsdl.model/catalog.xml | 39 +
xml.wsdl.model/nbproject/project.properties | 2 +-
.../extensions/http/validation/Bundle.properties | 37 +
.../http/validation/HTTPComponentValidator.java | 39 +
.../extensions/mime/validation/Bundle.properties | 37 +
.../extensions/soap/validation/Bundle.properties | 37 +
.../extensions/soap/validation/MessagePart.java | 39 +
.../soap/validation/SOAPComponentValidator.java | 43 +-
.../extensions/soap12/validation/Bundle.properties | 37 +
.../extensions/soap12/validation/MessagePart.java | 39 +
.../validation/SOAP12ComponentValidator.java | 45 +-
.../wsdl/validator/WSDLInlineSchemaValidator.java | 39 +
.../xml/wsdl/validator/WSDLSemanticValidator.java | 43 +-
.../visitor/schema/SchemaSemanticsVisitor.java | 47 +-
.../modules/xml/wsdl/model/DefinitionsTest.java | 41 +-
.../modules/xml/wsdl/model/ImportTest.java | 41 +-
.../modules/xml/wsdl/model/NamespaceLocation.java | 39 +
.../modules/xml/wsdl/model/TestCatalogModel.java | 47 +-
.../org/netbeans/modules/xml/wsdl/model/Util.java | 43 +-
.../xml/wsdl/model/WSDLModelFactoryTest.java | 41 +-
.../impl/ChildComponentUpdateVisitorTest.java | 41 +-
.../xml/wsdl/model/impl/SyncUpdateTest.java | 39 +
.../modules/xml/wsdl/model/impl/UndoRedoTest.java | 39 +
.../wsdl/model/readwrite/SchemaReadWriteTest.java | 45 +-
.../xml/wsdl/model/readwrite/SimpleTest.java | 39 +
.../xml/wsdl/model/readwrite/TestReadWrite.java | 47 +-
.../xml/wsdl/model/spi/WSDLComponentBaseTest.java | 41 +-
.../wsdl/model/visitor/FindWSDLComponentTest.java | 41 +-
.../modules/xml/wsdl/validator/MyModelSource.java | 55 +-
.../xml/wsdl/validator/ValidationHelper.java | 49 +-
.../ValidatorSchemaFactoryRegistryTest.java | 43 +-
.../validator/WSDLInlineSchemaValidatorTest.java | 41 +-
.../wsdl/validator/WSDLSchemaValidatorTest.java | 41 +-
.../wsdl/validator/WSDLSemanticValidatorTest.java | 41 +-
.../visitor/WSDLSemanticsVisitorTest.java | 39 +
xml.wsdl.model/www/index.html | 12 -
xml.xam/nbproject/org-netbeans-modules-xml-xam.sig | 4 +-
xml.xam/nbproject/project.properties | 2 +-
xml.xdm/nbproject/org-netbeans-modules-xml-xdm.sig | 4 +-
xml.xdm/nbproject/project.properties | 2 +-
.../xml/xdm/visitor/NodeByPositionVisitorTest.java | 25 +-
xml.xdm/www/index.html | 12 -
xml/bin/gen-icons_xml.sh | 106 +-
xml/manifest.mf | 2 +-
.../org/netbeans/modules/xml/cookies/package.html | 39 +
.../netbeans/modules/xml/resources/XMLWizard.html | 16 +-
.../netbeans/modules/xml/resources/emptyDTD.html | 16 +-
.../org/netbeans/modules/xml/resources/xhtml.html | 16 +-
.../netbeans/modules/xml/resources/xml_entity.html | 16 +-
.../modules/xml/text/XMLTextRepresentation.java | 140 +-
xml/src/org/netbeans/modules/xml/tree/package.html | 16 +-
xsl/manifest.mf | 3 +-
xsl/nbproject/project.xml | 4 +-
.../xsl/resources/templates/stylesheet.html | 16 +-
.../org/netbeans/modules/xsl/ui/Bundle.properties | 37 +
23201 files changed, 923994 insertions(+), 529678 deletions(-)
diff --cc debian/changelog
index 188d01a,0000000..4c1289d
mode 100644,000000..100644
--- a/debian/changelog
+++ b/debian/changelog
@@@ -1,418 -1,0 +1,429 @@@
- netbeans (8.2+dfsg1-1) UNRELEASED; urgency=medium
-
- * Work in progress
-
- -- Markus Koschany <apo at debian.org> Thu, 08 Dec 2016 00:21:49 +0100
++netbeans (8.2+dfsg1-1) experimental; urgency=medium
++
++ [ Emmanuel Bourg ]
++ * Switch back to libcglib-java.
++
++ [ Markus Koschany ]
++ * New upstream version 8.2+dfsg-1.
++ * Refresh all patches for new release.
++ * Work around a lot of build failures due to missing JDK 9 classes by
++ copying modules from 8.1. See debian/patches for more information.
++ * Switch to compat level 10.
++ * Update linked-jars accordingly.
++ * Use permit JDK 8 builds option consistently in debian/rules.
++ * Tighten dependencies on platform modules to 8.2.
++
++ -- Markus Koschany <apo at debian.org> Mon, 26 Dec 2016 16:33:40 +0100
+
+netbeans (8.1+dfsg3-1) unstable; urgency=medium
+
+ * Symlink asm-all.jar to libs.nashorn module.
+ * Switch from libasm4-java to libasm-java.
+ * orig-tar.sh: Remove W3C spec files from tarball. (Closes: #823813)
+ * Clarify license of ClassManager.js and remove PHP testfiles.
+ (Closes: #823812)
+ * Declare compliance with Debian Policy 3.9.8.
+
+ -- Markus Koschany <apo at debian.org> Thu, 26 May 2016 08:04:23 +0200
+
+netbeans (8.1+dfsg2-3) unstable; urgency=medium
+
+ * Tighten versioned dependency on default-jdk to >= 2:1.8.
+
+ -- Markus Koschany <apo at debian.org> Tue, 08 Mar 2016 18:33:20 +0100
+
+netbeans (8.1+dfsg2-2) unstable; urgency=medium
+
+ * netbeans: Remove alternative dependency on java7-sdk because
+ netbeans will not work correctly with OpenJDK 7 anymore since jdk8 builds
+ were activated by the last upload. In addition OpenJDK 7 is going to be
+ removed from Debian before the Stretch release.
+ Thanks to Kevin Carney for the report. (Closes: #816758, #817152)
+
+ -- Markus Koschany <apo at debian.org> Tue, 08 Mar 2016 16:38:19 +0100
+
+netbeans (8.1+dfsg2-1) unstable; urgency=medium
+
+ * Imported Upstream version 8.1+dfsg2.
+ - Include html5doc.zip because it is free documentation.
+ * Build-Depend on libhtml5parser-java. This fixes HTML parser exceptions and
+ makes it possible to edit and work with HTML files. Thanks to Michael
+ Cordingley for the report. (Closes: #809256)
+ * Switch to libicu4j-4.4-java.
+ This prevents a NoClassFound exception when parsing HTML5 documents.
+ * Delete netbeans-core.browser.webview.patch and merge the changes into
+ netbeans-cluster-properties.patch.
+ * debian/copyright: Add license for html5doc.zip.
+ * Drop netbeans-html.parser-nocopy.patch, obsolete since we
+ ship html5doc.zip now.
+ * Vcs-Git: Switch to https.
+ * Declare compliance with Debian Policy 3.9.7.
+ * Override Lintian error source-is-missing because those js files are only
+ used for testing.
+ * Convert netbeans' icns icon to 128x128 png icon with icns2png and use it
+ as desktop icon. Thanks to Anton Sudak for the report. (LP: #1545648)
+ * debian/rules: Permit JDK8 builds.
+ * Replace netbeans-svnclient.patch with netbeans-svnclientadapter.patch and
+ fix FTBFS. (Closes: #815073)
+
+ -- Markus Koschany <apo at debian.org> Wed, 24 Feb 2016 19:24:16 +0100
+
+netbeans (8.1+dfsg1-1) unstable; urgency=medium
+
+ * Imported Upstream version 8.1+dfsg1.
+ * Install netbeans.import and fix failing settings imports from previous
+ versions. Thanks to Manolinux for the report. (Closes: #808908)
+ (LP: #1018585)
+ * netbeans: Replace alternative virtual dependency java7-jdk and java8-jdk
+ with java7-sdk | java8-sdk. Thanks to Thorsten Glaser for the report.
+ (Closes: #803153)
+ * debian/control:
+ - Switch to libcglib3-java.
+ - Build-Depend on libasm4-java.
+ - Build-depend on libjavaewah-java.
+ - Tighten dependencies on platform packages to >= 8.1.
+ * debian/rules:
+ - Build with parallel.
+ * Update my e-mail address.
+ * get-orig-source: Remove --no-symlink option. Add --verbose.
+ * debian/patches:
+ - Refresh the following patches:
+ + All netbeans-platform patches.
+ + netbeans-cluster-properties.patch
+ + netbeans-platform-empty-binaries-list.patch -> renamed to
+ netbeans-empty-binaries-list.patch
+ + Refresh netbeans-o.n.bootstrap.patch
+ + Refresh antlr-3.5.2.patch
+ + Refresh netbeans-nocopy.patch
+ + Refresh db.dataview-setRowFilter-method.patch
+ + Refresh netbeans-small-ide.patch
+ + Refresh netbeans-dlight.nativeexecution.patch
+ + Refresh netbeans-extexecution.impl.patch
+ + Refresh netbeans-svnclient.patch and update svn versions.
+ + Refresh netbeans-wildUpperBound.patch
+ + Refresh netbeans-ide-launcher.patch
+ + Refresh netbeans-xsl-httpserver.patch
+ + Refresh netbeans-slf4j.dummy.patch
+ - Add the following patches:
+ + javaewah-version.patch to prevent a FTBFS with Debian's version
+ which is currently not up-to-date.
+ + netbeans-com.sun.tools.hc.patch
+ + netbeans-CommandLineParser.patch
+ * linked-jars:
+ - Update junit4 version to 4.12.
+ - Link hamcrest-core.jar to libs.junit4.
+ - Update version of jsch.jar.
+ - Update jgit version.
+ - Update version of jvyamlb.
+ * Disable core.browser.webview module to prevent a FTBFS with OpenJDK 7.
+ * debian/watch: Add a comment and a pointer to the download location.
+ * Update debian/copyright for new release.
+
+ -- Markus Koschany <apo at debian.org> Thu, 31 Dec 2015 11:16:23 +0100
+
+netbeans (8.0.2+dfsg1-5) unstable; urgency=medium
+
+ * orig-tar.sh: Remove embedded jquery.js files.
+ * Vcs-Browser: Use https.
+ * Tighten build-dependency on osgi-core and osgi-compendium.
+ * netbeans: Tighten dependency on libnb-platform18-java.
+ * netbeans: Add java8-jdk as an alternative dependency.
+ * Switch to libhttpclient-java. (Closes: #800974)
+ * Switch to libservlet3.1-java. (Closes: #801041)
+
+ -- Markus Koschany <apo at gambaru.de> Wed, 07 Oct 2015 16:53:28 +0200
+
+netbeans (8.0.2+dfsg1-4) unstable; urgency=medium
+
+ * Drop Css3Parser-antlr.patch because with Antlr 3.5.2 this patch is
+ obsolete.
+ * Add antlr-3.5.2.patch and fix FTBFS with Antlr 3.5.2.
+ * Build-Depend and depend on antlr (>= 3.5.2).
+ * d/rules: Use find, xargs and touch to adjust file mtimes before zip is run.
+
+ -- Markus Koschany <apo at gambaru.de> Thu, 23 Jul 2015 17:36:43 +0200
+
+netbeans (8.0.2+dfsg1-3) unstable; urgency=medium
+
+ * debian/copyright: Add missing W3C license.
+ * Symlink Debian's jgit jars to ide/modules directory.
+ * Symlink SVN and SSH modules to Debian's system jar files.
+ * debian/pom: Remove openide-* pom files. They are obsolete now.
+
+ -- Markus Koschany <apo at gambaru.de> Mon, 29 Jun 2015 15:57:00 +0200
+
+netbeans (8.0.2+dfsg1-2) unstable; urgency=medium
+
+ * Add reproducible-build.patch.
+ Use a fixed date for the install_time variable and make the build a bit
+ more reproducible.
+ * Export TZ=UTC to force zip to use UTC. Another measure to make the build
+ reproducible.
+ * Tighten dependency for platform packages to >= 8.0.2.
+
+ -- Markus Koschany <apo at gambaru.de> Sat, 20 Jun 2015 17:05:34 +0200
+
+netbeans (8.0.2+dfsg1-1) unstable; urgency=medium
+
+ * New upstream release. (Closes: #673606, #713182)
+ - Fixes GUI Editor is not working. (Closes: #653915, #677125)
+ - The subversion module does not transmit passwords in svn's commandline
+ arguments. (Closes: #642143)
+ - All tutorial links can be opened in different web browsers.
+ (Closes: #642142)
+ - The enter key is working as expected again. (Closes: #667736)
+ * Support building with mingw-w64 instead of mingw32. (Closes: #680468)
+ Thanks to Stephen Kitt for the report and patch.
+ * Netbeans 8.0.2 supports the native look and feel by default now.
+ (Closes: #698154)
+ * Fix Netbeans' subversion support by adding netbeans-svnclient.patch.
+ (Closes: #698514, #668015)
+ * Remove Andres Mejia and Yuli Novozhilova from Uploaders because they are
+ apparently not active anymore. (Closes: #743562)
+ * Remove all minified Javascript files from the original tarball and improve
+ the orig.tar.sh script. (Closes: #737442)
+ * Fix bashism in nbexec script. (Closes: #772326)
+ * Replace w3c-dtd-xhtml with w3c-sgml-lib because the former is going to be
+ removed from Debian. (Closes: #787176)
+ * Java7 is the default JDK now and Netbeans 8.0.2 will no longer hang when
+ creating new projects or crash with a NoClassDefFoundError on startup.
+ (Closes: #729664, #744369, #728689)
+ * Use compat level 9 and require debhelper >= 9.
+ * Update debian/copyright for new release.
+ * Add source/lintian-overrides and override false postives.
+ + netbeans: license-problem-json-evil
+ + netbeans: license-problem-php-license
+ because these errors are only triggered by license.txt files. The real
+ files were already removed from the tarball.
+ * Stop building the platform packages and depend on libnb-platform18-java
+ instead.
+ * debian/control:
+ - Remove versioned dependencies because all constraints are satisfied even
+ in stable.
+ - Declare compliance with Debian Policy 3.9.6.
+ - Switch Vcs-Browser fields to cgit.
+ - netbeans: Depend on default-jdk and remove alternative dependencies on
+ OpenJDK6 because Netbeans requires Java7 to run.
+ - Remove obsolete Conflict, Replaces, Provides fields.
+ - Depend on libcommons-net-java instead of libcommons-net1-java.
+ - Add and remove the following dependencies:
+ + libcommons-httpclient-java, libcommons-io-java, libcommons-lang-java,
+ libjsch-agent-proxy-java, libjsch-java, libsqljet-java,
+ libws-commons-util-java, libjson-simple-java, libeclipselink-java,
+ libmysql-java, liblucene3-java,
+ - libbetter-appframework-java, liblucene2-java, liboro-java
+ * debian/patches:
+ - Rebase and update all patches for new release. They are all required to
+ fix various build failures and runtime errors and to use Debian's system
+ libraries instead of embedded jar files without source code.
+ For more information, please refer to the patch headers.
+ + New patches:
+ Css3Parser-antlr.patch, db.dataview-setRowFilter-method.patch,
+ dlight.nativeexecution.patch, netbeans-commons-net.patch,
+ netbeans-extexecution.impl.patch, netbeans-javacc.patch,
+ netbeans-libs.jaxb.patch, netbeans-o.apache.tools.ant.module.patch,
+ netbeans-slf4j.dummy.patch, netbeans-spi.java.hints.patch,
+ netbeans-svnclient.patch, netbeans-wildUpperBound.patch,
+ netbeans-xml.jaxb.api.patch, netbeans-xsl-httpserver.patch,
+ osgi-update.patch
+ - Removed patches:
+ netbeans-platform~include-extras.patch, netbeans~debugger.jpda.ui.patch,
+ netbeans~no-rhino.patch, netbeans~no-test-clean.patch,
+ netbeans~old-java-modules.patch, netbeans~o.a.tools.ant.patch,
+ netbeans~old-java.source-module.patch, netbeans~svnclient.patch,
+ netbeans~xerces.patch, netbeans~xsl.patch
+ * debian/rules:
+ - Symlink netbeans.png to hicolors directory.
+ - Remove obsolete comments and code for building the platform and the
+ windows binaries.
+ - Simplify get-orig-source target. Download the current version.
+ * pom:
+ - Update pom.files for new release 8.0.2.
+ * Update netbeans.desktop. Add keywords and comments.
+ * Add netbeans.menu file and a new netbeans.xpm icon.
+
+ -- Markus Koschany <apo at gambaru.de> Fri, 19 Jun 2015 14:16:59 +0200
+
+netbeans (7.0.1+dfsg1-5) unstable; urgency=low
+
+ * Include junit library definitions.
+ * Make libnb-platform13-java depend on antlr3. (Closes: #651214)
+ * Avoid including javadoc twice in libnb-platform13-java-doc.
+ * Replace dependency libpg-java with libpostgresql-jdbc-java
+ (Closes: #659397)
+ * Add symlink to jaxp-1.4.jar (Closes: #653915)
+
+ -- Andrew Ross <ubuntu at rossfamily.co.uk> Wed, 15 Feb 2012 20:36:14 +0000
+
+netbeans (7.0.1+dfsg1-4) unstable; urgency=low
+
+ * Patch core.osgi to use osgi-core 4.3. (Closes: #649750)
+ * Correct binary package names and install locations.
+ (Closes: #646856)
+ * Install AbsoluteLayout.jar in a separate package.
+ (Closes: #646857)
+
+ -- Andrew Ross <ubuntu at rossfamily.co.uk> Thu, 01 Dec 2011 21:59:37 +0000
+
+netbeans (7.0.1+dfsg1-3) unstable; urgency=low
+
+ * Use libosgi-core-java and libosgi-compendium-java for osgi.
+ * Use libflute-java instead of libflute-1.3-jfree-java.
+
+ -- Andrew Ross <ubuntu at rossfamily.co.uk> Sun, 16 Oct 2011 20:53:51 +0100
+
+netbeans (7.0.1+dfsg1-2) unstable; urgency=low
+
+ * Handle rename of libcommons-net-java to libcommons-net1-java.
+ * Netbeans should depend on a JDK.
+ (Closes: #499870)
+ * Provide netbeans-ide and netbeans-platform.
+
+ -- Andrew Ross <ubuntu at rossfamily.co.uk> Sun, 11 Sep 2011 22:45:45 +0100
+
+netbeans (7.0.1+dfsg1-1) unstable; urgency=low
+
+ * New upstream release
+ * Build NetBeans platform from this source too. (Closes: #610927)
+ * Bump to Standards-Version 3.9.2.
+ * Added myself to Uploaders.
+ * Build Windows launcher using mingw.
+ * Move utilility libraries to their own packages. (Closes: #490433)
+ * Also close some bugs which were fixed in the 6.9 series which never
+ entered the Debian archives:
+ - Use packaged swinglayout.jar. (Closes: #448922)
+ - Depend on generic Java. (Closes: #499417)
+ - Package for Debian Main. (Closes: #531952)
+ * Update Copyright file to cover all files correctly.
+
+ -- Andrew Ross <ubuntu at rossfamily.co.uk> Tue, 02 Aug 2011 23:58:58 +0100
+
+netbeans (6.9-1) unstable; urgency=low
+
+ * New upstream version based off of Ubuntu packages.
+ (Closes: #543907)
+ (Closes: #478762)
+ * Add Debian Java team as Maintainer, Yulia and myself as Uploaders.
+ * Update packaging to use 3.0 (quilt) source format.
+ * Update packaging to use dh with javahelper.
+ * Bump to Standards-Version 3.9.1.
+ * Refresh all patches.
+ * Use Java SwingWorker included in standard JDK distribution.
+ * Migrate to junit4.
+ * Migrate to libservlet2.5-java.
+ * Migrate to use Better Swing Application Framework.
+ * Use standard svnclientadapter from subclipse.
+ * Migrate to ini4j-0.5.2-SNAPSHOT.
+
+ -- Andres Mejia <mcitadel at gmail.com> Sun, 23 Jan 2011 15:42:29 -0500
+
+netbeans (6.9-0ubuntu2) maverick; urgency=low
+
+ * Bug fix upload:
+ - correct netbeans-6.9~updatecenters.patch to point to Ubuntu UC
+
+ -- Yulia Novozhilova <Yulia.Novozhilova at sun.com> Fri, 20 Aug 2010 17:19:59 +0400
+
+netbeans (6.9-0ubuntu1) maverick; urgency=low
+
+ * New upstream release (LP: #595000)
+ * debian/control/Standards-Versions is updated to 3.9.0
+ * debian/copyright file is updated
+
+ -- Yulia Novozhilova <Yulia.Novozhilova at sun.com> Thu, 05 Aug 2010 12:17:51 +0400
+
+netbeans (6.8-0ubuntu4) lucid; urgency=low
+
+ * Update Center is switched to the Ubuntu specific one (LP: #544459)
+ - patches/01-updatecenters.patch is updated
+
+ -- Yulia Novozhilova <Yulia.Novozhilova at sun.com> Wed, 31 Mar 2010 15:19:29 +0400
+
+netbeans (6.8-0ubuntu3) lucid; urgency=low
+
+ * debian/patches/l10n.patch is added (LP: #527547)
+ * debiian/rules is updated to build l10n
+ * debian/control dependency to default-jdk-doc | sun-java6-doc is added
+ for libnb-java3-java package (LP: #545563)
+
+ -- Yulia Novozhilova <Yulia.Novozhilova at sun.com> Fri, 26 Mar 2010 16:26:52 +0300
+
+netbeans (6.8-0ubuntu2) lucid; urgency=low
+
+ * Bug fix upload
+ - debian/patches/14-config.patch added (LP: #315499)
+
+ -- Yulia Novozhilova <Yulia.Novozhilova at sun.com> Wed, 17 Feb 2010 15:44:50 +0300
+
+netbeans (6.8-0ubuntu1) lucid; urgency=low
+
+ * New upstream release (LP: #495478)
+ * postinstall script is removed (LP: #464939)
+ * control/Standards-Versions is updated to 3.8.4
+ * debian/copyright file is updated to point to the correct location
+
+ -- Yulia Novozhilova <Yulia.Novozhilova at sun.com> Fri, 12 Feb 2010 20:36:32 +0300
+
+netbeans (6.7.1-0ubuntu1) karmic; urgency=low
+
+ * New upstream release (LP: #381814)
+ * Fixed upstream bugs:
+ - (LP: #336349)
+ - (LP: #354144)
+ - (LP: #357579)
+ - (LP: #366740)
+ - (LP: #401407)
+ * control/Standards-Versions is updated to 3.8.3
+ * control/Section is updated to java for *-java
+
+ -- Yulia Novozhilova <Yulia.Novozhilova at sun.com> Mon, 13 Jul 2009 19:05:01 +0400
+
+netbeans (6.5-0ubuntu2.1) jaunty; urgency=low
+
+ * Bug fix upload (LP: #353080)
+ - Added a critical patch 96-fix-lucene.patch
+
+ -- Yulia Novozhilova <Yulia.Novozhilova at sun.com> Mon, 25 May 2009 23:28:08 +0400
+
+netbeans (6.5-0ubuntu2) jaunty; urgency=low
+
+ * Added bugfix patches from 6.5.1 for NetBeans IDE (LP: #345562)
+ * 40-ide-launcher.patch is updated (LP: #307103)
+ * debian/rules: commons-logging jar's version changed from 1.0.4 to 1.1.
+
+ -- Yulia Novozhilova <Yulia.Novozhilova at sun.com> Tue, 31 Mar 2009 18:34:02 +0400
+
+netbeans (6.5-0ubuntu1) jaunty; urgency=low
+
+ * New upstream release. (LP: #251173)
+ -Added "Conflicts: netbeans-ide" to control (LP: #257307)
+ -Added watch file and get-orig-source target to rules file
+
+ -- Yulia Novozhilova <Yulia.Novozhilova at sun.com> Fri, 26 Sep 2008 18:51:50 +0400
+
+netbeans (6.1-0ubuntu1) intrepid; urgency=low
+
+ * New upstream release. (LP: #253016)
+ - Updated Standards-Version to 3.8.0
+ - Patches updated. (LP: #206324)
+ - Cleaned up debian/rules
+ - Updated postinstall script. (LP: #254587)
+
+ -- Yulia Novozhilova <Yulia.Novozhilova at sun.com> Tue, 29 Jul 2008 19:43:23 +0400
+
+netbeans (6.0.1-0ubuntu2) hardy; urgency=low
+
+ * Bug fix upload (LP: #201332)
+ - Replace GPLv2 text in debian/copyright by reference to
+ /usr/share/common-licenses/GPL-2
+ - Update dependency to openjdk6
+ - Refine package descriptions
+ - Add IDE Update Center specific to Ubuntu packages
+
+ -- Marek Slama <marek.slama at sun.com> Fri, 07 Mar 2008 18:00:00 +0100
+
+netbeans (6.0.1-0ubuntu1) hardy; urgency=low
+
+ * Initial version. (LP: #187708)
+
+ -- Marek Slama <marek.slama at sun.com> Tue, 29 Jan 2008 14:11:22 +0100
diff --cc debian/control
index d360b7b,0000000..34f9339
mode 100644,000000..100644
--- a/debian/control
+++ b/debian/control
@@@ -1,189 -1,0 +1,189 @@@
+Source: netbeans
+Section: java
+Priority: optional
+Maintainer: Debian Java Maintainers <pkg-java-maintainers at lists.alioth.debian.org>
+Uploaders:
+ Andrew Ross <ubuntu at rossfamily.co.uk>,
+ Markus Koschany <apo at debian.org>
+Build-Depends:
+ ant,
+ ant-optional,
+ antlr3 (>= 3.5.2),
+ antlr4,
+ debhelper (>= 10),
+ default-jdk,
+ icnsutils,
+ javacc,
+ javahelp2,
+ javahelper,
+ junit,
+ junit4,
+ libasm-java (>= 5),
+ libbeansbinding-java,
+ libbindex-java,
+ libbytelist-java,
+ libcglib-java (>= 3.0),
+ libcommons-codec-java,
+ libcommons-compress-java,
+ libcommons-io-java,
+ libcommons-lang-java,
+ libcommons-logging-java,
+ libcommons-net-java,
+ libeclipselink-java,
+ libequinox-osgi-java,
+ libfelix-framework-java,
+ libfelix-main-java,
+ libfreemarker-java,
+ libguava-java,
+ libhamcrest-java,
+ libhtml5parser-java,
+ libhttpclient-java,
+ libicu4j-4.4-java,
+ libini4j-java,
+ libjavaewah-java,
+ libjaxb-api-java,
+ libjaxb-java,
+ libjemmy2-java,
+ libjgit-java,
+ libjna-java,
+ libjna-platform-java,
+ libjnlp-servlet-java,
+ libjpa-2.1-spec-java,
+ libjsch-agent-proxy-java (>= 0.0.8),
+ libjsch-java,
+ libjson-simple-java,
+ libjvyamlb-java,
+ libjzlib-java,
+ liblucene3-java,
+ libmysql-java,
+ libnb-javaparser-java,
+ libopenjfx-java,
+ libosgi-compendium-java (>= 5.0.0),
+ libosgi-core-java (>= 6.0.0),
+ libpostgresql-jdbc-java,
+ libservlet3.1-java,
+ libsimple-validation-java,
+ libsqljet-java,
+ libstringtemplate-java,
+ libsvn-java,
+ libsvnclientadapter-java,
+ libsvnkit-java,
+ libswing-layout-java,
+ libswingx-java,
+ libtrilead-ssh2-java,
+ libws-commons-util-java,
+ libxerces2-java,
+ libxml-commons-resolver1.1-java,
+ maven-repo-helper,
+ testng,
+ w3c-sgml-lib
+Standards-Version: 3.9.8
+Homepage: http://netbeans.org/
+Vcs-Browser: https://anonscm.debian.org/cgit/pkg-java/netbeans.git
+Vcs-Git: https://anonscm.debian.org/git/pkg-java/netbeans.git
+
+Package: libnb-absolutelayout-java
+Architecture: all
+Depends:
+ ${java:Depends},
+ ${misc:Depends}
+Description: Java LayoutManager to allow placement in absolute positions
+ This library is part of the Netbeans platform and provides an
+ implementation of the java.awt.LayoutManager interface. This
+ implementation allows you to position components by their
+ absolute position.
+
+Package: libnb-apisupport3-java
+Architecture: all
+Depends:
+ libnb-ide14-java (= ${binary:Version}),
+ libnb-java5-java (= ${binary:Version}),
- libnb-platform-devel-java (>= 8.1),
- libnb-platform18-java (>= 8.1),
++ libnb-platform-devel-java (>= 8.2),
++ libnb-platform18-java (>= 8.2),
+ ${java:Depends},
+ ${misc:Depends}
+Description: Common NetBeans Platform Development Related Libraries for NetBeans
+ The NetBeans Platform is a set of modules, each providing their own
+ APIs and working together or in a standalone mode. This package contains
+ common libraries for development of NetBeans Platform modular extensions.
+
+Package: libnb-ide14-java
+Architecture: all
+Depends:
+ antlr3 (>= 3.5.2),
+ libbytelist-java,
+ libcommons-codec-java,
+ libcommons-io-java,
+ libcommons-lang-java,
+ libcommons-logging-java,
+ libcommons-net-java,
+ libfreemarker-java,
+ libhtml5parser-java,
+ libhttpclient-java,
+ libicu4j-4.4-java,
+ libini4j-java,
+ libjgit-java,
+ libjsch-agent-proxy-java (>= 0.0.8),
+ libjsch-java,
+ libjvyamlb-java,
+ libjzlib-java,
+ liblucene3-java,
+ libmysql-java,
- libnb-platform18-java (>= 8.1),
++ libnb-platform18-java (>= 8.2),
+ libpostgresql-jdbc-java,
+ libservlet3.1-java,
+ libsimple-validation-java,
+ libsqljet-java,
+ libsvn-java,
+ libsvnclientadapter-java,
+ libsvnkit-java,
+ libswingx-java,
+ libtrilead-ssh2-java,
+ libws-commons-util-java,
+ libxerces2-java,
+ libxml-commons-resolver1.1-java,
+ ${java:Depends},
+ ${misc:Depends}
+Description: Common Integrated Development Environment Libraries for NetBeans
+ The NetBeans Platform is a set of modules, each providing their own
+ APIs and working together or in a standalone mode. This package contains
+ independent libraries for use in the NetBeans IDE.
+
+Package: libnb-java5-java
+Architecture: all
+Depends:
+ ant,
+ ant-optional,
+ junit,
+ junit-doc,
+ junit4-doc,
+ libbeansbinding-java,
+ libcglib-java (>= 3.0),
+ libeclipselink-java,
+ libjson-simple-java,
+ libnb-absolutelayout-java,
+ libnb-ide14-java (= ${binary:Version}),
+ libnb-javaparser-java,
- libnb-platform18-java (>= 8.1),
++ libnb-platform18-java (>= 8.2),
+ ${java:Depends},
+ ${misc:Depends}
+Description: Common Java Related Libraries for NetBeans
+ The NetBeans Platform is a set of modules, each providing their own
+ APIs and working together or in a standalone mode. This package contains
+ common libraries for the NetBeans Java IDE.
+
+Package: netbeans
+Architecture: all
+Depends:
+ default-jdk (>= 2:1.8) | java8-sdk,
+ libnb-apisupport3-java (= ${binary:Version}),
+ libnb-ide14-java (= ${binary:Version}),
+ libnb-java5-java (= ${binary:Version}),
- libnb-platform18-java (>= 8.1),
++ libnb-platform18-java (>= 8.2),
+ ${java:Depends},
+ ${misc:Depends}
+Description: Extensible Java IDE
+ Integrated Development Environment for software developers. It supports
+ development of desktop, enterprise, web, and mobile applications. Package
+ includes the Base IDE, Java Development Tools and Plug-in Development Tools.
+ Support for PHP, Ruby, C/C++, Java EE and others can be added.
diff --cc debian/patches/netbeans-ide-launcher.patch
index 78c2d06,0000000..b758dc5
mode 100644,000000..100644
--- a/debian/patches/netbeans-ide-launcher.patch
+++ b/debian/patches/netbeans-ide-launcher.patch
@@@ -1,62 -1,0 +1,62 @@@
+From: Markus Koschany <apo at debian.org>
+Date: Thu, 8 Dec 2016 00:04:11 +0100
+Subject: netbeans-ide-launcher
+
+Update the launcher script to use Debian specific paths and start parameters.
+Disable check for license agreement since we have debian/copyright for that in
+Debian.
+
+Forwarded: not-needed
+---
+ ide/launcher/netbeans.conf | 3 +--
+ ide/launcher/unix/netbeans | 9 ++++-----
+ 2 files changed, 5 insertions(+), 7 deletions(-)
+
+diff --git a/ide/launcher/netbeans.conf b/ide/launcher/netbeans.conf
+index bfbd50780..1e2d6607f 100644
+--- a/ide/launcher/netbeans.conf
++++ b/ide/launcher/netbeans.conf
+@@ -43,8 +43,7 @@ netbeans_default_cachedir="${DEFAULT_CACHEDIR_ROOT}/8.2"
+ # Concurrent Mark & Sweep garbage collector.
+ # (see http://wiki.netbeans.org/FaqGCPauses)
+ #
+-netbeans_default_options="-J-client -J-Xss2m -J-Xms32m -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.noddraw=true -J-Dsun.java2d.dpiaware=true -J-Dsun.zip.disableMemoryMapping=true"
+-
++netbeans_default_options="-J-client -J-Xss2m -J-Xms32m -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.noddraw=true -J-Dsun.java2d.dpiaware=true -J-Dsun.zip.disableMemoryMapping=true -J-Dsun.java2d.pmoffscreen=false"
+ # Default location of JDK:
+ # (set by installer or commented out if launcher should decide)
+ #
+diff --git a/ide/launcher/unix/netbeans b/ide/launcher/unix/netbeans
+index 458e7ebc6..0af5cee91 100644
+--- a/ide/launcher/unix/netbeans
++++ b/ide/launcher/unix/netbeans
+@@ -57,7 +57,7 @@ while [ -h "$PRG" ]; do
+ fi
+ done
+
+-progdir=`dirname "$PRG"`
- +progdir=/usr/share/netbeans/8.1/bin
+++progdir=/usr/share/netbeans/8.2/bin
+ old=`pwd`
+ cd "$progdir"/..
+ basedir=`pwd`
+@@ -82,9 +82,9 @@ if [ -f "$basedir"/etc/netbeans.conf ] ; then
+ fi
+
+ # following should be done just in RPM or Solaris Launcher
+-# if [ -f /etc/netbeans.conf ] ; then
+-# . /etc/netbeans.conf
+-# fi
++if [ -f /etc/netbeans.conf ] ; then
++ . /etc/netbeans.conf
++fi
+
+ export DEFAULT_USERDIR_ROOT
+
+@@ -231,7 +231,6 @@ case "`uname`" in
+ --branding nb \
+ --clusters '"$netbeans_clusters"' \
+ -J-Dnetbeans.importclass=org.netbeans.upgrade.AutoUpgrade \
+- -J-Dnetbeans.accept_license_class=org.netbeans.license.AcceptLicense \
+ ${netbeans_default_options} \
+ '"$@"'
+ ;;
diff --cc debian/patches/netbeans-java.completion.patch
index 0000000,0000000..c6eeec4
new file mode 100644
--- /dev/null
+++ b/debian/patches/netbeans-java.completion.patch
@@@ -1,0 -1,0 +1,1924 @@@
++From: Markus Koschany <apo at debian.org>
++Date: Sun, 25 Dec 2016 22:15:44 +0100
++Subject: netbeans java.completion
++
++Ugly workaround for a FTBFS due to missing OpenJDK 9 classes. Module was
++replaced with the one from 8.1.
++
++Forwarded: not-needed
++---
++ java.completion/build.xml | 39 -----
++ java.completion/nbproject/project.properties | 39 +----
++ java.completion/nbproject/project.xml | 41 +----
++ .../netbeans/modules/java/completion/BaseTask.java | 88 +++--------
++ .../modules/java/completion/Bundle.properties | 37 -----
++ .../java/completion/JavaCompletionTask.java | 148 +++++-------------
++ .../1.7/OverrideAbstractListAbstract.pass | 161 --------------------
++ .../1.8/OverrideAbstractListAbstract.pass | 168 ---------------------
++ ...Exception.pass => OverrideTypedException1.pass} | 0
++ .../1.8/OverrideTypedException2.pass | 1 +
++ .../JavaCompletionTaskTest/1.8/autoCloseables.pass | 8 -
++ .../1.8/autoCloseablesStartingWithF.pass | 1 -
++ .../1.8/finalAndAutoCloseables.pass | 9 --
++ .../completion/JavaCompletionTaskTest/1.8/i.pass | 1 +
++ ...rModifiersAndTypesWithoutDefaultAndStatic.pass} | 35 ++---
++ .../1.8/javaLangContent.pass | 104 +++++++++++++
++ .../JavaCompletionTaskTest/1.8/resourceNames.pass | 3 -
++ .../1.8/resourcesAndAutoCloseables.pass | 10 --
++ .../data/OverrideAbstractListAbstract.java | 9 --
++ .../modules/java/completion/data/SimpleTWR.java | 15 --
++ .../java/completion/data/SimpleTWRNoRes.java | 12 --
++ .../java/completion/data/SimpleTWRStart.java | 9 --
++ .../netbeans/modules/java/completion/data/TWR.java | 14 --
++ .../modules/java/completion/data/TWRNoRes.java | 12 --
++ .../modules/java/completion/data/TWRStart.java | 8 -
++ .../java/completion/CompletionTestBase.java | 16 +-
++ .../JavaCompletionTask15FeaturesTest.java | 6 +-
++ .../JavaCompletionTask17FeaturesTest.java | 147 ------------------
++ .../JavaCompletionTask18FeaturesTest.java | 6 +-
++ .../JavaCompletionTask19FeaturesTest.java | 111 --------------
++ .../completion/JavaCompletionTaskAdvancedTest.java | 6 +-
++ .../JavaCompletionTaskElementCreatingTest.java | 11 +-
++ 32 files changed, 193 insertions(+), 1082 deletions(-)
++ delete mode 100644 java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.7/OverrideAbstractListAbstract.pass
++ delete mode 100644 java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/OverrideAbstractListAbstract.pass
++ rename java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/{OverrideTypedException.pass => OverrideTypedException1.pass} (100%)
++ create mode 100644 java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/OverrideTypedException2.pass
++ delete mode 100644 java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/autoCloseables.pass
++ delete mode 100644 java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/autoCloseablesStartingWithF.pass
++ delete mode 100644 java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/finalAndAutoCloseables.pass
++ create mode 100644 java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/i.pass
++ rename java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/{resourceInit.pass => interfaceMemberModifiersAndTypesWithoutDefaultAndStatic.pass} (78%)
++ create mode 100644 java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/javaLangContent.pass
++ delete mode 100644 java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/resourceNames.pass
++ delete mode 100644 java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/resourcesAndAutoCloseables.pass
++ delete mode 100644 java.completion/test/unit/data/org/netbeans/modules/java/completion/data/OverrideAbstractListAbstract.java
++ delete mode 100644 java.completion/test/unit/data/org/netbeans/modules/java/completion/data/SimpleTWR.java
++ delete mode 100644 java.completion/test/unit/data/org/netbeans/modules/java/completion/data/SimpleTWRNoRes.java
++ delete mode 100644 java.completion/test/unit/data/org/netbeans/modules/java/completion/data/SimpleTWRStart.java
++ delete mode 100644 java.completion/test/unit/data/org/netbeans/modules/java/completion/data/TWR.java
++ delete mode 100644 java.completion/test/unit/data/org/netbeans/modules/java/completion/data/TWRNoRes.java
++ delete mode 100644 java.completion/test/unit/data/org/netbeans/modules/java/completion/data/TWRStart.java
++ delete mode 100644 java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTask17FeaturesTest.java
++ delete mode 100644 java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTask19FeaturesTest.java
++
++diff --git a/java.completion/build.xml b/java.completion/build.xml
++index 94bba7605..722e92a91 100644
++--- a/java.completion/build.xml
+++++ b/java.completion/build.xml
++@@ -1,43 +1,4 @@
++ <?xml version="1.0" encoding="UTF-8"?>
++-<!--
++-DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++-
++-Copyright (c) 2014, 2016 Oracle and/or its affiliates. All rights reserved.
++-
++-Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++-Other names may be trademarks of their respective owners.
++-
++-The contents of this file are subject to the terms of either the GNU
++-General Public License Version 2 only ("GPL") or the Common
++-Development and Distribution License("CDDL") (collectively, the
++-"License"). You may not use this file except in compliance with the
++-License. You can obtain a copy of the License at
++-http://www.netbeans.org/cddl-gplv2.html
++-or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++-specific language governing permissions and limitations under the
++-License. When distributing the software, include this License Header
++-Notice in each file and include the License file at
++-nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
++-particular file as subject to the "Classpath" exception as provided
++-by Oracle in the GPL Version 2 section of the License file that
++-accompanied this code. If applicable, add the following below the
++-License Header, with the fields enclosed by brackets [] replaced by
++-your own identifying information:
++-"Portions Copyrighted [year] [name of copyright owner]"
++-
++-If you wish your version of this file to be governed by only the CDDL
++-or only the GPL Version 2, indicate your decision by adding
++-"[Contributor] elects to include this software in this distribution
++-under the [CDDL or GPL Version 2] license." If you do not indicate a
++-single choice of license, a recipient has the option to distribute
++-your version of this file under either the CDDL, the GPL Version 2 or
++-to extend the choice of license to its licensees as provided above.
++-However, if you add GPL Version 2 code and therefore, elected the GPL
++-Version 2 license, then the option applies only if the new code is
++-made subject to such option by the copyright holder.
++-
++-Contributor(s):
++--->
++ <project basedir="." default="netbeans" name="java.completion">
++ <description>Builds, tests, and runs the project org.netbeans.modules.java.completion</description>
++ <import file="../nbbuild/templates/projectized.xml"/>
++diff --git a/java.completion/nbproject/project.properties b/java.completion/nbproject/project.properties
++index 2a6700f8b..2b61ea90b 100644
++--- a/java.completion/nbproject/project.properties
+++++ b/java.completion/nbproject/project.properties
++@@ -1,44 +1,7 @@
++-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++-#
++-# Copyright (c) 2014, 2016 Oracle and/or its affiliates. All rights reserved.
++-#
++-# Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++-# Other names may be trademarks of their respective owners.
++-#
++-# The contents of this file are subject to the terms of either the GNU
++-# General Public License Version 2 only ("GPL") or the Common
++-# Development and Distribution License("CDDL") (collectively, the
++-# "License"). You may not use this file except in compliance with the
++-# License. You can obtain a copy of the License at
++-# http://www.netbeans.org/cddl-gplv2.html
++-# or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++-# specific language governing permissions and limitations under the
++-# License. When distributing the software, include this License Header
++-# Notice in each file and include the License file at
++-# nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
++-# particular file as subject to the "Classpath" exception as provided
++-# by Oracle in the GPL Version 2 section of the License file that
++-# accompanied this code. If applicable, add the following below the
++-# License Header, with the fields enclosed by brackets [] replaced by
++-# your own identifying information:
++-# "Portions Copyrighted [year] [name of copyright owner]"
++-#
++-# If you wish your version of this file to be governed by only the CDDL
++-# or only the GPL Version 2, indicate your decision by adding
++-# "[Contributor] elects to include this software in this distribution
++-# under the [CDDL or GPL Version 2] license." If you do not indicate a
++-# single choice of license, a recipient has the option to distribute
++-# your version of this file under either the CDDL, the GPL Version 2 or
++-# to extend the choice of license to its licensees as provided above.
++-# However, if you add GPL Version 2 code and therefore, elected the GPL
++-# Version 2 license, then the option applies only if the new code is
++-# made subject to such option by the copyright holder.
++-#
++-# Contributor(s):
++ is.autoload=true
++ javac.source=1.7
++ javac.compilerargs=-Xlint -Xlint:-serial
++-spec.version.base=1.6.1
+++spec.version.base=1.4.1
++ #test configs
++
++ test.config.jet-main.includes=\
++diff --git a/java.completion/nbproject/project.xml b/java.completion/nbproject/project.xml
++index 19376a748..b5af0df4d 100644
++--- a/java.completion/nbproject/project.xml
+++++ b/java.completion/nbproject/project.xml
++@@ -1,43 +1,4 @@
++ <?xml version="1.0" encoding="UTF-8"?>
++-<!--
++-DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++-
++-Copyright (c) 2014, 2016 Oracle and/or its affiliates. All rights reserved.
++-
++-Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++-Other names may be trademarks of their respective owners.
++-
++-The contents of this file are subject to the terms of either the GNU
++-General Public License Version 2 only ("GPL") or the Common
++-Development and Distribution License("CDDL") (collectively, the
++-"License"). You may not use this file except in compliance with the
++-License. You can obtain a copy of the License at
++-http://www.netbeans.org/cddl-gplv2.html
++-or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++-specific language governing permissions and limitations under the
++-License. When distributing the software, include this License Header
++-Notice in each file and include the License file at
++-nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
++-particular file as subject to the "Classpath" exception as provided
++-by Oracle in the GPL Version 2 section of the License file that
++-accompanied this code. If applicable, add the following below the
++-License Header, with the fields enclosed by brackets [] replaced by
++-your own identifying information:
++-"Portions Copyrighted [year] [name of copyright owner]"
++-
++-If you wish your version of this file to be governed by only the CDDL
++-or only the GPL Version 2, indicate your decision by adding
++-"[Contributor] elects to include this software in this distribution
++-under the [CDDL or GPL Version 2] license." If you do not indicate a
++-single choice of license, a recipient has the option to distribute
++-your version of this file under either the CDDL, the GPL Version 2 or
++-to extend the choice of license to its licensees as provided above.
++-However, if you add GPL Version 2 code and therefore, elected the GPL
++-Version 2 license, then the option applies only if the new code is
++-made subject to such option by the copyright holder.
++-
++-Contributor(s):
++--->
++ <project xmlns="http://www.netbeans.org/ns/project/1">
++ <type>org.netbeans.modules.apisupport.project</type>
++ <configuration>
++@@ -67,7 +28,7 @@ Contributor(s):
++ <build-prerequisite/>
++ <compile-dependency/>
++ <run-dependency>
++- <specification-version>8.15</specification-version>
+++ <specification-version>8.11</specification-version>
++ </run-dependency>
++ </dependency>
++ <dependency>
++diff --git a/java.completion/src/org/netbeans/modules/java/completion/BaseTask.java b/java.completion/src/org/netbeans/modules/java/completion/BaseTask.java
++index d766f9e3a..87709f816 100644
++--- a/java.completion/src/org/netbeans/modules/java/completion/BaseTask.java
+++++ b/java.completion/src/org/netbeans/modules/java/completion/BaseTask.java
++@@ -61,7 +61,6 @@ import com.sun.source.tree.*;
++ import com.sun.source.util.SourcePositions;
++ import com.sun.source.util.TreePath;
++ import com.sun.source.util.TreeScanner;
++-import javax.lang.model.element.Name;
++
++ import org.netbeans.api.java.lexer.JavaTokenId;
++ import org.netbeans.api.java.source.*;
++@@ -359,44 +358,21 @@ abstract class BaseTask extends UserTask {
++ Tree lambdaBody = ((LambdaExpressionTree) tree).getBody();
++ Scope scope = null;
++ TreePath blockPath = path.getParentPath();
++- int bodyPos = 0;
++ while (blockPath != null) {
++ if (blockPath.getLeaf().getKind() == Tree.Kind.BLOCK) {
++ if (blockPath.getParentPath().getLeaf().getKind() == Tree.Kind.METHOD
++ || TreeUtilities.CLASS_TREE_KINDS.contains(blockPath.getParentPath().getLeaf().getKind())) {
++ final int blockPos = (int) sourcePositions.getStartPosition(root, blockPath.getLeaf());
++- final String blockText = upToOffset && caretOffset > offset
++- ? controller.getText().substring(blockPos, offset) + whitespaceString(caretOffset - offset) + controller.getText().substring(caretOffset, (int) sourcePositions.getEndPosition(root, blockPath.getLeaf()))
++- : controller.getText().substring(blockPos, (int) sourcePositions.getEndPosition(root, blockPath.getLeaf()));
+++ final String blockText = controller.getText().substring(blockPos, (int) sourcePositions.getEndPosition(root, blockPath.getLeaf()));
++ final SourcePositions[] sp = new SourcePositions[1];
++ final StatementTree block = (((BlockTree) blockPath.getLeaf()).isStatic() ? tu.parseStaticBlock(blockText, sp) : tu.parseStatement(blockText, sp));
++ if (block == null) {
++ return null;
++ }
++ sourcePositions = new SourcePositionsImpl(block, sourcePositions, sp[0], blockPos, -1);
+++ scope = controller.getTrees().getScope(blockPath);
++ path = tu.getPathElementOfKind(Tree.Kind.LAMBDA_EXPRESSION, tu.pathFor(new TreePath(blockPath.getParentPath(), block), offset, sourcePositions));
++ lambdaBody = ((LambdaExpressionTree) path.getLeaf()).getBody();
++- bodyPos = (int) sourcePositions.getStartPosition(root, lambdaBody);
++- if (bodyPos >= offset) {
++- TokenSequence<JavaTokenId> ts = controller.getTokenHierarchy().tokenSequence(JavaTokenId.language());
++- ts.move(offset);
++- while (ts.movePrevious()) {
++- switch (ts.token().id()) {
++- case WHITESPACE:
++- case LINE_COMMENT:
++- case BLOCK_COMMENT:
++- case JAVADOC_COMMENT:
++- break;
++- case ARROW:
++- scope = controller.getTrees().getScope(blockPath);
++- scope = tu.reattributeTreeTo(block, scope, lambdaBody);
++- return new Env(offset, prefix, controller, path, sourcePositions, scope);
++- default:
++- return null;
++- }
++- }
++- }
++- scope = controller.getTrees().getScope(blockPath);
++ scope = tu.reattributeTreeTo(block, scope, lambdaBody);
++ break;
++ }
++@@ -405,22 +381,22 @@ abstract class BaseTask extends UserTask {
++ }
++ if (scope == null) {
++ scope = controller.getTrees().getScope(new TreePath(path, lambdaBody));
++- bodyPos = (int) sourcePositions.getStartPosition(root, lambdaBody);
++- if (bodyPos >= offset) {
++- TokenSequence<JavaTokenId> ts = controller.getTokenHierarchy().tokenSequence(JavaTokenId.language());
++- ts.move(offset);
++- while (ts.movePrevious()) {
++- switch (ts.token().id()) {
++- case WHITESPACE:
++- case LINE_COMMENT:
++- case BLOCK_COMMENT:
++- case JAVADOC_COMMENT:
++- break;
++- case ARROW:
++- return new Env(offset, prefix, controller, path, sourcePositions, scope);
++- default:
++- return null;
++- }
+++ }
+++ final int bodyPos = (int) sourcePositions.getStartPosition(root, lambdaBody);
+++ if (bodyPos >= offset) {
+++ TokenSequence<JavaTokenId> ts = controller.getTokenHierarchy().tokenSequence(JavaTokenId.language());
+++ ts.move(offset);
+++ while (ts.movePrevious()) {
+++ switch (ts.token().id()) {
+++ case WHITESPACE:
+++ case LINE_COMMENT:
+++ case BLOCK_COMMENT:
+++ case JAVADOC_COMMENT:
+++ break;
+++ case ARROW:
+++ return new Env(offset, prefix, controller, path, sourcePositions, scope);
+++ default:
+++ return null;
++ }
++ }
++ }
++@@ -560,14 +536,6 @@ abstract class BaseTask extends UserTask {
++ }
++ return null;
++ }
++-
++- private static String whitespaceString(int length) {
++- StringBuilder sb = new StringBuilder();
++- for (int i = 0; i < length; i++) {
++- sb.append(' ');
++- }
++- return sb.toString();
++- }
++
++ private static class SourcePositionsImpl extends TreeScanner<Void, Tree> implements SourcePositions {
++
++@@ -653,14 +621,13 @@ abstract class BaseTask extends UserTask {
++ private final SourcePositions sourcePositions;
++ private Scope scope;
++ private ReferencesCount referencesCount;
++- private Map<Name, Element> refs = null;
+++ private Collection<? extends Element> refs = null;
++ private boolean afterExtends = false;
++ private boolean insideNew = false;
++ private boolean insideForEachExpression = false;
++ private boolean insideClass = false;
++ private Set<? extends TypeMirror> smartTypes = null;
++ private Set<Element> excludes = null;
++- private Set<String> kws = new HashSet<>();
++ private boolean addSemicolon = false;
++ private boolean checkAddSemicolon = true;
++ private int assignToVarPos = -2;
++@@ -719,12 +686,9 @@ abstract class BaseTask extends UserTask {
++ return referencesCount;
++ }
++
++- public Map<Name, ? extends Element> getForwardReferences() {
+++ public Collection<? extends Element> getForwardReferences() {
++ if (refs == null) {
++- refs = new HashMap<>();
++- for (Element ref : SourceUtils.getForwardReferences(path, offset, sourcePositions, controller.getTrees())) {
++- refs.put(ref.getSimpleName(), ref);
++- }
+++ refs = SourceUtils.getForwardReferences(path, offset, sourcePositions, controller.getTrees());
++ }
++ return refs;
++ }
++@@ -782,16 +746,6 @@ abstract class BaseTask extends UserTask {
++ return excludes;
++ }
++
++- public void addExcludedKW(String kw) {
++- if (kw != null) {
++- kws.add(kw);
++- }
++- }
++-
++- public boolean isExcludedKW(String kw) {
++- return kws.contains(kw);
++- }
++-
++ public void skipAccessibilityCheck() {
++ this.checkAccessibility = false;
++ }
++diff --git a/java.completion/src/org/netbeans/modules/java/completion/Bundle.properties b/java.completion/src/org/netbeans/modules/java/completion/Bundle.properties
++index efc1f73a2..8b5ad794d 100644
++--- a/java.completion/src/org/netbeans/modules/java/completion/Bundle.properties
+++++ b/java.completion/src/org/netbeans/modules/java/completion/Bundle.properties
++@@ -1,40 +1,3 @@
++-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++-#
++-# Copyright (c) 2014, 2016 Oracle and/or its affiliates. All rights reserved.
++-#
++-# Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++-# Other names may be trademarks of their respective owners.
++-#
++-# The contents of this file are subject to the terms of either the GNU
++-# General Public License Version 2 only ("GPL") or the Common
++-# Development and Distribution License("CDDL") (collectively, the
++-# "License"). You may not use this file except in compliance with the
++-# License. You can obtain a copy of the License at
++-# http://www.netbeans.org/cddl-gplv2.html
++-# or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++-# specific language governing permissions and limitations under the
++-# License. When distributing the software, include this License Header
++-# Notice in each file and include the License file at
++-# nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
++-# particular file as subject to the "Classpath" exception as provided
++-# by Oracle in the GPL Version 2 section of the License file that
++-# accompanied this code. If applicable, add the following below the
++-# License Header, with the fields enclosed by brackets [] replaced by
++-# your own identifying information:
++-# "Portions Copyrighted [year] [name of copyright owner]"
++-#
++-# If you wish your version of this file to be governed by only the CDDL
++-# or only the GPL Version 2, indicate your decision by adding
++-# "[Contributor] elects to include this software in this distribution
++-# under the [CDDL or GPL Version 2] license." If you do not indicate a
++-# single choice of license, a recipient has the option to distribute
++-# your version of this file under either the CDDL, the GPL Version 2 or
++-# to extend the choice of license to its licensees as provided above.
++-# However, if you add GPL Version 2 code and therefore, elected the GPL
++-# Version 2 license, then the option applies only if the new code is
++-# made subject to such option by the copyright holder.
++-#
++-# Contributor(s):
++ OpenIDE-Module-Display-Category=Java
++ OpenIDE-Module-Long-Description=\
++ Code Completion Provider for Java
++diff --git a/java.completion/src/org/netbeans/modules/java/completion/JavaCompletionTask.java b/java.completion/src/org/netbeans/modules/java/completion/JavaCompletionTask.java
++index c0657a5ba..069f8ae6f 100644
++--- a/java.completion/src/org/netbeans/modules/java/completion/JavaCompletionTask.java
+++++ b/java.completion/src/org/netbeans/modules/java/completion/JavaCompletionTask.java
++@@ -134,10 +134,6 @@ public final class JavaCompletionTask<T> extends BaseTask {
++
++ T createTypeCastableExecutableItem(CompilationInfo info, ExecutableElement elem, ExecutableType type, TypeMirror castType, int substitutionOffset, ReferencesCount referencesCount, boolean isInherited, boolean isDeprecated, boolean inImport, boolean addSemicolon, boolean smartType, int assignToVarOffset, boolean memberRef);
++ }
++-
++- public static interface LambdaItemFactory<T> extends ItemFactory<T> {
++- T createLambdaItem(CompilationInfo info, TypeElement elem, DeclaredType type, int substitutionOffset, boolean addSemicolon);
++- }
++
++ public static enum Options {
++
++@@ -280,9 +276,6 @@ public final class JavaCompletionTask<T> extends BaseTask {
++ case COMPILATION_UNIT:
++ insideCompilationUnit(env);
++ break;
++- case PACKAGE:
++- insidePackage(env);
++- break;
++ case IMPORT:
++ insideImport(env);
++ break;
++@@ -475,15 +468,6 @@ public final class JavaCompletionTask<T> extends BaseTask {
++ }
++ }
++
++- private void insidePackage(Env env) {
++- int offset = env.getOffset();
++- PackageTree pt = (PackageTree) env.getPath().getLeaf();
++- SourcePositions sourcePositions = env.getSourcePositions();
++- if (offset <= sourcePositions.getStartPosition(env.getRoot(), pt.getPackageName())) {
++- addPackages(env, null, true);
++- }
++- }
++-
++ private void insideImport(Env env) {
++ int offset = env.getOffset();
++ String prefix = env.getPrefix();
++@@ -1255,15 +1239,15 @@ public final class JavaCompletionTask<T> extends BaseTask {
++ }
++ } else if (last.getKind() == Tree.Kind.TRY) {
++ if (((TryTree) last).getFinallyBlock() == null) {
++- addKeyword(env, CATCH_KEYWORD, null, true);
++- addKeyword(env, FINALLY_KEYWORD, null, true);
+++ addKeyword(env, CATCH_KEYWORD, null, false);
+++ addKeyword(env, FINALLY_KEYWORD, null, false);
++ if (((TryTree) last).getCatches().isEmpty() && ((TryTree) last).getResources().isEmpty()) {
++ return;
++ }
++ }
++ } else if (last.getKind() == Tree.Kind.IF) {
++ if (((IfTree) last).getElseStatement() == null) {
++- addKeyword(env, ELSE_KEYWORD, null, true);
+++ addKeyword(env, ELSE_KEYWORD, null, false);
++ }
++ }
++ localResult(env);
++@@ -1815,16 +1799,10 @@ public final class JavaCompletionTask<T> extends BaseTask {
++
++ private void insideTry(Env env) throws IOException {
++ CompilationController controller = env.getController();
++- TokenSequence<JavaTokenId> last = findLastNonWhitespaceToken(env, env.getPath().getLeaf(), env.getOffset());
++- if (last != null && (last.token().id() == JavaTokenId.LPAREN || last.token().id() == JavaTokenId.SEMICOLON)) {
++- addKeyword(env, FINAL_KEYWORD, SPACE, false);
++- if (controller.getSourceVersion().compareTo(SourceVersion.RELEASE_9) >= 0) {
++- addEffectivelyFinalAutoCloseables(env);
++- }
++- TypeElement te = controller.getElements().getTypeElement("java.lang.AutoCloseable"); //NOI18N
++- if (te != null) {
++- addTypes(env, EnumSet.of(CLASS, INTERFACE, TYPE_PARAMETER), controller.getTypes().getDeclaredType(te));
++- }
+++ addKeyword(env, FINAL_KEYWORD, SPACE, false);
+++ TypeElement te = controller.getElements().getTypeElement("java.lang.AutoCloseable"); //NOI18N
+++ if (te != null) {
+++ addTypes(env, EnumSet.of(CLASS, INTERFACE, TYPE_PARAMETER), controller.getTypes().getDeclaredType(te));
++ }
++ }
++
++@@ -1838,7 +1816,7 @@ public final class JavaCompletionTask<T> extends BaseTask {
++ if (!options.contains(Options.ALL_COMPLETION)) {
++ TreeUtilities tu = controller.getTreeUtilities();
++ TreePath tryPath = tu.getPathElementOfKind(Tree.Kind.TRY, path);
++- Set<TypeMirror> exs = tu.getUncaughtExceptions(tryPath != null ? tryPath : path.getParentPath());
+++ Set<TypeMirror> exs = tu.getUncaughtExceptions(tryPath);
++ Elements elements = controller.getElements();
++ for (TypeMirror ex : exs) {
++ if (ex.getKind() == TypeKind.DECLARED && startsWith(env, ((DeclaredType) ex).asElement().getSimpleName().toString())
++@@ -2434,7 +2412,7 @@ public final class JavaCompletionTask<T> extends BaseTask {
++ String prefix = env.getPrefix();
++ Tree et = exPath.getLeaf();
++ Tree parent = exPath.getParentPath().getLeaf();
++- final CompilationController controller = env.getController();
+++ CompilationController controller = env.getController();
++ int endPos = (int) env.getSourcePositions().getEndPosition(env.getRoot(), et);
++ if (endPos != Diagnostic.NOPOS && endPos < offset) {
++ TokenSequence<JavaTokenId> last = findLastNonWhitespaceToken(env, endPos, offset);
++@@ -2459,15 +2437,14 @@ public final class JavaCompletionTask<T> extends BaseTask {
++ if (parent.getKind() != Tree.Kind.PARENTHESIZED
++ && (et.getKind() == Tree.Kind.PRIMITIVE_TYPE || et.getKind() == Tree.Kind.ARRAY_TYPE || et.getKind() == Tree.Kind.PARAMETERIZED_TYPE)) {
++ TypeMirror tm = controller.getTrees().getTypeMirror(exPath);
++- final Map<Name, ? extends Element> illegalForwardRefs = env.getForwardReferences();
+++ final Collection<? extends Element> illegalForwardRefs = env.getForwardReferences();
++ Scope scope = env.getScope();
++ final ExecutableElement method = scope.getEnclosingMethod();
++ ElementUtilities.ElementAcceptor acceptor = new ElementUtilities.ElementAcceptor() {
++ @Override
++ public boolean accept(Element e, TypeMirror t) {
++- return (method == null || method == e.getEnclosingElement() || e.getModifiers().contains(FINAL)
++- || EnumSet.of(LOCAL_VARIABLE, PARAMETER, EXCEPTION_PARAMETER, RESOURCE_VARIABLE).contains(e.getKind()) && controller.getSourceVersion().compareTo(SourceVersion.RELEASE_8) >= 0 && controller.getElementUtilities().isEffectivelyFinal((VariableElement)e))
++- && !illegalForwardRefs.containsKey(e.getSimpleName());
+++ return (method == null || method == e.getEnclosingElement() || e.getModifiers().contains(FINAL))
+++ && !illegalForwardRefs.contains(e);
++ }
++ };
++ for (String name : Utilities.varNamesSuggestions(tm, varKind, varMods, null, prefix, controller.getTypes(), controller.getElements(), controller.getElementUtilities().getLocalMembersAndVars(scope, acceptor), CodeStyle.getDefault(controller.getDocument()))) {
++@@ -2495,15 +2472,14 @@ public final class JavaCompletionTask<T> extends BaseTask {
++ case PACKAGE:
++ if (parent.getKind() != Tree.Kind.PARENTHESIZED
++ || env.getController().getSourceVersion().compareTo(SourceVersion.RELEASE_8) >= 0) {
++- final Map<Name, ? extends Element> illegalForwardRefs = env.getForwardReferences();
+++ final Collection<? extends Element> illegalForwardRefs = env.getForwardReferences();
++ Scope scope = env.getScope();
++ final ExecutableElement method = scope.getEnclosingMethod();
++ ElementUtilities.ElementAcceptor acceptor = new ElementUtilities.ElementAcceptor() {
++ @Override
++ public boolean accept(Element e, TypeMirror t) {
++- return (method == null || method == e.getEnclosingElement() || e.getModifiers().contains(FINAL)
++- || EnumSet.of(LOCAL_VARIABLE, PARAMETER, EXCEPTION_PARAMETER, RESOURCE_VARIABLE).contains(e.getKind()) && controller.getSourceVersion().compareTo(SourceVersion.RELEASE_8) >= 0 && controller.getElementUtilities().isEffectivelyFinal((VariableElement)e))
++- && !illegalForwardRefs.containsKey(e.getSimpleName());
+++ return (method == null || method == e.getEnclosingElement() || e.getModifiers().contains(FINAL))
+++ && !illegalForwardRefs.contains(e);
++ }
++ };
++ for (String name : Utilities.varNamesSuggestions(tm, varKind, varMods, null, prefix, controller.getTypes(), controller.getElements(),
++@@ -2527,15 +2503,14 @@ public final class JavaCompletionTask<T> extends BaseTask {
++ }
++ TypeElement te = getTypeElement(env, e.getSimpleName().toString());
++ if (te != null) {
++- final Map<Name, ? extends Element> illegalForwardRefs = env.getForwardReferences();
+++ final Collection<? extends Element> illegalForwardRefs = env.getForwardReferences();
++ Scope scope = env.getScope();
++ final ExecutableElement method = scope.getEnclosingMethod();
++ ElementUtilities.ElementAcceptor acceptor = new ElementUtilities.ElementAcceptor() {
++ @Override
++ public boolean accept(Element e, TypeMirror t) {
++- return (method == null || method == e.getEnclosingElement() || e.getModifiers().contains(FINAL)
++- || EnumSet.of(LOCAL_VARIABLE, PARAMETER, EXCEPTION_PARAMETER, RESOURCE_VARIABLE).contains(e.getKind()) && controller.getSourceVersion().compareTo(SourceVersion.RELEASE_8) >= 0 && controller.getElementUtilities().isEffectivelyFinal((VariableElement)e))
++- && !illegalForwardRefs.containsKey(e.getSimpleName());
+++ return (method == null || method == e.getEnclosingElement() || e.getModifiers().contains(FINAL))
+++ && !illegalForwardRefs.contains(e);
++ }
++ };
++ for (String name : Utilities.varNamesSuggestions(controller.getTypes().getDeclaredType(te), varKind, varMods, null, prefix, controller.getTypes(),
++@@ -2637,15 +2612,14 @@ public final class JavaCompletionTask<T> extends BaseTask {
++ case ENUM:
++ case INTERFACE:
++ case PACKAGE:
++- final Map<Name, ? extends Element> illegalForwardRefs = env.getForwardReferences();
+++ final Collection<? extends Element> illegalForwardRefs = env.getForwardReferences();
++ Scope scope = env.getScope();
++ final ExecutableElement method = scope.getEnclosingMethod();
++ ElementUtilities.ElementAcceptor acceptor = new ElementUtilities.ElementAcceptor() {
++ @Override
++ public boolean accept(Element e, TypeMirror t) {
++- return (method == null || method == e.getEnclosingElement() || e.getModifiers().contains(FINAL)
++- || EnumSet.of(LOCAL_VARIABLE, PARAMETER, EXCEPTION_PARAMETER, RESOURCE_VARIABLE).contains(e.getKind()) && controller.getSourceVersion().compareTo(SourceVersion.RELEASE_8) >= 0 && controller.getElementUtilities().isEffectivelyFinal((VariableElement)e))
++- && !illegalForwardRefs.containsKey(e.getSimpleName());
+++ return (method == null || method == e.getEnclosingElement() || e.getModifiers().contains(FINAL))
+++ && !illegalForwardRefs.contains(e);
++ }
++ };
++ for (String name : Utilities.varNamesSuggestions(tm, varKind, varMods, null, prefix, controller.getTypes(), controller.getElements(), controller.getElementUtilities().getLocalMembersAndVars(scope, acceptor), CodeStyle.getDefault(controller.getDocument()))) {
++@@ -2785,9 +2759,6 @@ public final class JavaCompletionTask<T> extends BaseTask {
++ final TypeElement element = (TypeElement) type.asElement();
++ if (JAVA_LANG_CLASS.contentEquals(element.getQualifiedName())) {
++ addTypeDotClassMembers(env, type);
++- } else if (controller.getSourceVersion().compareTo(SourceVersion.RELEASE_8) >= 0
++- && elements.isFunctionalInterface(element) && itemFactory instanceof LambdaItemFactory) {
++- results.add(((LambdaItemFactory<T>)itemFactory).createLambdaItem(env.getController(), element, type, anchorOffset, env.addSemicolon()));
++ }
++ final boolean startsWith = startsWith(env, element.getSimpleName().toString());
++ final boolean withinScope = withinScope(env, element);
++@@ -2877,42 +2848,6 @@ public final class JavaCompletionTask<T> extends BaseTask {
++ }
++ }
++
++- private void addEffectivelyFinalAutoCloseables(final Env env) throws IOException {
++- final CompilationController controller = env.getController();
++- final Elements elements = controller.getElements();
++- final TypeElement te = elements.getTypeElement("java.lang.AutoCloseable"); //NOI18N
++- if (te != null) {
++- final Types types = controller.getTypes();
++- final ElementUtilities eu = controller.getElementUtilities();
++- final Scope scope = env.getScope();
++- final Set<? extends TypeMirror> smartTypes = options.contains(Options.ALL_COMPLETION) ? null : getSmartTypes(env);
++- final TypeElement enclClass = scope.getEnclosingClass();
++- for (Element e : getLocalMembersAndVars(env)) {
++- switch (e.getKind()) {
++- case EXCEPTION_PARAMETER:
++- case LOCAL_VARIABLE:
++- case RESOURCE_VARIABLE:
++- case PARAMETER:
++- if (types.isSubtype(e.asType(), te.asType()) && eu.isEffectivelyFinal((VariableElement) e)) {
++- results.add(itemFactory.createVariableItem(env.getController(), (VariableElement) e, e.asType(), anchorOffset, null, env.getScope().getEnclosingClass() != e.getEnclosingElement(), elements.isDeprecated(e), isOfSmartType(env, e.asType(), smartTypes), env.assignToVarPos()));
++- }
++- break;
++- case FIELD:
++- if (types.isSubtype(e.asType(), te.asType())) {
++- String name = e.getSimpleName().toString();
++- if (THIS_KEYWORD.equals(name) || SUPER_KEYWORD.equals(name)) {
++- results.add(itemFactory.createKeywordItem(name, null, anchorOffset, isOfSmartType(env, e.asType(), smartTypes)));
++- } else {
++- TypeMirror tm = asMemberOf(e, enclClass != null ? enclClass.asType() : null, types);
++- results.add(itemFactory.createVariableItem(env.getController(), (VariableElement) e, tm, anchorOffset, null, env.getScope().getEnclosingClass() != e.getEnclosingElement(), elements.isDeprecated(e), isOfSmartType(env, tm, smartTypes), env.assignToVarPos()));
++- }
++- }
++- break;
++- }
++- }
++- }
++- }
++-
++ private Iterable<? extends Element> getLocalMembersAndVars(final Env env) throws IOException {
++ final String prefix = env.getPrefix();
++ final CompilationController controller = env.getController();
++@@ -2924,7 +2859,7 @@ public final class JavaCompletionTask<T> extends BaseTask {
++ final TypeElement enclClass = scope.getEnclosingClass();
++ final boolean enclStatic = enclClass != null && enclClass.getModifiers().contains(Modifier.STATIC);
++ final boolean ctxStatic = enclClass != null && (tu.isStaticContext(scope) || (env.getPath().getLeaf().getKind() == Tree.Kind.BLOCK && ((BlockTree) env.getPath().getLeaf()).isStatic()));
++- final Map<Name, ? extends Element> illegalForwardRefs = env.getForwardReferences();
+++ final Collection<? extends Element> illegalForwardRefs = env.getForwardReferences();
++ final ExecutableElement method = scope.getEnclosingMethod() != null && scope.getEnclosingMethod().getEnclosingElement() == enclClass ? scope.getEnclosingMethod() : null;
++ ElementUtilities.ElementAcceptor acceptor = new ElementUtilities.ElementAcceptor() {
++ @Override
++@@ -2944,14 +2879,14 @@ public final class JavaCompletionTask<T> extends BaseTask {
++ || (method == null && (e.getEnclosingElement().getKind() == INSTANCE_INIT
++ || e.getEnclosingElement().getKind() == STATIC_INIT
++ || e.getEnclosingElement().getKind() == METHOD && e.getEnclosingElement().getEnclosingElement().getKind() == FIELD)))
++- && (!illegalForwardRefs.containsKey(e.getSimpleName()) || illegalForwardRefs.get(e.getSimpleName()).getEnclosingElement() != e.getEnclosingElement());
+++ && !illegalForwardRefs.contains(e);
++ case FIELD:
++ if (e.getSimpleName().contentEquals(THIS_KEYWORD) || e.getSimpleName().contentEquals(SUPER_KEYWORD)) {
++ return Utilities.startsWith(e.getSimpleName().toString(), prefix) && !isStatic;
++ }
++ case ENUM_CONSTANT:
++ return startsWith(env, e.getSimpleName().toString())
++- && !illegalForwardRefs.containsValue(e)
+++ && !illegalForwardRefs.contains(e)
++ && (!isStatic || e.getModifiers().contains(STATIC))
++ && (Utilities.isShowDeprecatedMembers() || !elements.isDeprecated(e))
++ && trees.isAccessible(scope, e, (DeclaredType) t);
++@@ -3336,10 +3271,7 @@ public final class JavaCompletionTask<T> extends BaseTask {
++ case PARAMETER:
++ String name = e.getSimpleName().toString();
++ if (THIS_KEYWORD.equals(name) || CLASS_KEYWORD.equals(name) || SUPER_KEYWORD.equals(name)) {
++- if (!env.isExcludedKW(name)) {
++- results.add(itemFactory.createKeywordItem(name, null, anchorOffset, isOfSmartType(env, e.asType(), smartTypes)));
++- env.addExcludedKW(name);
++- }
+++ results.add(itemFactory.createKeywordItem(name, null, anchorOffset, isOfSmartType(env, e.asType(), smartTypes)));
++ } else {
++ TypeMirror tm = asMemberOf(e, actualType, types);
++ if (addCast && itemFactory instanceof TypeCastableItemFactory) {
++@@ -3746,7 +3678,7 @@ public final class JavaCompletionTask<T> extends BaseTask {
++ }
++
++ private void addMethodArguments(Env env, MethodInvocationTree mit) throws IOException {
++- final CompilationController controller = env.getController();
+++ CompilationController controller = env.getController();
++ TreePath path = env.getPath();
++ CompilationUnitTree root = env.getRoot();
++ SourcePositions sourcePositions = env.getSourcePositions();
++@@ -3789,7 +3721,7 @@ public final class JavaCompletionTask<T> extends BaseTask {
++ final Trees trees = controller.getTrees();
++ final TypeElement enclClass = scope.getEnclosingClass();
++ final boolean isStatic = enclClass != null ? (tu.isStaticContext(scope) || (env.getPath().getLeaf().getKind() == Tree.Kind.BLOCK && ((BlockTree) env.getPath().getLeaf()).isStatic())) : false;
++- final Map<Name, ? extends Element> illegalForwardRefs = env.getForwardReferences();
+++ final Collection<? extends Element> illegalForwardRefs = env.getForwardReferences();
++ final ExecutableElement method = scope.getEnclosingMethod();
++ ElementUtilities.ElementAcceptor acceptor = new ElementUtilities.ElementAcceptor() {
++ @Override
++@@ -3799,11 +3731,10 @@ public final class JavaCompletionTask<T> extends BaseTask {
++ case RESOURCE_VARIABLE:
++ case EXCEPTION_PARAMETER:
++ case PARAMETER:
++- return (method == e.getEnclosingElement() || e.getModifiers().contains(FINAL)
++- || controller.getSourceVersion().compareTo(SourceVersion.RELEASE_8) >= 0 && controller.getElementUtilities().isEffectivelyFinal((VariableElement)e))
++- && (!illegalForwardRefs.containsKey(e.getSimpleName()) || illegalForwardRefs.get(e.getSimpleName()).getEnclosingElement() != e.getEnclosingElement());
+++ return (method == e.getEnclosingElement() || e.getModifiers().contains(FINAL))
+++ && !illegalForwardRefs.contains(e);
++ case FIELD:
++- if (illegalForwardRefs.containsValue(e)) {
+++ if (illegalForwardRefs.contains(e)) {
++ return false;
++ }
++ if (e.getSimpleName().contentEquals(THIS_KEYWORD) || e.getSimpleName().contentEquals(SUPER_KEYWORD)) {
++@@ -4453,7 +4384,7 @@ public final class JavaCompletionTask<T> extends BaseTask {
++ final TypeElement enclClass = scope.getEnclosingClass();
++ final boolean isStatic = enclClass == null ? false
++ : (controller.getTreeUtilities().isStaticContext(scope) || (env.getPath().getLeaf().getKind() == Tree.Kind.BLOCK && ((BlockTree) env.getPath().getLeaf()).isStatic()));
++- final Map<Name, ? extends Element> illegalForwardRefs = env.getForwardReferences();
+++ final Collection<? extends Element> illegalForwardRefs = env.getForwardReferences();
++ final ExecutableElement method = scope.getEnclosingMethod();
++ ElementUtilities.ElementAcceptor acceptor = new ElementUtilities.ElementAcceptor() {
++ @Override
++@@ -4469,15 +4400,14 @@ public final class JavaCompletionTask<T> extends BaseTask {
++ }
++ case EXCEPTION_PARAMETER:
++ case PARAMETER:
++- return (method == e.getEnclosingElement() || e.getModifiers().contains(FINAL)
++- || controller.getSourceVersion().compareTo(SourceVersion.RELEASE_8) >= 0 && controller.getElementUtilities().isEffectivelyFinal((VariableElement)e))
++- && (!illegalForwardRefs.containsKey(e.getSimpleName()) || illegalForwardRefs.get(e.getSimpleName()).getEnclosingElement() != e.getEnclosingElement());
+++ return (method == e.getEnclosingElement() || e.getModifiers().contains(FINAL))
+++ && !illegalForwardRefs.contains(e);
++ case FIELD:
++ if (e.getSimpleName().contentEquals(THIS_KEYWORD) || e.getSimpleName().contentEquals(SUPER_KEYWORD)) {
++ return !isStatic;
++ }
++ case ENUM_CONSTANT:
++- return !illegalForwardRefs.containsValue(e);
+++ return !illegalForwardRefs.contains(e);
++ }
++ return false;
++ }
++@@ -4726,12 +4656,6 @@ public final class JavaCompletionTask<T> extends BaseTask {
++ }
++ return ret;
++ case TRY:
++- TryTree tt = (TryTree) tree;
++- BlockTree tryBlock = tt.getBlock();
++- SourcePositions sourcePositions = env.getSourcePositions();
++- if (tryBlock != null && sourcePositions.getStartPosition(env.getRoot(), tryBlock) <= offset) {
++- return null;
++- }
++ TypeElement te = controller.getElements().getTypeElement("java.lang.AutoCloseable"); //NOI18N
++ return te != null ? Collections.singleton(controller.getTypes().getDeclaredType(te)) : null;
++ case IF:
++@@ -4755,7 +4679,7 @@ public final class JavaCompletionTask<T> extends BaseTask {
++ }
++ return cond == lastTree ? Collections.<TypeMirror>singleton(controller.getTypes().getPrimitiveType(TypeKind.BOOLEAN)) : null;
++ }
++- sourcePositions = env.getSourcePositions();
+++ SourcePositions sourcePositions = env.getSourcePositions();
++ CompilationUnitTree root = env.getRoot();
++ if (cond != null && sourcePositions.getEndPosition(root, cond) < offset) {
++ return null;
++@@ -5207,8 +5131,6 @@ public final class JavaCompletionTask<T> extends BaseTask {
++ }
++ }
++ break;
++- case BLOCK:
++- return null;
++ }
++ lastTree = tree;
++ path = path.getParentPath();
++diff --git a/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.7/OverrideAbstractListAbstract.pass b/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.7/OverrideAbstractListAbstract.pass
++deleted file mode 100644
++index a5caa63cd..000000000
++--- a/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.7/OverrideAbstractListAbstract.pass
+++++ /dev/null
++@@ -1,161 +0,0 @@
++-public boolean add(Object arg0) - override
++-public void add(int arg0, Object arg1) - override
++-public boolean addAll(Collection arg0) - override
++-public boolean addAll(int arg0, Collection arg1) - override
++-public void clear() - override
++-protected native Object clone() - override
++-public boolean contains(Object arg0) - override
++-public boolean containsAll(Collection arg0) - override
++-public boolean equals(Object arg0) - override
++-protected void finalize() - override
++-public abstract Object get(int arg0) - implement
++-public abstract Object get(int arg0) - override
++-public int getModCount() - generate
++-public int hashCode() - override
++-public int indexOf(Object arg0) - override
++-public boolean isEmpty() - override
++-public Iterator iterator() - override
++-public int lastIndexOf(Object arg0) - override
++-public ListIterator listIterator() - override
++-public ListIterator listIterator(int arg0) - override
++-public boolean remove(Object arg0) - override
++-public Object remove(int arg0) - override
++-public boolean removeAll(Collection arg0) - override
++-protected void removeRange(int arg0, int arg1) - override
++-public boolean retainAll(Collection arg0) - override
++-public Object set(int arg0, Object arg1) - override
++-public void setModCount(int modCount) - generate
++-public abstract int size() - implement
++-public abstract int size() - override
++-public List subList(int arg0, int arg1) - override
++-public Object[] toArray() - override
++-public Object[] toArray(Object[] arg0) - override
++-public String toString() - override
++-abstract
++-boolean
++-byte
++-char
++-class
++-double
++-enum
++-final
++-float
++-int
++-interface
++-long
++-native
++-private
++-protected
++-public
++-short
++-static
++-strictfp
++-synchronized
++-transient
++-void
++-volatile
++-AbstractList
++-AbstractMethodError
++-Appendable
++-ArithmeticException
++-ArrayIndexOutOfBoundsException
++-ArrayStoreException
++-AssertionError
++-AutoCloseable
++-Boolean
++-BootstrapMethodError
++-Byte
++-CharSequence
++-Character
++-Class
++-ClassCastException
++-ClassCircularityError
++-ClassFormatError
++-ClassLoader
++-ClassNotFoundException
++-ClassValue
++-CloneNotSupportedException
++-Cloneable
++-Comparable
++-Compiler
++-Deprecated
++-Double
++-Enum
++-EnumConstantNotPresentException
++-Error
++-Exception
++-ExceptionInInitializerError
++-Float
++-IllegalAccessError
++-IllegalAccessException
++-IllegalArgumentException
++-IllegalMonitorStateException
++-IllegalStateException
++-IllegalThreadStateException
++-IncompatibleClassChangeError
++-IndexOutOfBoundsException
++-InheritableThreadLocal
++-InstantiationError
++-InstantiationException
++-Integer
++-InternalError
++-InterruptedException
++-Iterable
++-LinkageError
++-Long
++-Math
++-NegativeArraySizeException
++-NoClassDefFoundError
++-NoSuchFieldError
++-NoSuchFieldException
++-NoSuchMethodError
++-NoSuchMethodException
++-NullPointerException
++-Number
++-NumberFormatException
++-Object
++-OutOfMemoryError
++-Override
++-Package
++-Process
++-ProcessBuilder
++-Readable
++-ReflectiveOperationException
++-Runnable
++-Runtime
++-RuntimeException
++-RuntimePermission
++-SafeVarargs
++-SecurityException
++-SecurityManager
++-Short
++-StackOverflowError
++-StackTraceElement
++-StrictMath
++-String
++-StringBuffer
++-StringBuilder
++-StringIndexOutOfBoundsException
++-SuppressWarnings
++-System
++-Test
++-Thread
++-ThreadDeath
++-ThreadGroup
++-ThreadLocal
++-Throwable
++-TypeNotPresentException
++-UnknownError
++-UnsatisfiedLinkError
++-UnsupportedClassVersionError
++-UnsupportedOperationException
++-VerifyError
++-VirtualMachineError
++-Void
++-com
++-java
++-javax
++-oracle
++-org
++-sun
++-sunw
++diff --git a/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/OverrideAbstractListAbstract.pass b/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/OverrideAbstractListAbstract.pass
++deleted file mode 100644
++index 140b300c6..000000000
++--- a/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/OverrideAbstractListAbstract.pass
+++++ /dev/null
++@@ -1,168 +0,0 @@
++-public boolean add(Object arg0) - override
++-public void add(int arg0, Object arg1) - override
++-public boolean addAll(Collection arg0) - override
++-public boolean addAll(int arg0, Collection arg1) - override
++-public void clear() - override
++-protected native Object clone() - override
++-public boolean contains(Object arg0) - override
++-public boolean containsAll(Collection arg0) - override
++-public boolean equals(Object arg0) - override
++-protected void finalize() - override
++-public default void forEach(Consumer arg0) - override
++-public abstract Object get(int arg0) - implement
++-public abstract Object get(int arg0) - override
++-public int getModCount() - generate
++-public int hashCode() - override
++-public int indexOf(Object arg0) - override
++-public boolean isEmpty() - override
++-public Iterator iterator() - override
++-public int lastIndexOf(Object arg0) - override
++-public ListIterator listIterator() - override
++-public ListIterator listIterator(int arg0) - override
++-public default Stream parallelStream() - override
++-public boolean remove(Object arg0) - override
++-public Object remove(int arg0) - override
++-public boolean removeAll(Collection arg0) - override
++-public default boolean removeIf(Predicate arg0) - override
++-protected void removeRange(int arg0, int arg1) - override
++-public default void replaceAll(UnaryOperator arg0) - override
++-public boolean retainAll(Collection arg0) - override
++-public Object set(int arg0, Object arg1) - override
++-public void setModCount(int modCount) - generate
++-public abstract int size() - implement
++-public abstract int size() - override
++-public default void sort(Comparator arg0) - override
++-public default Spliterator spliterator() - override
++-public default Stream stream() - override
++-public List subList(int arg0, int arg1) - override
++-public Object[] toArray() - override
++-public Object[] toArray(Object[] arg0) - override
++-public String toString() - override
++-abstract
++-boolean
++-byte
++-char
++-class
++-double
++-enum
++-final
++-float
++-int
++-interface
++-long
++-native
++-private
++-protected
++-public
++-short
++-static
++-strictfp
++-synchronized
++-transient
++-void
++-volatile
++-AbstractList
++-AbstractMethodError
++-Appendable
++-ArithmeticException
++-ArrayIndexOutOfBoundsException
++-ArrayStoreException
++-AssertionError
++-AutoCloseable
++-Boolean
++-BootstrapMethodError
++-Byte
++-CharSequence
++-Character
++-Class
++-ClassCastException
++-ClassCircularityError
++-ClassFormatError
++-ClassLoader
++-ClassNotFoundException
++-ClassValue
++-CloneNotSupportedException
++-Cloneable
++-Comparable
++-Compiler
++-Deprecated
++-Double
++-Enum
++-EnumConstantNotPresentException
++-Error
++-Exception
++-ExceptionInInitializerError
++-Float
++-FunctionalInterface
++-IllegalAccessError
++-IllegalAccessException
++-IllegalArgumentException
++-IllegalMonitorStateException
++-IllegalStateException
++-IllegalThreadStateException
++-IncompatibleClassChangeError
++-IndexOutOfBoundsException
++-InheritableThreadLocal
++-InstantiationError
++-InstantiationException
++-Integer
++-InternalError
++-InterruptedException
++-Iterable
++-LinkageError
++-Long
++-Math
++-NegativeArraySizeException
++-NoClassDefFoundError
++-NoSuchFieldError
++-NoSuchFieldException
++-NoSuchMethodError
++-NoSuchMethodException
++-NullPointerException
++-Number
++-NumberFormatException
++-Object
++-OutOfMemoryError
++-Override
++-Package
++-Process
++-ProcessBuilder
++-Readable
++-ReflectiveOperationException
++-Runnable
++-Runtime
++-RuntimeException
++-RuntimePermission
++-SafeVarargs
++-SecurityException
++-SecurityManager
++-Short
++-StackOverflowError
++-StackTraceElement
++-StrictMath
++-String
++-StringBuffer
++-StringBuilder
++-StringIndexOutOfBoundsException
++-SuppressWarnings
++-System
++-Test
++-Thread
++-ThreadDeath
++-ThreadGroup
++-ThreadLocal
++-Throwable
++-TypeNotPresentException
++-UnknownError
++-UnsatisfiedLinkError
++-UnsupportedClassVersionError
++-UnsupportedOperationException
++-VerifyError
++-VirtualMachineError
++-Void
++-com
++-java
++-javax
++-oracle
++-org
++-sun
++diff --git a/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/OverrideTypedException.pass b/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/OverrideTypedException1.pass
++similarity index 100%
++rename from java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/OverrideTypedException.pass
++rename to java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/OverrideTypedException1.pass
++diff --git a/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/OverrideTypedException2.pass b/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/OverrideTypedException2.pass
++new file mode 100644
++index 000000000..4661eac89
++--- /dev/null
+++++ b/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/OverrideTypedException2.pass
++@@ -0,0 +1 @@
+++public void test() - override
++diff --git a/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/autoCloseables.pass b/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/autoCloseables.pass
++deleted file mode 100644
++index 6d8c66f74..000000000
++--- a/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/autoCloseables.pass
+++++ /dev/null
++@@ -1,8 +0,0 @@
++-AutoCloseable
++-FileWriter
++-com
++-java
++-javax
++-oracle
++-org
++-sun
++diff --git a/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/autoCloseablesStartingWithF.pass b/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/autoCloseablesStartingWithF.pass
++deleted file mode 100644
++index a1d6118cd..000000000
++--- a/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/autoCloseablesStartingWithF.pass
+++++ /dev/null
++@@ -1 +0,0 @@
++-FileWriter
++diff --git a/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/finalAndAutoCloseables.pass b/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/finalAndAutoCloseables.pass
++deleted file mode 100644
++index 9373841fb..000000000
++--- a/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/finalAndAutoCloseables.pass
+++++ /dev/null
++@@ -1,9 +0,0 @@
++-final
++-AutoCloseable
++-FileWriter
++-com
++-java
++-javax
++-oracle
++-org
++-sun
++diff --git a/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/i.pass b/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/i.pass
++new file mode 100644
++index 000000000..0ddf2bae7
++--- /dev/null
+++++ b/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/i.pass
++@@ -0,0 +1 @@
+++i
++diff --git a/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/resourceInit.pass b/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/interfaceMemberModifiersAndTypesWithoutDefaultAndStatic.pass
++similarity index 78%
++rename from java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/resourceInit.pass
++rename to java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/interfaceMemberModifiersAndTypesWithoutDefaultAndStatic.pass
++index be3f58cc0..1f8135d59 100644
++--- a/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/resourceInit.pass
+++++ b/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/interfaceMemberModifiersAndTypesWithoutDefaultAndStatic.pass
++@@ -1,30 +1,25 @@
++-File f
++-protected native Object clone()
++-public boolean equals(Object arg0)
++-protected void finalize()
++-public final native Class<?> getClass()
++-public native int hashCode()
++-public final native void notify()
++-public final native void notifyAll()
++-public void op(File f)
++-public String toString()
++-public final void wait()
++-public final native void wait(long arg0)
++-public final void wait(long arg0, int arg1)
+++abstract
++ boolean
++ byte
++ char
+++class
++ double
++-false
+++enum
+++final
++ float
++ int
+++interface
++ long
++-new
++-null
+++native
+++private
+++protected
+++public
++ short
++-super
++-this
++-true
+++strictfp
+++synchronized
+++transient
+++void
+++volatile
++ AbstractMethodError
++ Appendable
++ ArithmeticException
++@@ -55,8 +50,6 @@ EnumConstantNotPresentException
++ Error
++ Exception
++ ExceptionInInitializerError
++-File
++-FileWriter
++ Float
++ FunctionalInterface
++ IllegalAccessError
++diff --git a/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/javaLangContent.pass b/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/javaLangContent.pass
++new file mode 100644
++index 000000000..041833147
++--- /dev/null
+++++ b/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/javaLangContent.pass
++@@ -0,0 +1,104 @@
+++AbstractMethodError
+++Appendable
+++ArithmeticException
+++ArrayIndexOutOfBoundsException
+++ArrayStoreException
+++AssertionError
+++AutoCloseable
+++Boolean
+++BootstrapMethodError
+++Byte
+++CharSequence
+++Character
+++Class
+++ClassCastException
+++ClassCircularityError
+++ClassFormatError
+++ClassLoader
+++ClassNotFoundException
+++ClassValue
+++CloneNotSupportedException
+++Cloneable
+++Comparable
+++Compiler
+++Deprecated
+++Double
+++Enum
+++EnumConstantNotPresentException
+++Error
+++Exception
+++ExceptionInInitializerError
+++Float
+++FunctionalInterface
+++IllegalAccessError
+++IllegalAccessException
+++IllegalArgumentException
+++IllegalMonitorStateException
+++IllegalStateException
+++IllegalThreadStateException
+++IncompatibleClassChangeError
+++IndexOutOfBoundsException
+++InheritableThreadLocal
+++InstantiationError
+++InstantiationException
+++Integer
+++InternalError
+++InterruptedException
+++Iterable
+++LinkageError
+++Long
+++Math
+++NegativeArraySizeException
+++NoClassDefFoundError
+++NoSuchFieldError
+++NoSuchFieldException
+++NoSuchMethodError
+++NoSuchMethodException
+++NullPointerException
+++Number
+++NumberFormatException
+++Object
+++OutOfMemoryError
+++Override
+++Package
+++Process
+++ProcessBuilder
+++Readable
+++ReflectiveOperationException
+++Runnable
+++Runtime
+++RuntimeException
+++RuntimePermission
+++SafeVarargs
+++SecurityException
+++SecurityManager
+++Short
+++StackOverflowError
+++StackTraceElement
+++StrictMath
+++String
+++StringBuffer
+++StringBuilder
+++StringIndexOutOfBoundsException
+++SuppressWarnings
+++System
+++Test
+++Thread
+++ThreadDeath
+++ThreadGroup
+++ThreadLocal
+++Throwable
+++TypeNotPresentException
+++UnknownError
+++UnsatisfiedLinkError
+++UnsupportedClassVersionError
+++UnsupportedOperationException
+++VerifyError
+++VirtualMachineError
+++Void
+++com
+++java
+++javax
+++oracle
+++org
+++sun
++diff --git a/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/resourceNames.pass b/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/resourceNames.pass
++deleted file mode 100644
++index 29fd61aa2..000000000
++--- a/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/resourceNames.pass
+++++ /dev/null
++@@ -1,3 +0,0 @@
++-fileWriter
++-fw
++-writer
++diff --git a/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/resourcesAndAutoCloseables.pass b/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/resourcesAndAutoCloseables.pass
++deleted file mode 100644
++index ecd703472..000000000
++--- a/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/resourcesAndAutoCloseables.pass
+++++ /dev/null
++@@ -1,10 +0,0 @@
++-final
++-AutoCloseable
++-BufferedWriter
++-FileWriter
++-com
++-java
++-javax
++-oracle
++-org
++-sun
++diff --git a/java.completion/test/unit/data/org/netbeans/modules/java/completion/data/OverrideAbstractListAbstract.java b/java.completion/test/unit/data/org/netbeans/modules/java/completion/data/OverrideAbstractListAbstract.java
++deleted file mode 100644
++index 5028d5c7c..000000000
++--- a/java.completion/test/unit/data/org/netbeans/modules/java/completion/data/OverrideAbstractListAbstract.java
+++++ /dev/null
++@@ -1,9 +0,0 @@
++-package test;
++-
++-import java.util.AbstractList;
++-
++-public abstract class Test extends AbstractList {
++-
++- public Test() {}
++-
++-}
++diff --git a/java.completion/test/unit/data/org/netbeans/modules/java/completion/data/SimpleTWR.java b/java.completion/test/unit/data/org/netbeans/modules/java/completion/data/SimpleTWR.java
++deleted file mode 100644
++index c060de7de..000000000
++--- a/java.completion/test/unit/data/org/netbeans/modules/java/completion/data/SimpleTWR.java
+++++ /dev/null
++@@ -1,15 +0,0 @@
++-package test;
++-
++-import java.io.BufferedWriter;
++-import java.io.FileWriter;
++-import java.io.IOException;
++-
++-public class Test {
++-
++- public void op(FileWriter fw) {
++- try (fw; BufferedWriter bw = new BufferedWriter(fw)) {
++- bw.write("Hello");
++- } catch (IOException e) {
++- }
++- }
++-}
++diff --git a/java.completion/test/unit/data/org/netbeans/modules/java/completion/data/SimpleTWRNoRes.java b/java.completion/test/unit/data/org/netbeans/modules/java/completion/data/SimpleTWRNoRes.java
++deleted file mode 100644
++index c472ed921..000000000
++--- a/java.completion/test/unit/data/org/netbeans/modules/java/completion/data/SimpleTWRNoRes.java
+++++ /dev/null
++@@ -1,12 +0,0 @@
++-package test;
++-
++-import java.io.BufferedWriter;
++-import java.io.FileWriter;
++-
++-public class Test {
++-
++- public void op(FileWriter fw) {
++- try () {
++- }
++- }
++-}
++diff --git a/java.completion/test/unit/data/org/netbeans/modules/java/completion/data/SimpleTWRStart.java b/java.completion/test/unit/data/org/netbeans/modules/java/completion/data/SimpleTWRStart.java
++deleted file mode 100644
++index 40e639522..000000000
++--- a/java.completion/test/unit/data/org/netbeans/modules/java/completion/data/SimpleTWRStart.java
+++++ /dev/null
++@@ -1,9 +0,0 @@
++-package test;
++-
++-import java.io.BufferedWriter;
++-import java.io.FileWriter;
++-
++-public class Test {
++-
++- public void op(FileWriter fw) {
++-
++\ No newline at end of file
++diff --git a/java.completion/test/unit/data/org/netbeans/modules/java/completion/data/TWR.java b/java.completion/test/unit/data/org/netbeans/modules/java/completion/data/TWR.java
++deleted file mode 100644
++index 515e4e833..000000000
++--- a/java.completion/test/unit/data/org/netbeans/modules/java/completion/data/TWR.java
+++++ /dev/null
++@@ -1,14 +0,0 @@
++-package test;
++-
++-import java.io.File;
++-import java.io.FileWriter;
++-
++-public class Test {
++-
++- public void op(File f) {
++- try (final FileWriter fw = new FileWriter(f)) {
++- fw.write("Hello");
++- } catch (java.io.IOException e) {
++- }
++- }
++-}
++diff --git a/java.completion/test/unit/data/org/netbeans/modules/java/completion/data/TWRNoRes.java b/java.completion/test/unit/data/org/netbeans/modules/java/completion/data/TWRNoRes.java
++deleted file mode 100644
++index 153e3b943..000000000
++--- a/java.completion/test/unit/data/org/netbeans/modules/java/completion/data/TWRNoRes.java
+++++ /dev/null
++@@ -1,12 +0,0 @@
++-package test;
++-
++-import java.io.File;
++-import java.io.FileWriter;
++-
++-public class Test {
++-
++- public void op(File f) {
++- try () {
++- }
++- }
++-}
++diff --git a/java.completion/test/unit/data/org/netbeans/modules/java/completion/data/TWRStart.java b/java.completion/test/unit/data/org/netbeans/modules/java/completion/data/TWRStart.java
++deleted file mode 100644
++index 8a9fadd4c..000000000
++--- a/java.completion/test/unit/data/org/netbeans/modules/java/completion/data/TWRStart.java
+++++ /dev/null
++@@ -1,8 +0,0 @@
++-package test;
++-
++-import java.io.File;
++-import java.io.FileWriter;
++-
++-public class Test {
++-
++- public void op(File f) {
++diff --git a/java.completion/test/unit/src/org/netbeans/modules/java/completion/CompletionTestBase.java b/java.completion/test/unit/src/org/netbeans/modules/java/completion/CompletionTestBase.java
++index 923f8425f..062556e10 100644
++--- a/java.completion/test/unit/src/org/netbeans/modules/java/completion/CompletionTestBase.java
+++++ b/java.completion/test/unit/src/org/netbeans/modules/java/completion/CompletionTestBase.java
++@@ -140,8 +140,8 @@ public class CompletionTestBase extends NbTestCase {
++
++ @Override
++ protected void setUp() throws Exception {
+++ final ClassPath bootPath = createClassPath(System.getProperty("sun.boot.class.path"));
++ ClassPathProvider cpp = new ClassPathProvider() {
++- volatile ClassPath bootCache;
++ @Override
++ public ClassPath findClassPath(FileObject file, String type) {
++ try {
++@@ -152,11 +152,7 @@ public class CompletionTestBase extends NbTestCase {
++ return ClassPathSupport.createClassPath(new FileObject[0]);
++ }
++ if (type.equals(ClassPath.BOOT)) {
++- ClassPath cp = bootCache;
++- if (cp == null) {
++- bootCache = cp = createClassPath(System.getProperty("sun.boot.class.path"));
++- }
++- return cp;
+++ return bootPath;
++ }
++ } catch (IOException ex) {}
++ return null;
++@@ -187,7 +183,6 @@ public class CompletionTestBase extends NbTestCase {
++ tx.commit();
++ }
++ }
++- final ClassPath bootPath = cpp.findClassPath(FileUtil.toFileObject(getWorkDir()), ClassPath.BOOT);
++ final ClasspathInfo cpInfo = ClasspathInfo.create(bootPath, ClassPathSupport.createClassPath(new URL[0]), sourcePath);
++ assertNotNull(cpInfo);
++ final JavaSource js = JavaSource.create(cpInfo);
++@@ -239,10 +234,6 @@ public class CompletionTestBase extends NbTestCase {
++ }
++
++ protected void performTest(String source, int caretPos, String textToInsert, String goldenFileName, String sourceLevel) throws Exception {
++- String version = System.getProperty("java.specification.version");
++- if (com.sun.tools.javac.code.Source.lookup(version).compareTo(com.sun.tools.javac.code.Source.lookup(sourceLevel)) < 0) {
++- sourceLevel = com.sun.tools.javac.code.Source.lookup(version).name;
++- }
++ this.sourceLevel.set(sourceLevel);
++ File testSource = new File(getWorkDir(), "test/Test.java");
++ testSource.getParentFile().mkdirs();
++@@ -279,8 +270,9 @@ public class CompletionTestBase extends NbTestCase {
++ }
++ }
++
+++ String version = System.getProperty("java.specification.version") + "/";
++
++- File goldenFile = new File(getDataDir(), "/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/" + version + "/" + goldenFileName);
+++ File goldenFile = new File(getDataDir(), "/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/" + version + goldenFileName);
++ File diffFile = new File(getWorkDir(), getName() + ".diff");
++ assertFile(output, goldenFile, diffFile);
++
++diff --git a/java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTask15FeaturesTest.java b/java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTask15FeaturesTest.java
++index c0fed9736..43bdc97f4 100644
++--- a/java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTask15FeaturesTest.java
+++++ b/java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTask15FeaturesTest.java
++@@ -117,15 +117,15 @@ public class JavaCompletionTask15FeaturesTest extends CompletionTestBase {
++ }
++
++ public void testEmptyFileAfterTypingExtendsAndSpaceInFirstTypeParam() throws Exception {
++- performTest("GenericsStart", 32, "<X extends ", "javaLangContentAndTestClass.pass");
+++ performTest("GenericsStart", 32, "<X extends ", "javaLangContent.pass");
++ }
++
++ public void testAfterTypingExtendsAndSpaceInFirstTypeParam() throws Exception {
++- performTest("GenericsNoTypeParams", 32, "<X extends ", "javaLangContentAndTestClass.pass");
+++ performTest("GenericsNoTypeParams", 32, "<X extends ", "javaLangContent.pass");
++ }
++
++ public void testAfterExtendsAndSpaceInFirstTypeParam() throws Exception {
++- performTest("Generics", 43, null, "javaLangContentAndTestClass.pass");
+++ performTest("Generics", 43, null, "javaLangContent.pass");
++ }
++
++ public void testEmptyFileAfterTypingBoundedFirstTypeParamAndSpace() throws Exception {
++diff --git a/java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTask17FeaturesTest.java b/java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTask17FeaturesTest.java
++deleted file mode 100644
++index fa7701f53..000000000
++--- a/java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTask17FeaturesTest.java
+++++ /dev/null
++@@ -1,147 +0,0 @@
++-/*
++- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++- *
++- * Copyright 1997-2010 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
++- *
++- * The contents of this file are subject to the terms of either the GNU
++- * General Public License Version 2 only ("GPL") or the Common
++- * Development and Distribution License("CDDL") (collectively, the
++- * "License"). You may not use this file except in compliance with the
++- * License. You can obtain a copy of the License at
++- * http://www.netbeans.org/cddl-gplv2.html
++- * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++- * specific language governing permissions and limitations under the
++- * License. When distributing the software, include this License Header
++- * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
++- * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
++- * accompanied this code. If applicable, add the following below the
++- * License Header, with the fields enclosed by brackets [] replaced by
++- * your own identifying information:
++- * "Portions Copyrighted [year] [name of copyright owner]"
++- *
++- * Contributor(s):
++- *
++- * The Original Software is NetBeans. The Initial Developer of the Original
++- * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
++- * Microsystems, Inc. All Rights Reserved.
++- *
++- * If you wish your version of this file to be governed by only the CDDL
++- * or only the GPL Version 2, indicate your decision by adding
++- * "[Contributor] elects to include this software in this distribution
++- * under the [CDDL or GPL Version 2] license." If you do not indicate a
++- * single choice of license, a recipient has the option to distribute
++- * your version of this file under either the CDDL, the GPL Version 2 or
++- * to extend the choice of license to its licensees as provided above.
++- * However, if you add GPL Version 2 code and therefore, elected the GPL
++- * Version 2 license, then the option applies only if the new code is
++- * made subject to such option by the copyright holder.
++- */
++-package org.netbeans.modules.java.completion;
++-
++-import org.netbeans.modules.java.source.parsing.JavacParser;
++-
++-/**
++- *
++- * @author Dusan Balek
++- */
++-public class JavaCompletionTask17FeaturesTest extends CompletionTestBase {
++-
++- public JavaCompletionTask17FeaturesTest(String testName) {
++- super(testName);
++- }
++-
++- // Java 1.7 try-with-resources tests ---------------------------------------
++-
++- public void testEmptyFileBeforeTypingVarResouce() throws Exception {
++- performTest("TWRStart", 114, "try (", "finalAndAutoCloseables.pass", "1.7");
++- }
++-
++- public void testBeforeTypingVarResouce() throws Exception {
++- performTest("TWRNoRes", 127, null, "finalAndAutoCloseables.pass", "1.7");
++- }
++-
++- public void testBeforeVarResouce() throws Exception {
++- performTest("TWR", 127, null, "finalAndAutoCloseables.pass", "1.7");
++- }
++-
++- public void testEmptyFileTypingVarResouce() throws Exception {
++- performTest("TWRStart", 114, "try (f", "finalKeyword.pass", "1.7");
++- }
++-
++- public void testTypingVarResouce() throws Exception {
++- performTest("TWRNoRes", 127, "f", "finalKeyword.pass", "1.7");
++- }
++-
++- public void testOnVarResouce() throws Exception {
++- performTest("TWR", 128, null, "finalKeyword.pass", "1.7");
++- }
++-
++- public void testEmptyFileAfterFinalInResource() throws Exception {
++- performTest("TWRStart", 114, "try (final ", "autoCloseables.pass", "1.7");
++- }
++-
++- public void testTypingAfterFinalInResouce() throws Exception {
++- performTest("TWRNoRes", 127, "final ", "autoCloseables.pass", "1.7");
++- }
++-
++- public void testAfterFinalInResouce() throws Exception {
++- performTest("TWR", 133, null, "autoCloseables.pass", "1.7");
++- }
++-
++- public void testEmptyFileTypingTypeInVarResouce() throws Exception {
++- performTest("TWRStart", 114, "try (final F", "autoCloseablesStartingWithF.pass", "1.7");
++- }
++-
++- public void testTypingTypeInVarResouce() throws Exception {
++- performTest("TWRNoRes", 127, "final F", "autoCloseablesStartingWithF.pass", "1.7");
++- }
++-
++- public void testOnTypeInVarResouce() throws Exception {
++- performTest("TWR", 134, null, "autoCloseablesStartingWithF.pass", "1.7");
++- }
++-
++- public void testEmptyFileBeforeTypingNameInVarResouce() throws Exception {
++- performTest("TWRStart", 114, "try (final FileWriter ", "resourceNames.pass", "1.7");
++- }
++-
++- public void testBeforeTypingNameInVarResouce() throws Exception {
++- performTest("TWRNoRes", 127, "final FileWriter ", "resourceNames.pass", "1.7");
++- }
++-
++- public void testBeforeNameInVarResouce() throws Exception {
++- performTest("TWR", 144, null, "resourceNames.pass", "1.7");
++- }
++-
++- public void testEmptyFileAfterTypingNameInVarResouce() throws Exception {
++- performTest("TWRStart", 114, "try (final FileWriter fw ", "empty.pass", "1.7");
++- }
++-
++- public void testAfterTypingNameInVarResouce() throws Exception {
++- performTest("TWRNoRes", 127, "final FileWriter fw ", "empty.pass", "1.7");
++- }
++-
++- public void testAfterNameInVarResouce() throws Exception {
++- performTest("TWR", 147, null, "empty.pass", "1.7");
++- }
++-
++- public void testEmptyFileBeforeVarResouceInit() throws Exception {
++- performTest("TWRStart", 114, "try (final FileWriter fw = ", "resourceInit.pass", "1.7");
++- }
++-
++- public void testBeforeTypingVarResouceInit() throws Exception {
++- performTest("TWRNoRes", 127, "final FileWriter fw = ", "resourceInit.pass", "1.7");
++- }
++-
++- public void testBeforeVarResouceInit() throws Exception {
++- performTest("TWR", 149, null, "resourceInit.pass", "1.7");
++- }
++-
++- static {
++- JavacParser.DISABLE_SOURCE_LEVEL_DOWNGRADE = true;
++- }
++-}
++diff --git a/java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTask18FeaturesTest.java b/java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTask18FeaturesTest.java
++index f007219f3..d6a44b7d2 100644
++--- a/java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTask18FeaturesTest.java
+++++ b/java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTask18FeaturesTest.java
++@@ -94,15 +94,15 @@ public class JavaCompletionTask18FeaturesTest extends CompletionTestBase {
++ }
++
++ public void testEmptyFileAfterTypingStaticModifier() throws Exception {
++- performTest("Empty", 0, "package test;\ninterface Test {\nstatic ", "memberModifiersAndTypesWithoutStatic.pass", "1.8");
+++ performTest("Empty", 0, "package test;\ninterface Test {\nstatic ", "interfaceMemberModifiersAndTypesWithoutDefaultAndStatic.pass", "1.8");
++ }
++
++ public void testAfterTypingStaticModifier() throws Exception {
++- performTest("SimpleInterfaceNoExtends", 31, "\nstatic ", "memberModifiersAndTypesWithoutStatic.pass", "1.8");
+++ performTest("SimpleInterfaceNoExtends", 31, "\nstatic ", "interfaceMemberModifiersAndTypesWithoutDefaultAndStatic.pass", "1.8");
++ }
++
++ public void testAfterStaticModifier() throws Exception {
++- performTest("Interface", 102, null, "memberModifiersAndTypesWithoutStatic.pass", "1.8");
+++ performTest("Interface", 102, null, "interfaceMemberModifiersAndTypesWithoutDefaultAndStatic.pass", "1.8");
++ }
++
++ public void testEmptyFileTypingDefaultMethodBody() throws Exception {
++diff --git a/java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTask19FeaturesTest.java b/java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTask19FeaturesTest.java
++deleted file mode 100644
++index f04ed9c61..000000000
++--- a/java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTask19FeaturesTest.java
+++++ /dev/null
++@@ -1,111 +0,0 @@
++-/*
++- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++- *
++- * Copyright 1997-2010 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
++- *
++- * The contents of this file are subject to the terms of either the GNU
++- * General Public License Version 2 only ("GPL") or the Common
++- * Development and Distribution License("CDDL") (collectively, the
++- * "License"). You may not use this file except in compliance with the
++- * License. You can obtain a copy of the License at
++- * http://www.netbeans.org/cddl-gplv2.html
++- * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++- * specific language governing permissions and limitations under the
++- * License. When distributing the software, include this License Header
++- * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
++- * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
++- * accompanied this code. If applicable, add the following below the
++- * License Header, with the fields enclosed by brackets [] replaced by
++- * your own identifying information:
++- * "Portions Copyrighted [year] [name of copyright owner]"
++- *
++- * Contributor(s):
++- *
++- * The Original Software is NetBeans. The Initial Developer of the Original
++- * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
++- * Microsystems, Inc. All Rights Reserved.
++- *
++- * If you wish your version of this file to be governed by only the CDDL
++- * or only the GPL Version 2, indicate your decision by adding
++- * "[Contributor] elects to include this software in this distribution
++- * under the [CDDL or GPL Version 2] license." If you do not indicate a
++- * single choice of license, a recipient has the option to distribute
++- * your version of this file under either the CDDL, the GPL Version 2 or
++- * to extend the choice of license to its licensees as provided above.
++- * However, if you add GPL Version 2 code and therefore, elected the GPL
++- * Version 2 license, then the option applies only if the new code is
++- * made subject to such option by the copyright holder.
++- */
++-package org.netbeans.modules.java.completion;
++-
++-import org.netbeans.modules.java.source.parsing.JavacParser;
++-
++-/**
++- *
++- * @author Dusan Balek
++- */
++-public class JavaCompletionTask19FeaturesTest extends CompletionTestBase {
++-
++- public JavaCompletionTask19FeaturesTest(String testName) {
++- super(testName);
++- }
++-
++- // Java 1.9 try-with-resources tests -------------------------------------------
++-
++- public void testEmptyFileBeforeTypingExistingVarResouce() throws Exception {
++- performTest("SimpleTWRStart", 139, "try (", "resourcesAndAutoCloseables.pass", "1.9");
++- }
++-
++- public void testBeforeTypingExistingVarResouce() throws Exception {
++- performTest("SimpleTWRNoRes", 144, null, "resourcesAndAutoCloseables.pass", "1.9");
++- }
++-
++- public void testBeforeExistingVarResouce() throws Exception {
++- performTest("SimpleTWR", 172, null, "resourcesAndAutoCloseables.pass", "1.9");
++- }
++-
++- public void testEmptyFileTypingExistingVarResouce() throws Exception {
++- performTest("SimpleTWRStart", 139, "try (f", "finalKeyword.pass", "1.9");
++- }
++-
++- public void testTypingExistingVarResouce() throws Exception {
++- performTest("SimpleTWRNoRes", 144, "f", "finalKeyword.pass", "1.9");
++- }
++-
++- public void testOnExistingVarResouce() throws Exception {
++- performTest("SimpleTWR", 173, null, "finalKeyword.pass", "1.9");
++- }
++-
++- public void testEmptyFileAfterTypingExistingVarResouce() throws Exception {
++- performTest("SimpleTWRStart", 139, "try (fw ", "empty.pass", "1.9");
++- }
++-
++- public void testAfterTypingExistingVarResouce() throws Exception {
++- performTest("SimpleTWRNoRes", 144, "fw ", "empty.pass", "1.9");
++- }
++-
++- public void testAfterExistingVarResouce() throws Exception {
++- performTest("SimpleTWR", 174, " ", "empty.pass", "1.9");
++- }
++-
++- public void testEmptyFileBeforeTypingNewVarResouce() throws Exception {
++- performTest("SimpleTWRStart", 139, "try (fw;", "resourcesAndAutoCloseables.pass", "1.9");
++- }
++-
++- public void testBeforeTypingNewVarResouce() throws Exception {
++- performTest("SimpleTWRNoRes", 144, "fw;", "resourcesAndAutoCloseables.pass", "1.9");
++- }
++-
++- public void testBeforeNewVarResouce() throws Exception {
++- performTest("SimpleTWR", 175, null, "resourcesAndAutoCloseables.pass", "1.9");
++- }
++-
++- static {
++- JavacParser.DISABLE_SOURCE_LEVEL_DOWNGRADE = true;
++- }
++-}
++diff --git a/java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTaskAdvancedTest.java b/java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTaskAdvancedTest.java
++index 3944275a6..e042dfb0f 100644
++--- a/java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTaskAdvancedTest.java
+++++ b/java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTaskAdvancedTest.java
++@@ -413,15 +413,15 @@ public class JavaCompletionTaskAdvancedTest extends CompletionTestBase {
++ }
++
++ public void testEmptyFileAfterTypingForVarTypeAndSpace() throws Exception {
++- performTest("SimpleMethodBodyStart", 98, "for (int ", "intVarName.pass");
+++ performTest("SimpleMethodBodyStart", 98, "for (int ", "i.pass");
++ }
++
++ public void testAfterTypingForVarTypeAndSpace() throws Exception {
++- performTest("SimpleEmptyMethodBody", 98, "for (int ", "intVarName.pass");
+++ performTest("SimpleEmptyMethodBody", 98, "for (int ", "i.pass");
++ }
++
++ public void testAfterForVarTypeAndSpace() throws Exception {
++- performTest("For", 107, null, "intVarName.pass");
+++ performTest("For", 107, null, "i.pass");
++ }
++
++ public void testEmptyFileAfterTypingForVarAndSpace() throws Exception {
++diff --git a/java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTaskElementCreatingTest.java b/java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTaskElementCreatingTest.java
++index 4371f886d..5cca1f30c 100644
++--- a/java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTaskElementCreatingTest.java
+++++ b/java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTaskElementCreatingTest.java
++@@ -62,13 +62,6 @@ public class JavaCompletionTaskElementCreatingTest extends CompletionTestBase {
++ performTest("OverrideAbstractList", 118, "", "OverrideAbstractList.pass");
++ }
++
++- /**
++- * Checks that cc: offers just one size() for override, but offers size() for both implement AND override.
++- */
++- public void testOverrideAbstractListAbstract() throws Exception {
++- performTest("OverrideAbstractListAbstract", 126, "", "OverrideAbstractListAbstract.pass");
++- }
++-
++ /** CC should not offer overriding private method from superclass */
++ public void testOverridePrivateMethod() throws Exception {
++ performTest("OverridePrivateMethod", 89, "cl", "OverridePrivateMethod.pass");
++@@ -104,11 +97,11 @@ public class JavaCompletionTaskElementCreatingTest extends CompletionTestBase {
++ }
++
++ public void testOverrideTypedException1() throws Exception {
++- performTest("OverrideTypedException", 209, "tes", "OverrideTypedException.pass");
+++ performTest("OverrideTypedException", 209, "tes", "OverrideTypedException1.pass");
++ }
++
++ public void testOverrideTypedException2() throws Exception {
++- performTest("OverrideTypedException", 305, "tes", "OverrideTypedException.pass");
+++ performTest("OverrideTypedException", 305, "tes", "OverrideTypedException2.pass");
++ }
++
++ public void testOverrideInInnerClass() throws Exception {
diff --cc debian/patches/netbeans-java.debug.patch
index 0000000,0000000..e16bc11
new file mode 100644
--- /dev/null
+++ b/debian/patches/netbeans-java.debug.patch
@@@ -1,0 -1,0 +1,175 @@@
++From: Markus Koschany <apo at debian.org>
++Date: Mon, 26 Dec 2016 01:11:03 +0100
++Subject: netbeans java.debug
++
++Ugly workaround for a FTBFS due to missing OpenJDK 9 classes. Module was
++replaced with the one from 8.1.
++
++Forwarded: not-needed
++---
++ java.debug/nbproject/project.properties | 2 +-
++ java.debug/nbproject/project.xml | 39 ----------------------
++ .../java/debug/SourceForBinaryQueryImpl.java | 34 +++++++++----------
++ .../org/netbeans/modules/java/debug/TreeNode.java | 23 +++++--------
++ 4 files changed, 25 insertions(+), 73 deletions(-)
++
++diff --git a/java.debug/nbproject/project.properties b/java.debug/nbproject/project.properties
++index f6ea2a5ea..b67ca99e7 100644
++--- a/java.debug/nbproject/project.properties
+++++ b/java.debug/nbproject/project.properties
++@@ -40,6 +40,6 @@
++ # Version 2 license, then the option applies only if the new code is
++ # made subject to such option by the copyright holder.
++ javac.source=1.7
++-spec.version.base=1.38.1
+++spec.version.base=1.37.1
++ requires.nb.javac=true
++
++diff --git a/java.debug/nbproject/project.xml b/java.debug/nbproject/project.xml
++index 72ba16810..e026fc2cc 100644
++--- a/java.debug/nbproject/project.xml
+++++ b/java.debug/nbproject/project.xml
++@@ -1,43 +1,4 @@
++ <?xml version="1.0" encoding="UTF-8"?>
++-<!--
++-DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++-
++-Copyright (c) 2006, 2016 Oracle and/or its affiliates. All rights reserved.
++-
++-Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++-Other names may be trademarks of their respective owners.
++-
++-The contents of this file are subject to the terms of either the GNU
++-General Public License Version 2 only ("GPL") or the Common
++-Development and Distribution License("CDDL") (collectively, the
++-"License"). You may not use this file except in compliance with the
++-License. You can obtain a copy of the License at
++-http://www.netbeans.org/cddl-gplv2.html
++-or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++-specific language governing permissions and limitations under the
++-License. When distributing the software, include this License Header
++-Notice in each file and include the License file at
++-nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
++-particular file as subject to the "Classpath" exception as provided
++-by Oracle in the GPL Version 2 section of the License file that
++-accompanied this code. If applicable, add the following below the
++-License Header, with the fields enclosed by brackets [] replaced by
++-your own identifying information:
++-"Portions Copyrighted [year] [name of copyright owner]"
++-
++-If you wish your version of this file to be governed by only the CDDL
++-or only the GPL Version 2, indicate your decision by adding
++-"[Contributor] elects to include this software in this distribution
++-under the [CDDL or GPL Version 2] license." If you do not indicate a
++-single choice of license, a recipient has the option to distribute
++-your version of this file under either the CDDL, the GPL Version 2 or
++-to extend the choice of license to its licensees as provided above.
++-However, if you add GPL Version 2 code and therefore, elected the GPL
++-Version 2 license, then the option applies only if the new code is
++-made subject to such option by the copyright holder.
++-
++-Contributor(s):
++--->
++ <project xmlns="http://www.netbeans.org/ns/project/1">
++ <type>org.netbeans.modules.apisupport.project</type>
++ <configuration>
++diff --git a/java.debug/src/org/netbeans/modules/java/debug/SourceForBinaryQueryImpl.java b/java.debug/src/org/netbeans/modules/java/debug/SourceForBinaryQueryImpl.java
++index a6b9590f6..40890567b 100644
++--- a/java.debug/src/org/netbeans/modules/java/debug/SourceForBinaryQueryImpl.java
+++++ b/java.debug/src/org/netbeans/modules/java/debug/SourceForBinaryQueryImpl.java
++@@ -103,29 +103,27 @@ public class SourceForBinaryQueryImpl implements SourceForBinaryQueryImplementat
++ if (projectFO != null) {
++ try {
++ Project project = ProjectManager.getDefault().findProject(projectFO);
++- if (project != null) {
++- SourceGroup[] sourceGroups = ProjectUtils.getSources(project).getSourceGroups(JavaProjectConstants.SOURCES_TYPE_JAVA);
++- final FileObject[] roots = new FileObject[sourceGroups.length];
++- for (int i = 0; i < sourceGroups.length; i++) {
++- roots[i] = sourceGroups[i].getRootFolder();
+++ SourceGroup[] sourceGroups = ProjectUtils.getSources(project).getSourceGroups(JavaProjectConstants.SOURCES_TYPE_JAVA);
+++ final FileObject[] roots = new FileObject[sourceGroups.length];
+++ for (int i = 0; i < sourceGroups.length; i++) {
+++ roots[i] = sourceGroups[i].getRootFolder();
+++ }
+++ Result result = new Result() {
+++ public FileObject[] getRoots() {
+++ return roots;
++ }
++- Result result = new Result() {
++- public FileObject[] getRoots() {
++- return roots;
++- }
++
++- public void addChangeListener(ChangeListener l) {
++- }
+++ public void addChangeListener(ChangeListener l) {
+++ }
++
++- public void removeChangeListener(ChangeListener l) {
++- }
++- };
+++ public void removeChangeListener(ChangeListener l) {
+++ }
+++ };
++
++- url2Result.put(binaryRoot, new WeakReference<Result>(result));
++- result2URL.put(result, binaryRoot);
+++ url2Result.put(binaryRoot, new WeakReference<Result>(result));
+++ result2URL.put(result, binaryRoot);
++
++- return result;
++- }
+++ return result;
++ } catch (IOException ex) {
++ Logger.getLogger(SourceForBinaryQueryImpl.class.getName()).log(Level.FINE, null, ex);
++ } catch (IllegalArgumentException ex) {
++diff --git a/java.debug/src/org/netbeans/modules/java/debug/TreeNode.java b/java.debug/src/org/netbeans/modules/java/debug/TreeNode.java
++index 8cf297637..15020b4bd 100644
++--- a/java.debug/src/org/netbeans/modules/java/debug/TreeNode.java
+++++ b/java.debug/src/org/netbeans/modules/java/debug/TreeNode.java
++@@ -81,7 +81,6 @@ import com.sun.source.tree.MethodInvocationTree;
++ import com.sun.source.tree.ModifiersTree;
++ import com.sun.source.tree.NewArrayTree;
++ import com.sun.source.tree.NewClassTree;
++-import com.sun.source.tree.PackageTree;
++ import com.sun.source.tree.ParameterizedTypeTree;
++ import com.sun.source.tree.ParenthesizedTree;
++ import com.sun.source.tree.PrimitiveTypeTree;
++@@ -227,10 +226,16 @@ public class TreeNode extends AbstractNode implements OffsetProvider {
++ }
++ }
++
++- static final class NodeChilren extends Children.Array {
+++ static final class NodeChilren extends Children.Keys<Node> {
+++
++ public NodeChilren(List<Node> nodes) {
++- super(nodes);
+++ setKeys(nodes);
+++ }
+++
+++ protected Node[] createNodes(Node key) {
+++ return new Node[] {key};
++ }
+++
++ }
++
++ private static class FindChildrenTreeVisitor extends CancellableTreePathScanner<Void, List<Node>> {
++@@ -734,18 +739,6 @@ public class TreeNode extends AbstractNode implements OffsetProvider {
++ }
++
++ @Override
++- public Void visitPackage(PackageTree tree, List<Node> d) {
++- List<Node> below = new ArrayList<Node>();
++-
++- addCorrespondingType(below);
++- addCorrespondingComments(below);
++- super.visitPackage(tree, below);
++-
++- d.add(new TreeNode(info, getCurrentPath(), below));
++- return null;
++- }
++-
++- @Override
++ public Void visitTry(TryTree tree, List<Node> d) {
++ List<Node> below = new ArrayList<Node>();
++
diff --cc debian/patches/netbeans-java.editor.patch
index 0000000,0000000..3e2cdb0
new file mode 100644
--- /dev/null
+++ b/debian/patches/netbeans-java.editor.patch
@@@ -1,0 -1,0 +1,1788 @@@
++From: Markus Koschany <apo at debian.org>
++Date: Mon, 26 Dec 2016 00:56:38 +0100
++Subject: netbeans java.editor
++
++Ugly workaround for a FTBFS due to missing OpenJDK 9 classes. Module was
++replaced with the one from 8.1.
++
++Forwarded: not-needed
++---
++ java.editor/manifest.mf | 2 +-
++ java.editor/nbproject/project.properties | 2 +-
++ java.editor/nbproject/project.xml | 10 +-
++ .../modules/editor/java/CamelCaseOperations.java | 16 +-
++ .../netbeans/modules/editor/java/GoToSupport.java | 25 +-
++ .../editor/java/JavaCodeTemplateFilter.java | 22 +-
++ .../modules/editor/java/JavaCompletionItem.java | 310 ++-------------------
++ .../editor/java/JavaCompletionItemFactory.java | 8 +-
++ .../java/editor/codegen/GeneratorUtils.java | 172 +++++++++++-
++ .../codegen/ImplementOverrideMethodGenerator.java | 154 ++--------
++ .../java/editor/codegen/ui/CheckTreeView.java | 4 +-
++ .../java/editor/codegen/ui/ElementNode.java | 16 --
++ .../editor/codegen/ui/ElementSelectorPanel.java | 115 +-------
++ .../editor/codegen/ui/ImplementOverridePanel.form | 4 +-
++ .../editor/codegen/ui/ImplementOverridePanel.java | 2 +-
++ .../modules/java/editor/fold/MessagePattern.java | 42 +++
++ .../editor/hyperlink/JavaHyperlinkProvider.java | 2 +-
++ .../java/editor/imports/ClipboardHandler.java | 45 +--
++ .../java/editor/resources/DefaultAbbrevs.xml | 2 +-
++ .../editor/resources/DefaultKeyBindings-Mac.xml | 3 +
++ .../java/editor/resources/DefaultKeyBindings.xml | 3 +
++ .../java/editor/resources/DefaultMacros.xml | 39 ---
++ .../java/editor/resources/JavaOptions.settings | 39 ---
++ .../modules/java/editor/semantic/Bundle.properties | 4 +-
++ .../editor/semantic/GoToMarkOccurrencesAction.java | 17 +-
++ 25 files changed, 325 insertions(+), 733 deletions(-)
++
++diff --git a/java.editor/manifest.mf b/java.editor/manifest.mf
++index a128176ca..bdaaa0690 100644
++--- a/java.editor/manifest.mf
+++++ b/java.editor/manifest.mf
++@@ -1,6 +1,6 @@
++ Manifest-Version: 1.0
++ OpenIDE-Module: org.netbeans.modules.java.editor/1
++-OpenIDE-Module-Implementation-Version: 12
+++OpenIDE-Module-Implementation-Version: 11
++ OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/java/editor/Bundle.properties
++ OpenIDE-Module-Layer: org/netbeans/modules/java/editor/resources/layer.xml
++ AutoUpdate-Show-In-Client: false
++diff --git a/java.editor/nbproject/project.properties b/java.editor/nbproject/project.properties
++index e2048c1c3..c91685497 100644
++--- a/java.editor/nbproject/project.properties
+++++ b/java.editor/nbproject/project.properties
++@@ -42,7 +42,7 @@
++
++ javadoc.title=Java Editor
++
++-spec.version.base=2.67.1
+++spec.version.base=2.65.1
++ test.qa-functional.cp.extra=${editor.dir}/modules/org-netbeans-modules-editor-fold.jar
++ javac.source=1.7
++ #test.unit.cp.extra=
++diff --git a/java.editor/nbproject/project.xml b/java.editor/nbproject/project.xml
++index 8f5bb221c..27d9604fa 100644
++--- a/java.editor/nbproject/project.xml
+++++ b/java.editor/nbproject/project.xml
++@@ -98,7 +98,7 @@ made subject to such option by the copyright holder.
++ <build-prerequisite/>
++ <compile-dependency/>
++ <run-dependency>
++- <specification-version>8.15</specification-version>
+++ <specification-version>8.4</specification-version>
++ </run-dependency>
++ </dependency>
++ <dependency>
++@@ -187,7 +187,7 @@ made subject to such option by the copyright holder.
++ <compile-dependency/>
++ <run-dependency>
++ <release-version>1</release-version>
++- <specification-version>2.6</specification-version>
+++ <specification-version>2.0</specification-version>
++ </run-dependency>
++ </dependency>
++ <dependency>
++@@ -222,7 +222,7 @@ made subject to such option by the copyright holder.
++ <build-prerequisite/>
++ <compile-dependency/>
++ <run-dependency>
++- <specification-version>1.6</specification-version>
+++ <specification-version>1.3</specification-version>
++ </run-dependency>
++ </dependency>
++ <dependency>
++@@ -264,7 +264,7 @@ made subject to such option by the copyright holder.
++ <build-prerequisite/>
++ <compile-dependency/>
++ <run-dependency>
++- <specification-version>0.157</specification-version>
+++ <specification-version>0.141</specification-version>
++ </run-dependency>
++ </dependency>
++ <dependency>
++@@ -272,7 +272,7 @@ made subject to such option by the copyright holder.
++ <build-prerequisite/>
++ <compile-dependency/>
++ <run-dependency>
++- <specification-version>2.19</specification-version>
+++ <specification-version>2.5</specification-version>
++ </run-dependency>
++ </dependency>
++ <dependency>
++diff --git a/java.editor/src/org/netbeans/modules/editor/java/CamelCaseOperations.java b/java.editor/src/org/netbeans/modules/editor/java/CamelCaseOperations.java
++index c7d3c0624..b9065e8aa 100644
++--- a/java.editor/src/org/netbeans/modules/editor/java/CamelCaseOperations.java
+++++ b/java.editor/src/org/netbeans/modules/editor/java/CamelCaseOperations.java
++@@ -67,10 +67,10 @@ import org.openide.util.NbPreferences;
++ */
++ /* package */ class CamelCaseOperations {
++
++- static int nextCamelCasePosition(CamelCaseInterceptor.MutableContext context) throws BadLocationException {
+++ static int nextCamelCasePosition(JTextComponent textComponent) throws BadLocationException {
++ // get current caret position
++- final int offset = context.getOffset();
++- final Document doc = context.getDocument();
+++ final int offset = textComponent.getCaretPosition();
+++ final Document doc = textComponent.getDocument();
++ final int[] retOffset = new int[1];
++ final BadLocationException[] retExc = new BadLocationException[1];
++ doc.render(new Runnable() {
++@@ -133,10 +133,10 @@ import org.openide.util.NbPreferences;
++ return Utilities.getNextWord((BaseDocument)doc, offset);
++ }
++
++- static int previousCamelCasePosition(CamelCaseInterceptor.MutableContext context) throws BadLocationException {
+++ static int previousCamelCasePosition(JTextComponent textComponent) throws BadLocationException {
++ // get current caret position
++- final int offset = context.getOffset();
++- final Document doc = context.getDocument();
+++ final int offset = textComponent.getCaretPosition();
+++ final Document doc = textComponent.getDocument();
++ final int[] retOffset = new int[1];
++ final BadLocationException[] retExc = new BadLocationException[1];
++ doc.render(new Runnable() {
++@@ -236,9 +236,9 @@ import org.openide.util.NbPreferences;
++ public void change(MutableContext context) throws BadLocationException {
++ if (isUsingCamelCase()) {
++ if (context.isBackward()) {
++- context.setNextWordOffset(CamelCaseOperations.previousCamelCasePosition(context));
+++ context.setNextWordOffset(CamelCaseOperations.previousCamelCasePosition(context.getComponent()));
++ } else {
++- context.setNextWordOffset(CamelCaseOperations.nextCamelCasePosition(context));
+++ context.setNextWordOffset(CamelCaseOperations.nextCamelCasePosition(context.getComponent()));
++ }
++ }
++ }
++diff --git a/java.editor/src/org/netbeans/modules/editor/java/GoToSupport.java b/java.editor/src/org/netbeans/modules/editor/java/GoToSupport.java
++index 63b69f6a1..b00183057 100644
++--- a/java.editor/src/org/netbeans/modules/editor/java/GoToSupport.java
+++++ b/java.editor/src/org/netbeans/modules/editor/java/GoToSupport.java
++@@ -295,7 +295,7 @@ public class GoToSupport {
++
++ public static Context resolveContext(CompilationInfo controller, Document doc, int offset, boolean goToSource, boolean tooltip) {
++ Token<JavaTokenId>[] token = new Token[1];
++- int[] span = getIdentifierOrLambdaArrowSpan(doc, offset, token);
+++ int[] span = getIdentifierSpan(doc, offset, token);
++
++ if (span == null) {
++ return null;
++@@ -323,17 +323,14 @@ public class GoToSupport {
++ } else if (parentLeaf.getKind() == Kind.IMPORT && ((ImportTree) parentLeaf).isStatic()) {
++ el = handleStaticImport(controller, (ImportTree) parentLeaf);
++ insideImportStmt = true;
++- } else if (parentLeaf.getKind() == Kind.PARAMETERIZED_TYPE
++- && parent.getParentPath().getLeaf().getKind() == Kind.NEW_CLASS
++- && ((ParameterizedTypeTree) parentLeaf).getType() == path.getLeaf()) {
++- if (!isError(controller.getTrees().getElement(parent.getParentPath()))) {
++- path = parent.getParentPath();
++- classType = controller.getTrees().getTypeMirror(path);
++- }
++- } else if (path.getLeaf().getKind() == Kind.LAMBDA_EXPRESSION) {
++- classType = controller.getTrees().getTypeMirror(path);
++- if (classType != null && classType.getKind() == TypeKind.DECLARED) {
++- el = controller.getElementUtilities().getDescriptorElement((TypeElement)((DeclaredType)classType).asElement());
+++ } else {
+++ if ( parentLeaf.getKind() == Kind.PARAMETERIZED_TYPE
+++ && parent.getParentPath().getLeaf().getKind() == Kind.NEW_CLASS
+++ && ((ParameterizedTypeTree) parentLeaf).getType() == path.getLeaf()) {
+++ if (!isError(controller.getTrees().getElement(parent.getParentPath()))) {
+++ path = parent.getParentPath();
+++ classType = controller.getTrees().getTypeMirror(path);
+++ }
++ }
++ }
++
++@@ -505,9 +502,9 @@ public class GoToSupport {
++ return result;
++ }
++
++- private static final Set<JavaTokenId> USABLE_TOKEN_IDS = EnumSet.of(JavaTokenId.IDENTIFIER, JavaTokenId.THIS, JavaTokenId.SUPER, JavaTokenId.ARROW);
+++ private static final Set<JavaTokenId> USABLE_TOKEN_IDS = EnumSet.of(JavaTokenId.IDENTIFIER, JavaTokenId.THIS, JavaTokenId.SUPER);
++
++- public static int[] getIdentifierOrLambdaArrowSpan(final Document doc, final int offset, final Token<JavaTokenId>[] token) {
+++ public static int[] getIdentifierSpan(final Document doc, final int offset, final Token<JavaTokenId>[] token) {
++ if (getFileObject(doc) == null) {
++ //do nothing if FO is not attached to the document - the goto would not work anyway:
++ return null;
++diff --git a/java.editor/src/org/netbeans/modules/editor/java/JavaCodeTemplateFilter.java b/java.editor/src/org/netbeans/modules/editor/java/JavaCodeTemplateFilter.java
++index 9118670b4..2159105a9 100644
++--- a/java.editor/src/org/netbeans/modules/editor/java/JavaCodeTemplateFilter.java
+++++ b/java.editor/src/org/netbeans/modules/editor/java/JavaCodeTemplateFilter.java
++@@ -111,19 +111,13 @@ public class JavaCodeTemplateFilter implements CodeTemplateFilter {
++ CompilationController controller = result != null ? CompilationController.get(result) : null;
++ if (controller != null && Phase.PARSED.compareTo(controller.toPhase(Phase.PARSED)) <= 0) {
++ TreeUtilities tu = controller.getTreeUtilities();
++- int eo = endOffset;
++- int so = startOffset;
++- if (so >= 0) {
++- so = result.getSnapshot().getEmbeddedOffset(startOffset);
++- }
++ if (endOffset >= 0) {
++- eo = result.getSnapshot().getEmbeddedOffset(endOffset);
++ TokenSequence<JavaTokenId> ts = SourceUtils.getJavaTokenSequence(controller.getTokenHierarchy(), startOffset);
++ int delta = ts.move(startOffset);
++ if (delta == 0 || ts.moveNext() && ts.token().id() == JavaTokenId.WHITESPACE) {
++- delta = ts.move(eo);
+++ delta = ts.move(endOffset);
++ if (delta == 0 || ts.moveNext() && ts.token().id() == JavaTokenId.WHITESPACE) {
++- String selectedText = controller.getText().substring(startOffset, eo).trim();
+++ String selectedText = controller.getText().substring(startOffset, endOffset).trim();
++ SourcePositions[] sp = new SourcePositions[1];
++ ExpressionTree expr = selectedText.length() > 0 ? tu.parseExpression(selectedText, sp) : null;
++ if (expr != null && expr.getKind() != Tree.Kind.IDENTIFIER && !Utilities.containErrors(expr) && sp[0].getEndPosition(null, expr) >= selectedText.length()) {
++@@ -132,16 +126,16 @@ public class JavaCodeTemplateFilter implements CodeTemplateFilter {
++ }
++ }
++ }
++- Tree tree = tu.pathFor(so).getLeaf();
++- if (endOffset >= 0 && so != eo) {
++- if (tu.pathFor(eo).getLeaf() != tree) {
+++ Tree tree = tu.pathFor(startOffset).getLeaf();
+++ if (endOffset >= 0 && startOffset != endOffset) {
+++ if (tu.pathFor(endOffset).getLeaf() != tree) {
++ return;
++ }
++ }
++ treeKindCtx = tree.getKind();
++ switch (treeKindCtx) {
++ case CASE:
++- if (so < controller.getTrees().getSourcePositions().getEndPosition(controller.getCompilationUnit(), ((CaseTree)tree).getExpression())) {
+++ if (startOffset < controller.getTrees().getSourcePositions().getEndPosition(controller.getCompilationUnit(), ((CaseTree)tree).getExpression())) {
++ treeKindCtx = null;
++ }
++ break;
++@@ -151,7 +145,7 @@ public class JavaCodeTemplateFilter implements CodeTemplateFilter {
++ if (startPos <= 0) {
++ startPos = (int)sp.getStartPosition(controller.getCompilationUnit(), tree);
++ }
++- String headerText = controller.getText().substring(startPos, so);
+++ String headerText = controller.getText().substring(startPos, startOffset);
++ int idx = headerText.indexOf('{'); //NOI18N
++ if (idx < 0) {
++ treeKindCtx = null;
++@@ -163,7 +157,7 @@ public class JavaCodeTemplateFilter implements CodeTemplateFilter {
++ case WHILE_LOOP:
++ sp = controller.getTrees().getSourcePositions();
++ startPos = (int)sp.getStartPosition(controller.getCompilationUnit(), tree);
++- String text = controller.getText().substring(startPos, so);
+++ String text = controller.getText().substring(startPos, startOffset);
++ if (!text.trim().endsWith(")")) {
++ treeKindCtx = null;
++ }
++diff --git a/java.editor/src/org/netbeans/modules/editor/java/JavaCompletionItem.java b/java.editor/src/org/netbeans/modules/editor/java/JavaCompletionItem.java
++index a5841e5ef..ec1e7c6bb 100644
++--- a/java.editor/src/org/netbeans/modules/editor/java/JavaCompletionItem.java
+++++ b/java.editor/src/org/netbeans/modules/editor/java/JavaCompletionItem.java
++@@ -66,7 +66,6 @@ import javax.lang.model.SourceVersion;
++ import javax.lang.model.element.*;
++ import javax.lang.model.type.*;
++ import javax.lang.model.util.Elements;
++-import javax.lang.model.util.Types;
++ import javax.swing.Action;
++ import javax.swing.ImageIcon;
++ import javax.swing.text.BadLocationException;
++@@ -269,10 +268,6 @@ public abstract class JavaCompletionItem implements CompletionItem {
++ return new InitializeAllConstructorItem(info, isDefault, fields, superConstructor, parent, substitutionOffset);
++ }
++
++- public static JavaCompletionItem createLambdaItem(CompilationInfo info, TypeElement elem, DeclaredType type, int substitutionOffset, boolean addSemicolon) {
++- return new LambdaCompletionItem(info, elem, type, substitutionOffset, addSemicolon);
++- }
++-
++ private static CompletionItem createExcludeItem(CharSequence name) {
++ if (name == null) {
++ ExcludeFromCompletionItem item = ExcludeFromCompletionItem.CONFIGURE_ITEM != null ? ExcludeFromCompletionItem.CONFIGURE_ITEM.get() : null;
++@@ -1125,15 +1120,12 @@ public abstract class JavaCompletionItem implements CompletionItem {
++ partialMatch = true;
++ }
++ }
++- int o = offset;
++ if (template.length() == 0 && (addSimpleName || enclName == null)) {
++ ClassItem.super.substituteText(c, offset, length, elem.getSimpleName(), toAdd);
++ if (insideNew && (toAdd == null || toAdd.length() == 0)) {
++ Completion.get().showCompletion();
++ }
++ } else {
++- Document d = c.getDocument();
++- Position p = d.createPosition(offset);
++ StringBuilder sb = new StringBuilder();
++ if (addSimpleName || enclName == null) {
++ sb.append(elem.getSimpleName());
++@@ -1164,13 +1156,10 @@ public abstract class JavaCompletionItem implements CompletionItem {
++ if (partialMatch) {
++ template.append(toAdd);
++ }
++- if (p != null) {
++- o = p.getOffset();
++- }
++- ClassItem.super.substituteText(c, o, length, null, null);
+++ ClassItem.super.substituteText(c, offset, length, null, null);
++ }
++ if (autoImportEnclosingType && elem != null) {
++- TreePath tp = controller.getTreeUtilities().pathFor(controller.getSnapshot().getEmbeddedOffset(o));
+++ TreePath tp = controller.getTreeUtilities().pathFor(controller.getSnapshot().getEmbeddedOffset(offset));
++ AutoImport.resolveImport(controller, tp, elem.getEnclosingElement().asType());
++ }
++ }
++@@ -1643,11 +1632,7 @@ public abstract class JavaCompletionItem implements CompletionItem {
++ VariableElement ve = getElementHandle().resolve(controller);
++ if (ve != null) {
++ TreePath tp = controller.getTreeUtilities().pathFor(controller.getSnapshot().getEmbeddedOffset(offset));
++- TypeMirror toImport = ve.getEnclosingElement().asType();
++- if (isInherited) {
++- toImport = typeToImport(controller, tp, toImport);
++- }
++- AutoImport.resolveImport(controller, tp, toImport);
+++ AutoImport.resolveImport(controller, tp, ve.getEnclosingElement().asType());
++ }
++ }
++ });
++@@ -1983,11 +1968,7 @@ public abstract class JavaCompletionItem implements CompletionItem {
++ ExecutableElement ee = getElementHandle().resolve(controller);
++ if (ee != null) {
++ TreePath tp = controller.getTreeUtilities().pathFor(controller.getSnapshot().getEmbeddedOffset(offset));
++- TypeMirror toImport = ee.getEnclosingElement().asType();
++- if (isInherited) {
++- toImport = typeToImport(controller, tp, toImport);
++- }
++- AutoImport.resolveImport(controller, tp, toImport);
+++ AutoImport.resolveImport(controller, tp, ee.getEnclosingElement().asType());
++ }
++ }
++ });
++@@ -2101,26 +2082,16 @@ public abstract class JavaCompletionItem implements CompletionItem {
++ public void run(ResultIterator resultIterator) throws Exception {
++ WorkingCopy copy = WorkingCopy.get(resultIterator.getParserResult());
++ copy.toPhase(Phase.ELEMENTS_RESOLVED);
+++ ExecutableElement ee = getElementHandle().resolve(copy);
+++ if (ee == null) {
+++ return;
+++ }
++ final int embeddedOffset = copy.getSnapshot().getEmbeddedOffset(pos.getOffset());
++ TreePath tp = copy.getTreeUtilities().pathFor(embeddedOffset);
++ if (TreeUtilities.CLASS_TREE_KINDS.contains(tp.getLeaf().getKind())) {
++ if (Utilities.inAnonymousOrLocalClass(tp)) {
++ copy.toPhase(Phase.RESOLVED);
++ }
++- ExecutableElement ee = getElementHandle().resolve(copy);
++- if (ee == null) {
++- Element el = copy.getTrees().getElement(tp);
++- if (el != null && el.getKind().isClass() || el.getKind().isInterface()) {
++- for (ExecutableElement e : copy.getElementUtilities().findUnimplementedMethods((TypeElement)el)) {
++- if (getElementHandle().signatureEquals(e)) {
++- ee = e;
++- }
++- }
++- }
++- if (ee == null) {
++- return;
++- }
++- }
++ if (implement) {
++ GeneratorUtils.generateAbstractMethodImplementation(copy, tp, ee, embeddedOffset);
++ } else {
++@@ -2479,7 +2450,7 @@ public abstract class JavaCompletionItem implements CompletionItem {
++ if ("this".equals(simpleName) || "super".equals(simpleName)) { //NOI18N
++ sb.append(';');
++ } else if (isAbstract) {
++- sb.append(getIndent(c, true, true));
+++ sb.append(getIndent(c));
++ sb.append("{\n}"); //NOI18N
++ }
++ return sb;
++@@ -2647,7 +2618,7 @@ public abstract class JavaCompletionItem implements CompletionItem {
++ sb.append(';');
++ }
++ if (isAbstract) {
++- sb.append(getIndent(c, true, true));
+++ sb.append(getIndent(c));
++ sb.append("{\n}"); //NOI18N
++ }
++ return sb;
++@@ -3396,7 +3367,7 @@ public abstract class JavaCompletionItem implements CompletionItem {
++ if (cancel.get()) {
++ return;
++ }
++- if (CodeStyle.getDefault(doc).preferStaticImports() && !"this".equals(memberName) && !"super".equals(memberName)) {
+++ if (CodeStyle.getDefault(doc).preferStaticImports()) {
++ Element e = getElementHandle().resolve(copy);
++ if (e != null) {
++ copy.rewrite(copy.getCompilationUnit(), GeneratorUtilities.get(copy).addImports(copy.getCompilationUnit(), Collections.singleton(e)));
++@@ -4038,208 +4009,6 @@ public abstract class JavaCompletionItem implements CompletionItem {
++ return false;
++ }
++ }
++-
++- static class LambdaCompletionItem extends JavaCompletionItem {
++-
++- private static final String METHOD_PUBLIC = "org/netbeans/modules/editor/resources/completion/method_16.png"; //NOI18N
++- private static final String PARAMETER_NAME_COLOR = Utilities.getHTMLColor(224, 160, 65);
++- private static ImageIcon icon;
++-
++- private ElementHandle<ExecutableElement> handle;
++- private ArrayList<ParamDesc> params;
++- private boolean addSemicolon;
++- private String typeName;
++- private String sortText;
++- private String leftText;
++- private String rightText;
++-
++- public LambdaCompletionItem(CompilationInfo info, TypeElement elem, DeclaredType type, int substitutionOffset, boolean addSemicolon) {
++- super(substitutionOffset);
++- ExecutableElement desc = info.getElementUtilities().getDescriptorElement(elem);
++- this.handle = ElementHandle.create(desc);
++- ExecutableType descType = (ExecutableType)info.getTypes().asMemberOf(type, desc);
++- this.params = new ArrayList<>();
++- Iterator<? extends VariableElement> it = desc.getParameters().iterator();
++- Iterator<? extends TypeMirror> tIt = descType.getParameterTypes().iterator();
++- while(it.hasNext() && tIt.hasNext()) {
++- TypeMirror tm = tIt.next();
++- if (tm == null) {
++- break;
++- }
++- this.params.add(new ParamDesc(tm.toString(), Utilities.getTypeName(info, tm, false, desc.isVarArgs() && !tIt.hasNext()).toString(), it.next().getSimpleName().toString()));
++- }
++- TypeMirror retType = descType.getReturnType();
++- this.addSemicolon = addSemicolon && retType.getKind() == TypeKind.VOID;
++- this.typeName = Utilities.getTypeName(info, retType, false).toString();
++- }
++-
++- @Override
++- public int getSortPriority() {
++- return 50 - SMART_TYPE;
++- }
++-
++- @Override
++- public CharSequence getSortText() {
++- if (sortText == null) {
++- StringBuilder sortParams = new StringBuilder();
++- sortParams.append('(');
++- int cnt = 0;
++- for(Iterator<ParamDesc> it = params.iterator(); it.hasNext();) {
++- ParamDesc param = it.next();
++- sortParams.append(param.typeName);
++- if (it.hasNext()) {
++- sortParams.append(',');
++- }
++- cnt++;
++- }
++- sortParams.append(')');
++- sortText = "#" + ((cnt < 10 ? "0" : "") + cnt) + "#" + sortParams.toString(); //NOI18N
++- }
++- return sortText;
++- }
++-
++- @Override
++- protected String getLeftHtmlText() {
++- if (leftText == null) {
++- StringBuilder lText = new StringBuilder();
++- lText.append(LFCustoms.getTextFgColorHTML());
++- lText.append('(');
++- for (Iterator<ParamDesc> it = params.iterator(); it.hasNext();) {
++- ParamDesc paramDesc = it.next();
++- lText.append(escape(paramDesc.typeName));
++- lText.append(' ');
++- lText.append(PARAMETER_NAME_COLOR);
++- lText.append(paramDesc.name);
++- lText.append(COLOR_END);
++- if (it.hasNext()) {
++- lText.append(", "); //NOI18N
++- }
++- }
++- lText.append(") -> {...}"); //NOI18N
++- return lText.toString();
++- }
++- return leftText;
++- }
++-
++- @Override
++- protected String getRightHtmlText() {
++- if (rightText == null) {
++- rightText = escape(typeName);
++- }
++- return rightText;
++- }
++-
++- @Override
++- protected ImageIcon getIcon() {
++- if (icon == null) {
++- icon = ImageUtilities.loadImageIcon(METHOD_PUBLIC, false);
++- }
++- return icon;
++- }
++-
++- @Override
++- public CharSequence getInsertPrefix() {
++- return ""; //NOI18N
++- }
++-
++- @Override
++- protected CharSequence getInsertPostfix(JTextComponent c) {
++- StringBuilder sb = new StringBuilder();
++- sb.append("()"); //NOI18N
++- boolean spaceAroundLambdaArrow = CodeStyle.getDefault(c.getDocument()).spaceAroundLambdaArrow();
++- sb.append(spaceAroundLambdaArrow ? " ->" : "->"); //NOI18N
++- sb.append(getIndent(c, spaceAroundLambdaArrow, false));
++- sb.append("{\n"); //NOI18N
++- sb.append(getIndent(c));
++- sb.append(addSemicolon ? "};" : "}"); //NOI18N
++- return sb;
++- }
++-
++- @Override
++- protected CharSequence substituteText(final JTextComponent c, final int offset, final int length, final CharSequence text, final CharSequence toAdd) {
++- BaseDocument doc = (BaseDocument) c.getDocument();
++- boolean inPlace = offset == c.getCaretPosition();
++- Position startPos;
++- Position endPos;
++- try {
++- startPos = doc.createPosition(inPlace ? offset : offset + text.length(), Bias.Backward);
++- endPos = doc.createPosition(offset + length);
++- } catch (BadLocationException ex) {
++- return null; // Invalid offset -> do nothing
++- }
++- CharSequence cs = super.substituteText(c, startPos.getOffset(), inPlace ? length : length - text.length(), null, toAdd);
++- StringBuilder sb = new StringBuilder();
++- if (toAdd != null) {
++- CharSequence postfix = getInsertPostfix(c);
++- if (postfix != null) {
++- int postfixLen = postfix.length();
++- int toAddLen = toAdd.length();
++- if (toAddLen >= postfixLen) {
++- String toAddText = toAdd.toString();
++- try {
++- final int off = startPos.getOffset() + toAddText.indexOf('{') + 1;
++- ModificationResult mr = ModificationResult.runModificationTask(Collections.singletonList(Source.create(c.getDocument())), new UserTask() {
++- @Override
++- public void run(ResultIterator resultIterator) throws Exception {
++- WorkingCopy copy = WorkingCopy.get(resultIterator.getParserResult());
++- copy.toPhase(Phase.RESOLVED);
++- final ExecutableElement method = handle.resolve(copy);
++- final int embeddedOffset = copy.getSnapshot().getEmbeddedOffset(off);
++- TreePath path = copy.getTreeUtilities().pathFor(embeddedOffset);
++- while (method != null && path.getLeaf() != path.getCompilationUnit()) {
++- Tree tree = path.getLeaf();
++- if (tree.getKind() == Tree.Kind.LAMBDA_EXPRESSION) {
++- BlockTree body = GeneratorUtilities.get(copy).createDefaultLambdaBody((LambdaExpressionTree)tree, method);
++- copy.rewrite(((LambdaExpressionTree)tree).getBody(), body);
++- break;
++- }
++- path = path.getParentPath();
++- }
++- }
++- });
++- GeneratorUtils.guardedCommit(c, mr);
++- } catch (Exception ex) {
++- LOGGER.log(Level.FINE, null, ex);
++- }
++- if (!params.isEmpty()) {
++- for (Iterator<ParamDesc> it = params.iterator(); it.hasNext();) {
++- ParamDesc paramDesc = it.next();
++- sb.append("${"); //NOI18N
++- sb.append(paramDesc.name);
++- sb.append("}"); //NOI18N
++- if (it.hasNext()) {
++- sb.append(", "); //NOI18N
++- }
++- }
++- c.select(startPos.getOffset() + toAddText.indexOf('(') + 1, endPos.getOffset());
++- sb.append(c.getSelectedText());
++- }
++- }
++- }
++- }
++- if (sb.length() == 0) {
++- return cs;
++- }
++- return sb;
++- }
++-
++- @Override
++- public String toString() {
++- StringBuilder sb = new StringBuilder();
++- sb.append('('); //NOI18N
++- for (Iterator<ParamDesc> it = params.iterator(); it.hasNext();) {
++- ParamDesc paramDesc = it.next();
++- sb.append(paramDesc.typeName);
++- sb.append(' ');
++- sb.append(paramDesc.name);
++- if (it.hasNext()) {
++- sb.append(", "); //NOI18N
++- }
++- }
++- sb.append(") -> {...}"); //NOI18N
++- return sb.toString();
++- }
++- }
++
++ @NbBundle.Messages({"exclude_Lbl=Exclude \"{0}\" from completion", "configure_Excludes_Lbl=Configure excludes"}) // NOI18N
++ private static class ExcludeFromCompletionItem implements CompletionItem {
++@@ -4443,15 +4212,15 @@ public abstract class JavaCompletionItem implements CompletionItem {
++ return null;
++ }
++
++- private static CharSequence getIndent(JTextComponent c, boolean insertSpace, boolean isClass) {
+++ private static CharSequence getIndent(JTextComponent c) {
++ StringBuilder sb = new StringBuilder();
++ try {
++ Document doc = c.getDocument();
++ CodeStyle cs = CodeStyle.getDefault(doc);
++ int indent = IndentUtils.lineIndent(c.getDocument(), IndentUtils.lineStartOffset(c.getDocument(), c.getCaretPosition()));
++- switch (isClass? cs.getClassDeclBracePlacement() : cs.getOtherBracePlacement()) {
+++ switch (cs.getClassDeclBracePlacement()) {
++ case SAME_LINE:
++- indent = insertSpace ? 1 : 0;
+++ indent = 1;
++ break;
++ case NEW_LINE:
++ sb.append('\n'); //NOI18N
++@@ -4477,30 +4246,7 @@ public abstract class JavaCompletionItem implements CompletionItem {
++ sb.append(' '); //NOI18N
++ col++;
++ }
++- } catch (BadLocationException ble) {
++- }
++- return sb;
++- }
++-
++- private static CharSequence getIndent(JTextComponent c) {
++- StringBuilder sb = new StringBuilder();
++- try {
++- Document doc = c.getDocument();
++- CodeStyle cs = CodeStyle.getDefault(doc);
++- int indent = IndentUtils.lineIndent(c.getDocument(), IndentUtils.lineStartOffset(c.getDocument(), c.getCaretPosition()));
++- int tabSize = cs.getTabSize();
++- int col = 0;
++- if (!cs.expandTabToSpaces()) {
++- while (col + tabSize <= indent) {
++- sb.append('\t'); //NOI18N
++- col += tabSize;
++- }
++- }
++- while (col < indent) {
++- sb.append(' '); //NOI18N
++- col++;
++- }
++- } catch (BadLocationException ex) {
+++ } catch (BadLocationException ble) {
++ }
++ return sb;
++ }
++@@ -4521,7 +4267,7 @@ public abstract class JavaCompletionItem implements CompletionItem {
++ sb.append("\"} = "); //NOI18N
++ return sb;
++ }
++-
+++
++ private static String adjustName(String name) {
++ if (name == null) {
++ return null;
++@@ -4566,29 +4312,7 @@ public abstract class JavaCompletionItem implements CompletionItem {
++ return result.toString();
++ }
++ }
++-
++- private static TypeMirror typeToImport(CompilationInfo info, TreePath tp, TypeMirror origin) {
++- if (tp.getLeaf().getKind() == Tree.Kind.MEMBER_SELECT) {
++- MemberSelectTree mst = (MemberSelectTree) tp.getLeaf();
++- if (mst.getExpression().getKind() == Tree.Kind.IDENTIFIER) {
++- ClassIndex index = info.getClasspathInfo().getClassIndex();
++- Types types = info.getTypes();
++- Trees trees = info.getTrees();
++- Scope scope = trees.getScope(tp);
++- for (ElementHandle<TypeElement> teHandle : index.getDeclaredTypes(((IdentifierTree)mst.getExpression()).getName().toString(), ClassIndex.NameKind.SIMPLE_NAME, EnumSet.allOf(ClassIndex.SearchScope.class))) {
++- TypeElement te = teHandle.resolve(info);
++- if (te != null && trees.isAccessible(scope, te)) {
++- TypeMirror toImport = te.asType();
++- if (types.isSubtype(toImport, origin)) {
++- return toImport;
++- }
++- }
++- }
++- }
++- }
++- return origin;
++- }
++-
+++
++ static class MemberDesc {
++ private final ElementKind kind;
++ private final String name;
++diff --git a/java.editor/src/org/netbeans/modules/editor/java/JavaCompletionItemFactory.java b/java.editor/src/org/netbeans/modules/editor/java/JavaCompletionItemFactory.java
++index 933770ec1..13980956d 100644
++--- a/java.editor/src/org/netbeans/modules/editor/java/JavaCompletionItemFactory.java
+++++ b/java.editor/src/org/netbeans/modules/editor/java/JavaCompletionItemFactory.java
++@@ -69,8 +69,7 @@ import org.openide.filesystems.FileObject;
++ *
++ * @author Dusan Balek
++ */
++-public final class JavaCompletionItemFactory implements JavaCompletionTask.TypeCastableItemFactory<JavaCompletionItem>,
++- JavaCompletionTask.LambdaItemFactory<JavaCompletionItem> {
+++public final class JavaCompletionItemFactory implements JavaCompletionTask.TypeCastableItemFactory<JavaCompletionItem> {
++
++ private final WhiteListQuery.WhiteList whiteList;
++
++@@ -192,9 +191,4 @@ public final class JavaCompletionItemFactory implements JavaCompletionTask.TypeC
++ public JavaCompletionItem createInitializeAllConstructorItem(CompilationInfo info, boolean isDefault, Iterable<? extends VariableElement> fields, ExecutableElement superConstructor, TypeElement parent, int substitutionOffset) {
++ return JavaCompletionItem.createInitializeAllConstructorItem(info, isDefault, fields, superConstructor, parent, substitutionOffset);
++ }
++-
++- @Override
++- public JavaCompletionItem createLambdaItem(CompilationInfo info, TypeElement elem, DeclaredType type, int substitutionOffset, boolean addSemicolon) {
++- return JavaCompletionItem.createLambdaItem(info, elem, type, substitutionOffset, addSemicolon);
++- }
++ }
++diff --git a/java.editor/src/org/netbeans/modules/java/editor/codegen/GeneratorUtils.java b/java.editor/src/org/netbeans/modules/java/editor/codegen/GeneratorUtils.java
++index 1e51120b0..6e0cff87c 100644
++--- a/java.editor/src/org/netbeans/modules/java/editor/codegen/GeneratorUtils.java
+++++ b/java.editor/src/org/netbeans/modules/java/editor/codegen/GeneratorUtils.java
++@@ -43,10 +43,12 @@
++ */
++ package org.netbeans.modules.java.editor.codegen;
++
+++import com.sun.source.tree.BlockTree;
++ import com.sun.source.tree.ClassTree;
++ import com.sun.source.tree.MethodTree;
++ import com.sun.source.tree.Tree;
++ import com.sun.source.tree.VariableTree;
+++import com.sun.source.util.SourcePositions;
++ import com.sun.source.util.TreePath;
++
++ import java.beans.PropertyChangeEvent;
++@@ -55,6 +57,7 @@ import java.io.IOException;
++ import java.util.ArrayList;
++ import java.util.Collections;
++ import java.util.Iterator;
+++import java.util.LinkedList;
++ import java.util.List;
++ import java.util.logging.Level;
++ import java.util.logging.Logger;
++@@ -73,12 +76,15 @@ import javax.swing.text.JTextComponent;
++
++ import org.netbeans.api.annotations.common.NonNull;
++ import org.netbeans.api.java.source.CodeStyle;
+++import org.netbeans.api.java.source.Comment;
++ import org.netbeans.api.java.source.CompilationInfo;
++ import org.netbeans.api.java.source.ElementUtilities;
++ import org.netbeans.api.java.source.GeneratorUtilities;
++ import org.netbeans.api.java.source.ModificationResult;
+++import org.netbeans.api.java.source.TreeMaker;
++ import org.netbeans.api.java.source.TreeUtilities;
++ import org.netbeans.api.java.source.WorkingCopy;
+++import org.netbeans.editor.GuardedDocument;
++ import org.netbeans.editor.GuardedException;
++ import org.netbeans.editor.Utilities;
++ import org.openide.DialogDescriptor;
++@@ -187,7 +193,7 @@ public class GeneratorUtils {
++ wc.rewrite(clazz, insertClassMembers(wc, clazz, members, offset));
++ }
++ }
++-
+++
++ public static ClassTree insertClassMembers(WorkingCopy wc, ClassTree clazz, List<? extends Tree> members, int offset) throws IllegalStateException {
++ if (members.isEmpty()) {
++ return clazz;
++@@ -198,7 +204,48 @@ public class GeneratorUtils {
++ throw new DuplicateMemberException((int) wc.getTrees().getSourcePositions().getStartPosition(wc.getCompilationUnit(), dup));
++ }
++ }
++- return GeneratorUtilities.get(wc).insertClassMembers(clazz, members, offset);
+++ if (offset < 0 || getCodeStyle(wc).getClassMemberInsertionPoint() != CodeStyle.InsertionPoint.CARET_LOCATION) {
+++ return GeneratorUtilities.get(wc).insertClassMembers(clazz, members);
+++ }
+++ int index = 0;
+++ SourcePositions sp = wc.getTrees().getSourcePositions();
+++ GuardedDocument gdoc = null;
+++ try {
+++ Document doc = wc.getDocument();
+++ if (doc != null && doc instanceof GuardedDocument) {
+++ gdoc = (GuardedDocument)doc;
+++ }
+++ } catch (IOException ioe) {}
+++ Tree lastMember = null;
+++ Tree nextMember = null;
+++ for (Tree tree : clazz.getMembers()) {
+++ if (offset <= sp.getStartPosition(wc.getCompilationUnit(), tree)) {
+++ if (gdoc == null) {
+++ nextMember = tree;
+++ break;
+++ }
+++ int pos = (int)(lastMember != null ? sp.getEndPosition(wc.getCompilationUnit(), lastMember) : sp.getStartPosition(wc.getCompilationUnit(), clazz));
+++ pos = gdoc.getGuardedBlockChain().adjustToBlockEnd(pos);
+++ if (pos <= sp.getStartPosition(wc.getCompilationUnit(), tree)) {
+++ nextMember = tree;
+++ break;
+++ }
+++ }
+++ index++;
+++ lastMember = tree;
+++ }
+++ if (lastMember != null) {
+++ // do not move the comments tied to last member in guarded block:
+++ moveCommentsAfterOffset(wc, lastMember, members.get(0), offset, gdoc);
+++ }
+++ if (nextMember != null) {
+++ moveCommentsBeforeOffset(wc, nextMember, members.get(members.size() - 1), offset, gdoc);
+++ }
+++ TreeMaker tm = wc.getTreeMaker();
+++ for (int i = members.size() - 1; i >= 0; i--) {
+++ clazz = tm.insertClassMember(clazz, index, members.get(i));
+++ }
+++ return clazz;
++ }
++
++ public static ClassTree insertClassMember(WorkingCopy wc, ClassTree clazz, Tree member, int offset) throws IllegalStateException {
++@@ -206,6 +253,125 @@ public class GeneratorUtils {
++ }
++
++ /**
+++ * Reparents comments that follow `from' tree and would be separated from that tree by insertion to `offset' position.
+++ * The comments are removed from the original tree, and attached to the `to' inserted tree.
+++ * @param wc the working copy
+++ * @param from the current owner of the comments
+++ * @param to the generated code
+++ * @param offset the offset where the new code will be inserted
+++ * @param gdoc guarded document instance or {@code null}
+++ * @return
+++ */
+++ private static void moveCommentsAfterOffset(WorkingCopy wc, Tree from, Tree to, int offset, GuardedDocument gdoc) {
+++ List<Comment> toMove = new LinkedList<>();
+++ int idx = 0;
+++ int firstToRemove = -1;
+++ for (Comment comment : wc.getTreeUtilities().getComments(from, false)) {
+++ if (comment.endPos() <= offset) {
+++ // not affected by insertion
+++ idx++;
+++ continue;
+++ }
+++ if (gdoc != null) {
+++ int epAfterBlock = gdoc.getGuardedBlockChain().adjustToBlockEnd(comment.endPos());
+++ // comment that ends exactly at the GB boundary cannot be really
+++ // reassigned from the previous member.
+++ if (epAfterBlock >= comment.endPos()) {
+++ // set new offset, after the guarded block
+++ idx++;
+++ continue;
+++ }
+++ }
+++ toMove.add(comment);
+++ if (firstToRemove == -1) {
+++ firstToRemove = idx;
+++ }
+++ idx++;
+++ }
+++ if (toMove.isEmpty()) {
+++ return;
+++ }
+++ doMoveComments(wc, from, to, offset, toMove, firstToRemove, idx);
+++ }
+++
+++ private static void doMoveComments(WorkingCopy wc, Tree from, Tree to, int offset, List<Comment> comments, int fromIdx, int toIdx) {
+++ if (comments.isEmpty()) {
+++ return;
+++ }
+++ TreeMaker tm = wc.getTreeMaker();
+++ Tree tree = from;
+++ switch (from.getKind()) {
+++ case METHOD:
+++ tree = tm.setLabel(from, ((MethodTree)from).getName());
+++ break;
+++ case VARIABLE:
+++ tree = tm.setLabel(from, ((VariableTree)from).getName());
+++ break;
+++ case BLOCK:
+++ tree = tm.Block(((BlockTree)from).getStatements(), ((BlockTree)from).isStatic());
+++ GeneratorUtilities gu = GeneratorUtilities.get(wc);
+++ gu.copyComments(from, tree, true);
+++ gu.copyComments(from, tree, false);
+++ break;
+++ }
+++ boolean before = (int)wc.getTrees().getSourcePositions().getStartPosition(wc.getCompilationUnit(), from) >= offset;
+++ if (fromIdx >=0 && toIdx >= 0 && toIdx - fromIdx > 0) {
+++ for (int i = toIdx - 1; i >= fromIdx; i--) {
+++ tm.removeComment(tree, i, before);
+++ }
+++ }
+++ wc.rewrite(from, tree);
+++ for (Comment comment : comments) {
+++ tm.addComment(to, comment, comment.pos() <= offset);
+++ }
+++ }
+++
+++ private static void moveCommentsBeforeOffset(WorkingCopy wc, Tree from, Tree to, int offset, GuardedDocument gdoc) {
+++ List<Comment> toMove = new LinkedList<Comment>();
+++ int idx = 0;
+++ for (Comment comment : wc.getTreeUtilities().getComments(from, true)) {
+++ if (comment.pos() >= offset || comment.endPos() > offset)
+++ break;
+++
+++ if (gdoc != null) {
+++ int epAfterBlock = gdoc.getGuardedBlockChain().adjustToBlockEnd(comment.pos());
+++ // comment that ends exactly at the GB boundary cannot be really
+++ // reassigned from the previous member.
+++ if (epAfterBlock >= comment.endPos()) {
+++ // set new offset, after the guarded block
+++ break;
+++ }
+++ }
+++ toMove.add(comment);
+++ idx++;
+++ }
+++ if (toMove.size() > 0) {
+++ doMoveComments(wc, from, to, offset, toMove, 0, idx);
+++ }
+++ }
+++
+++ private static CodeStyle getCodeStyle(CompilationInfo info) {
+++ if (info != null) {
+++ try {
+++ Document doc = info.getDocument();
+++ if (doc != null) {
+++ CodeStyle cs = (CodeStyle)doc.getProperty(CodeStyle.class);
+++ return cs != null ? cs : CodeStyle.getDefault(doc);
+++ }
+++ } catch (IOException ioe) {
+++ // ignore
+++ }
+++
+++ FileObject file = info.getFileObject();
+++ if (file != null) {
+++ return CodeStyle.getDefault(file);
+++ }
+++ }
+++
+++ return CodeStyle.getDefault((Document)null);
+++ }
+++
+++ /**
++ * @param info tested file's info
++ * @return true if SourceVersion of source represented by provided info supports Override
++ */
++@@ -261,7 +427,7 @@ public class GeneratorUtils {
++ }
++ }
++ }
++-
+++
++ private static Tree checkDuplicates(WorkingCopy wc, ClassTree clazz, Tree member) {
++ List<? extends VariableTree> memberParams = null;
++ TreePath tp = null;
++diff --git a/java.editor/src/org/netbeans/modules/java/editor/codegen/ImplementOverrideMethodGenerator.java b/java.editor/src/org/netbeans/modules/java/editor/codegen/ImplementOverrideMethodGenerator.java
++index 90995b802..604b19570 100644
++--- a/java.editor/src/org/netbeans/modules/java/editor/codegen/ImplementOverrideMethodGenerator.java
+++++ b/java.editor/src/org/netbeans/modules/java/editor/codegen/ImplementOverrideMethodGenerator.java
++@@ -49,31 +49,20 @@ import java.awt.Dialog;
++ import java.beans.PropertyChangeEvent;
++ import java.beans.PropertyChangeListener;
++ import java.io.IOException;
++-import java.lang.reflect.InvocationTargetException;
++ import java.util.ArrayList;
++ import java.util.LinkedHashMap;
++ import java.util.List;
++ import java.util.Map;
++-import java.util.concurrent.ExecutionException;
++-import java.util.concurrent.Future;
++-import java.util.concurrent.RunnableFuture;
++-import java.util.concurrent.TimeUnit;
++-import java.util.concurrent.TimeoutException;
++-import java.util.function.BiFunction;
++-import java.util.function.Function;
++
++ import javax.lang.model.SourceVersion;
++ import javax.lang.model.element.Element;
++ import javax.lang.model.element.ElementKind;
++ import javax.lang.model.element.ExecutableElement;
++-import javax.lang.model.element.Modifier;
++ import javax.lang.model.element.TypeElement;
++-import javax.swing.SwingUtilities;
++ import javax.swing.text.JTextComponent;
++
++ import org.netbeans.api.java.source.Task;
++ import org.netbeans.api.java.source.CompilationController;
++-import org.netbeans.api.java.source.CompilationInfo;
++ import org.netbeans.api.java.source.ElementHandle;
++ import org.netbeans.api.java.source.ElementUtilities;
++ import org.netbeans.api.java.source.JavaSource;
++@@ -121,9 +110,21 @@ public class ImplementOverrideMethodGenerator implements CodeGenerator {
++ }
++ ElementUtilities eu = controller.getElementUtilities();
++ if (typeElement.getKind().isClass() || typeElement.getKind().isInterface() && SourceVersion.RELEASE_8.compareTo(controller.getSourceVersion()) <= 0) {
++- ElementNode.Description root = getImplementDescriptions(controller, typeElement);
++- if (root != null) {
++- ret.add(new ImplementOverrideMethodGenerator(component, ElementHandle.create(typeElement), root, true));
+++ Map<Element, List<ElementNode.Description>> map = new LinkedHashMap<>();
+++ for (ExecutableElement method : eu.findUnimplementedMethods(typeElement)) {
+++ List<ElementNode.Description> descriptions = map.get(method.getEnclosingElement());
+++ if (descriptions == null) {
+++ descriptions = new ArrayList<>();
+++ map.put(method.getEnclosingElement(), descriptions);
+++ }
+++ descriptions.add(ElementNode.Description.create(controller, method, null, true, false));
+++ }
+++ List<ElementNode.Description> implementDescriptions = new ArrayList<>();
+++ for (Map.Entry<Element, List<ElementNode.Description>> entry : map.entrySet()) {
+++ implementDescriptions.add(ElementNode.Description.create(controller, entry.getKey(), entry.getValue(), false, false));
+++ }
+++ if (!implementDescriptions.isEmpty()) {
+++ ret.add(new ImplementOverrideMethodGenerator(component, ElementHandle.create(typeElement), ElementNode.Description.create(implementDescriptions), true));
++ }
++ }
++ if (typeElement.getKind().isClass() || typeElement.getKind().isInterface()) {
++@@ -152,109 +153,6 @@ public class ImplementOverrideMethodGenerator implements CodeGenerator {
++ return ret;
++ }
++ }
++-
++- private static final List<ElementHandle<? extends Element>> NOT_READY = new ArrayList<>();
++-
++- /**
++- * For testing purposes only
++- */
++- static BiFunction<CompilationInfo, TypeElement, List<ElementHandle<? extends Element>>> testOverrideMethodsSelection = null;
++-
++- /**
++- * Returns callback which fills the list of elements to implement. The callback will execute in Swing thread upon query to the {@link Future#get()}.
++- * @param controller
++- * @param typeElement
++- * @return
++- */
++- public static Future< List<ElementHandle<? extends Element>> > selectMethodsToImplement(final CompilationInfo controller, final TypeElement typeElement) {
++- final ElementNode.Description root = getImplementDescriptions(controller, typeElement);
++- if (root == null) {
++- return null;
++- }
++- return new RunnableFuture< List<ElementHandle<? extends Element>> >() {
++- private boolean cancelled;
++- private List<ElementHandle<? extends Element>> result = NOT_READY;
++-
++- @Override
++- public synchronized boolean cancel(boolean mayInterruptIfRunning) {
++- cancelled = true;
++- return true;
++- }
++-
++- @Override
++- public synchronized boolean isCancelled() {
++- return cancelled;
++- }
++-
++- @Override
++- public synchronized boolean isDone() {
++- return cancelled || result != NOT_READY;
++- }
++-
++- @Override
++- public List<ElementHandle<? extends Element>> get() throws InterruptedException, ExecutionException {
++- boolean ok = true;
++- synchronized (this) {
++- if (isDone()) {
++- return result == NOT_READY ? null : result;
++- }
++- }
++- if (testOverrideMethodsSelection != null || SwingUtilities.isEventDispatchThread()) {
++- run();
++- return result;
++- } else {
++- try {
++- SwingUtilities.invokeAndWait(this);
++- } catch (InvocationTargetException ex) {
++- ok = false;
++- }
++- }
++- synchronized (this) {
++- if (!ok) {
++- cancelled = true;
++- return null;
++- }
++- return result;
++- }
++- }
++-
++- public void run() {
++- List<ElementHandle<? extends Element>> tmp;
++- if (testOverrideMethodsSelection != null) {
++- tmp = testOverrideMethodsSelection.apply(controller, typeElement);
++- } else {
++- tmp = displaySelectionDialog(root, true);
++- }
++- synchronized (this) {
++- this.result = tmp;
++- }
++- }
++-
++- @Override
++- public List<ElementHandle<? extends Element>> get(long timeout, TimeUnit unit) throws InterruptedException, ExecutionException, TimeoutException {
++- return get(); // sorry, no timeout
++- }
++- };
++- }
++-
++- private static ElementNode.Description getImplementDescriptions(CompilationInfo controller, TypeElement typeElement) {
++- ElementUtilities eu = controller.getElementUtilities();
++- Map<Element, List<ElementNode.Description>> map = new LinkedHashMap<>();
++- for (ExecutableElement method : eu.findUnimplementedMethods(typeElement, true)) {
++- List<ElementNode.Description> descriptions = map.get(method.getEnclosingElement());
++- if (descriptions == null) {
++- descriptions = new ArrayList<>();
++- map.put(method.getEnclosingElement(), descriptions);
++- }
++- boolean mustImplement = !method.getModifiers().contains(Modifier.DEFAULT);
++- descriptions.add(ElementNode.Description.create(controller, method, null, true, mustImplement));
++- }
++- List<ElementNode.Description> implementDescriptions = new ArrayList<>();
++- for (Map.Entry<Element, List<ElementNode.Description>> entry : map.entrySet()) {
++- implementDescriptions.add(ElementNode.Description.create(controller, entry.getKey(), entry.getValue(), false, false));
++- }
++- return implementDescriptions.isEmpty() ? null : ElementNode.Description.create(implementDescriptions);
++- }
++
++ private final JTextComponent component;
++ private final ElementHandle<TypeElement> handle;
++@@ -273,9 +171,11 @@ public class ImplementOverrideMethodGenerator implements CodeGenerator {
++ public String getDisplayName() {
++ return org.openide.util.NbBundle.getMessage(ImplementOverrideMethodGenerator.class, isImplement ? "LBL_implement_method" : "LBL_override_method"); //NOI18N
++ }
++-
++- private static List<ElementHandle<? extends Element>> displaySelectionDialog(ElementNode.Description root, boolean isImplement) {
++- final ImplementOverridePanel panel = new ImplementOverridePanel(root, isImplement);
+++
+++ @Override
+++ public void invoke() {
+++ final ImplementOverridePanel panel = new ImplementOverridePanel(description, isImplement);
+++ final int caretOffset = component.getCaretPosition();
++ final DialogDescriptor dialogDescriptor = GeneratorUtils.createDialogDescriptor(panel,
++ NbBundle.getMessage(ConstructorGenerator.class, isImplement ? "LBL_generate_implement" : "LBL_generate_override")); //NOI18N
++ panel.addPropertyChangeListener(new PropertyChangeListener() {
++@@ -287,17 +187,7 @@ public class ImplementOverrideMethodGenerator implements CodeGenerator {
++ });
++ Dialog dialog = DialogDisplayer.getDefault().createDialog(dialogDescriptor);
++ dialog.setVisible(true);
++- if (dialogDescriptor.getValue() != dialogDescriptor.getDefaultValue()) {
++- return null;
++- }
++- return panel.getSelectedMethods();
++- }
++-
++- @Override
++- public void invoke() {
++- final int caretOffset = component.getCaretPosition();
++- final List<ElementHandle<? extends Element>> methodList = displaySelectionDialog(description, isImplement);
++- if (methodList != null) {
+++ if (dialogDescriptor.getValue() == dialogDescriptor.getDefaultValue()) {
++ JavaSource js = JavaSource.forDocument(component.getDocument());
++ if (js != null) {
++ try {
++@@ -313,7 +203,7 @@ public class ImplementOverrideMethodGenerator implements CodeGenerator {
++ org.netbeans.editor.Utilities.setStatusBoldText(component, message);
++ } else {
++ ArrayList<ExecutableElement> methodElements = new ArrayList<>();
++- for (ElementHandle<? extends Element> elementHandle : methodList) {
+++ for (ElementHandle<? extends Element> elementHandle : panel.getSelectedMethods()) {
++ ExecutableElement methodElement = (ExecutableElement)elementHandle.resolve(copy);
++ if (methodElement != null) {
++ methodElements.add(methodElement);
++diff --git a/java.editor/src/org/netbeans/modules/java/editor/codegen/ui/CheckTreeView.java b/java.editor/src/org/netbeans/modules/java/editor/codegen/ui/CheckTreeView.java
++index c27f96a4a..ca9731412 100644
++--- a/java.editor/src/org/netbeans/modules/java/editor/codegen/ui/CheckTreeView.java
+++++ b/java.editor/src/org/netbeans/modules/java/editor/codegen/ui/CheckTreeView.java
++@@ -195,10 +195,8 @@ public class CheckTreeView extends BeanTreeView {
++ return true;
++ } else {
++ boolean newState = !description.isSelected();
++- toggleChildren( description.getSubs(), newState );
++- // first toggle children, then itself. If children were not expanded,
++- // the self-toggle will fire appropriate events and controls will be reevaluated.
++ description.setSelected(newState);
+++ toggleChildren( description.getSubs(), newState );
++ }
++ }
++
++diff --git a/java.editor/src/org/netbeans/modules/java/editor/codegen/ui/ElementNode.java b/java.editor/src/org/netbeans/modules/java/editor/codegen/ui/ElementNode.java
++index 93dd8ebed..1c23046d5 100644
++--- a/java.editor/src/org/netbeans/modules/java/editor/codegen/ui/ElementNode.java
+++++ b/java.editor/src/org/netbeans/modules/java/editor/codegen/ui/ElementNode.java
++@@ -241,22 +241,6 @@ public class ElementNode extends AbstractNode {
++ return false;
++ }
++
++- public boolean hasSelection(boolean includeSelf) {
++- if (includeSelf && isSelected()) {
++- return true;
++- }
++- List<Description> descs = getSubs();
++- if (descs == null) {
++- return false;
++- }
++- for (Description d : descs) {
++- if (d.hasSelection(true)) {
++- return true;
++- }
++- }
++- return false;
++- }
++-
++ public boolean isSelected() {
++ return isSelected;
++ }
++diff --git a/java.editor/src/org/netbeans/modules/java/editor/codegen/ui/ElementSelectorPanel.java b/java.editor/src/org/netbeans/modules/java/editor/codegen/ui/ElementSelectorPanel.java
++index c97a1c287..ea128b73a 100644
++--- a/java.editor/src/org/netbeans/modules/java/editor/codegen/ui/ElementSelectorPanel.java
+++++ b/java.editor/src/org/netbeans/modules/java/editor/codegen/ui/ElementSelectorPanel.java
++@@ -45,24 +45,14 @@
++ package org.netbeans.modules.java.editor.codegen.ui;
++
++ import java.awt.BorderLayout;
++-import java.awt.FlowLayout;
++-import java.awt.event.ActionEvent;
++-import java.awt.event.ActionListener;
++ import java.beans.PropertyVetoException;
++-import java.util.ArrayDeque;
++ import java.util.ArrayList;
++-import java.util.Arrays;
++-import java.util.Deque;
++ import java.util.List;
++ import javax.lang.model.element.Element;
++-import javax.swing.JButton;
++ import javax.swing.JPanel;
++ import org.netbeans.api.java.source.ElementHandle;
++-import org.openide.awt.Mnemonics;
++ import org.openide.explorer.ExplorerManager;
++ import org.openide.nodes.Node;
++-import org.openide.util.Exceptions;
++-import org.openide.util.NbBundle;
++
++ /**
++ *
++@@ -73,16 +63,8 @@ public class ElementSelectorPanel extends JPanel implements ExplorerManager.Prov
++ private ExplorerManager manager = new ExplorerManager();
++ private CheckTreeView elementView;
++
++- @NbBundle.Messages({
++- "BTN_SelectAll=Select &All",
++- "BTN_SelectNone=Select &None",
++- })
++ /** Creates new form ElementSelectorPanel */
++ public ElementSelectorPanel(ElementNode.Description elementDescription, boolean singleSelection ) {
++- this(elementDescription, singleSelection, false);
++- }
++-
++- public ElementSelectorPanel(ElementNode.Description elementDescription, boolean singleSelection, boolean enableButtons ) {
++ setLayout(new BorderLayout());
++ elementView = new CheckTreeView();
++ elementView.setRootVisible(false);
++@@ -91,77 +73,13 @@ public class ElementSelectorPanel extends JPanel implements ExplorerManager.Prov
++ //make sure that the first element is pre-selected
++ Node root = manager.getRootContext();
++ Node[] children = root.getChildren().getNodes();
++- if( null != children && children.length > 0 && !elementDescription.hasSelection(true)) {
++- try {
+++ if( null != children && children.length > 0 ) {
+++ try {
++ manager.setSelectedNodes(new org.openide.nodes.Node[]{children[0]});
++ } catch (PropertyVetoException ex) {
++ //ignore
++ }
++ }
++- if (!singleSelection && hasMultipleSelectables(elementDescription)) {
++- final JButton selectAll = new JButton();
++- final JButton selectNone = new JButton();
++- Mnemonics.setLocalizedText(selectAll, Bundle.BTN_SelectAll());
++- Mnemonics.setLocalizedText(selectNone, Bundle.BTN_SelectNone());
++- JPanel buttonPanel = new JPanel(new FlowLayout(FlowLayout.LEFT));
++- buttonPanel.add(selectAll);
++- buttonPanel.add(selectNone);
++-
++- add(buttonPanel, BorderLayout.SOUTH);
++-
++- ActionListener al = new ActionListener() {
++- @Override
++- public void actionPerformed(ActionEvent e) {
++- selectAllNodes(e.getSource() == selectAll);
++- }
++- };
++- selectAll.addActionListener(al);
++- selectNone.addActionListener(al);
++- }
++- }
++-
++- private boolean hasMultipleSelectables(ElementNode.Description elementDescription) {
++- Deque<ElementNode.Description> toProcess = new ArrayDeque<>();
++- if (elementDescription != null) {
++- toProcess.add(elementDescription);
++- }
++- boolean selectableFound = false;
++- while (!toProcess.isEmpty()) {
++- ElementNode.Description d = toProcess.poll();
++- List<ElementNode.Description> subs = d.getSubs();
++- if (subs == null) {
++- if (d.isSelectable()) {
++- if (selectableFound) {
++- return true;
++- }
++- selectableFound = true;
++- }
++- } else {
++- toProcess.addAll(subs);
++- }
++- }
++- return false;
++- }
++-
++- private void selectAllNodes(boolean select) {
++- boolean oldScroll = elementView.getScrollsOnExpand();
++- elementView.setScrollsOnExpand( false );
++- Node root = getExplorerManager().getRootContext();
++- Deque<Node> toProcess = new ArrayDeque<>(Arrays.asList(root.getChildren().getNodes(true)));
++- while (!toProcess.isEmpty()) {
++- Node n = toProcess.poll();
++- ElementNode.Description desc = getDescription(n);
++- if (desc == null) {
++- continue;
++- }
++- if (desc.hasSelectableSubs()) {
++- elementView.expandNode(n);
++- toProcess.addAll(Arrays.asList(n.getChildren().getNodes(true)));
++- } else if (desc.isSelectable()) {
++- desc.setSelected(select);
++- }
++- }
++- elementView.setScrollsOnExpand( oldScroll );
++ }
++
++ public List<ElementHandle<? extends Element>> getTreeSelectedElements() {
++@@ -202,10 +120,6 @@ public class ElementSelectorPanel extends JPanel implements ExplorerManager.Prov
++
++ }
++
++- private static ElementNode.Description getDescription(Node n) {
++- return n.getLookup().lookup(ElementNode.Description.class);
++- }
++-
++ public void doInitialExpansion( int howMuch ) {
++
++ Node root = getExplorerManager().getRootContext();
++@@ -222,7 +136,9 @@ public class ElementSelectorPanel extends JPanel implements ExplorerManager.Prov
++ elementView.setScrollsOnExpand( false );
++
++ for( int i = 0; subNodes != null && i < (howMuch == - 1 || howMuch > subNodes.length ? subNodes.length : howMuch ) ; i++ ) {
++- elementView.expandNode(subNodes[i]);
+++ // elementView.expandNode2(subNodes[i]);
+++ row ++;
+++ elementView.expandRow(row);
++ Node[] ssn = subNodes[i].getChildren().getNodes( true );
++ row += ssn.length;
++ if ( toSelect == null ) {
++@@ -231,27 +147,6 @@ public class ElementSelectorPanel extends JPanel implements ExplorerManager.Prov
++ }
++ }
++ }
++- Node toSelect2 = null;
++- // extend the expansion to all initially selected nodes
++- Deque<Node> toProcess = new ArrayDeque<>(Arrays.asList(subNodes));
++- while (!toProcess.isEmpty()) {
++- Node n = toProcess.poll();
++- ElementNode.Description desc = getDescription(n);
++- if (desc == null) {
++- continue;
++- }
++- if (desc.isSelected() && toSelect2 == null) {
++- // respect initial selection, if some is done
++- toSelect2 = n;
++- }
++- if (desc.hasSelection(false)) {
++- elementView.expandNode(n);
++- toProcess.addAll(Arrays.asList(n.getChildren().getNodes(true)));
++- }
++- }
++- if (toSelect2 != null) {
++- toSelect = toSelect2;
++- }
++
++ elementView.setScrollsOnExpand( oldScroll );
++
++diff --git a/java.editor/src/org/netbeans/modules/java/editor/codegen/ui/ImplementOverridePanel.form b/java.editor/src/org/netbeans/modules/java/editor/codegen/ui/ImplementOverridePanel.form
++index 03b686933..c68a39149 100644
++--- a/java.editor/src/org/netbeans/modules/java/editor/codegen/ui/ImplementOverridePanel.form
+++++ b/java.editor/src/org/netbeans/modules/java/editor/codegen/ui/ImplementOverridePanel.form
++@@ -1,9 +1,7 @@
++ <?xml version="1.0" encoding="UTF-8" ?>
++
++-<Form version="1.4" maxVersion="1.4" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
+++<Form version="1.2" maxVersion="1.2" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
++ <AuxValues>
++- <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
++- <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
++ <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
++ <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="true"/>
++ <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
++diff --git a/java.editor/src/org/netbeans/modules/java/editor/codegen/ui/ImplementOverridePanel.java b/java.editor/src/org/netbeans/modules/java/editor/codegen/ui/ImplementOverridePanel.java
++index 4843ad06a..1ebb467e3 100644
++--- a/java.editor/src/org/netbeans/modules/java/editor/codegen/ui/ImplementOverridePanel.java
+++++ b/java.editor/src/org/netbeans/modules/java/editor/codegen/ui/ImplementOverridePanel.java
++@@ -64,7 +64,7 @@ public class ImplementOverridePanel extends JPanel {
++ /** Creates new form ConstructorPanel */
++ public ImplementOverridePanel(ElementNode.Description description, boolean isImplement) {
++ initComponents();
++- elementSelector = new ElementSelectorPanel(description, false, true);
+++ elementSelector = new ElementSelectorPanel(description, false);
++ elementSelector.getExplorerManager().addPropertyChangeListener(new PropertyChangeListener() {
++ @Override
++ public void propertyChange(PropertyChangeEvent evt) {
++diff --git a/java.editor/src/org/netbeans/modules/java/editor/fold/MessagePattern.java b/java.editor/src/org/netbeans/modules/java/editor/fold/MessagePattern.java
++index 74caaf2f2..28c2cd7f4 100644
++--- a/java.editor/src/org/netbeans/modules/java/editor/fold/MessagePattern.java
+++++ b/java.editor/src/org/netbeans/modules/java/editor/fold/MessagePattern.java
++@@ -36,6 +36,48 @@
++ * made subject to such option by the copyright holder.
++ *
++ * Contributor(s):
+++ *
+++ * Portions Copyrighted 2014 Sun Microsystems, Inc.
+++ *//*
+++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+++ *
+++ * Copyright 2014 Oracle and/or its affiliates. All rights reserved.
+++ *
+++ * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
+++ * Other names may be trademarks of their respective owners.
+++ *
+++ * The contents of this file are subject to the terms of either the GNU
+++ * General Public License Version 2 only ("GPL") or the Common
+++ * Development and Distribution License("CDDL") (collectively, the
+++ * "License"). You may not use this file except in compliance with the
+++ * License. You can obtain a copy of the License at
+++ * http://www.netbeans.org/cddl-gplv2.html
+++ * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
+++ * specific language governing permissions and limitations under the
+++ * License. When distributing the software, include this License Header
+++ * Notice in each file and include the License file at
+++ * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
+++ * particular file as subject to the "Classpath" exception as provided
+++ * by Oracle in the GPL Version 2 section of the License file that
+++ * accompanied this code. If applicable, add the following below the
+++ * License Header, with the fields enclosed by brackets [] replaced by
+++ * your own identifying information:
+++ * "Portions Copyrighted [year] [name of copyright owner]"
+++ *
+++ * If you wish your version of this file to be governed by only the CDDL
+++ * or only the GPL Version 2, indicate your decision by adding
+++ * "[Contributor] elects to include this software in this distribution
+++ * under the [CDDL or GPL Version 2] license." If you do not indicate a
+++ * single choice of license, a recipient has the option to distribute
+++ * your version of this file under either the CDDL, the GPL Version 2 or
+++ * to extend the choice of license to its licensees as provided above.
+++ * However, if you add GPL Version 2 code and therefore, elected the GPL
+++ * Version 2 license, then the option applies only if the new code is
+++ * made subject to such option by the copyright holder.
+++ *
+++ * Contributor(s):
+++ *
+++ * Portions Copyrighted 2014 Sun Microsystems, Inc.
++ */
++
++ package org.netbeans.modules.java.editor.fold;
++diff --git a/java.editor/src/org/netbeans/modules/java/editor/hyperlink/JavaHyperlinkProvider.java b/java.editor/src/org/netbeans/modules/java/editor/hyperlink/JavaHyperlinkProvider.java
++index 8802e430b..34ac9631c 100644
++--- a/java.editor/src/org/netbeans/modules/java/editor/hyperlink/JavaHyperlinkProvider.java
+++++ b/java.editor/src/org/netbeans/modules/java/editor/hyperlink/JavaHyperlinkProvider.java
++@@ -77,7 +77,7 @@ public final class JavaHyperlinkProvider implements HyperlinkProviderExt {
++ }
++
++ public int[] getHyperlinkSpan(Document doc, int offset, HyperlinkType type) {
++- return GoToSupport.getIdentifierOrLambdaArrowSpan(doc, offset, null);
+++ return GoToSupport.getIdentifierSpan(doc, offset, null);
++ }
++
++ public void performClickAction(Document doc, int offset, HyperlinkType type) {
++diff --git a/java.editor/src/org/netbeans/modules/java/editor/imports/ClipboardHandler.java b/java.editor/src/org/netbeans/modules/java/editor/imports/ClipboardHandler.java
++index 0c3387a45..f47b8597c 100644
++--- a/java.editor/src/org/netbeans/modules/java/editor/imports/ClipboardHandler.java
+++++ b/java.editor/src/org/netbeans/modules/java/editor/imports/ClipboardHandler.java
++@@ -37,7 +37,6 @@
++ */
++ package org.netbeans.modules.java.editor.imports;
++
++-import com.sun.source.tree.AssignmentTree;
++ import com.sun.source.tree.CompilationUnitTree;
++ import com.sun.source.tree.ExpressionTree;
++ import com.sun.source.tree.IdentifierTree;
++@@ -98,7 +97,6 @@ import com.sun.source.tree.CaseTree;
++ import com.sun.source.tree.ClassTree;
++ import com.sun.source.tree.ImportTree;
++ import com.sun.source.tree.MethodTree;
++-import java.awt.Component;
++ import java.util.Set;
++ import org.netbeans.api.editor.EditorActionRegistration;
++ import org.netbeans.api.editor.EditorActionRegistrations;
++@@ -507,29 +505,8 @@ public class ClipboardHandler {
++ return super.visitVariable(node, p);
++ }
++ }
++-
++- boolean ignoreSynthetic;
++-
++ @Override public Void scan(Tree tree, Void p) {
++- if (tree == null) {
++- return null;
++- }
++- if (parameter.getTreeUtilities().isSynthetic(new TreePath(getCurrentPath(), tree)) && !ignoreSynthetic) {
++- // exception: annotation 'value' field assignment may be synthetic, but the assignment expression may be not:
++- if (tree.getKind() == Tree.Kind.ASSIGNMENT && getCurrentPath().getLeaf().getKind() == Tree.Kind.ANNOTATION) {
++- AssignmentTree at = (AssignmentTree)tree;
++- if (at.getVariable()!= null && at.getVariable().getKind() == Tree.Kind.IDENTIFIER) {
++- if (((IdentifierTree)at.getVariable()).getName().contentEquals("value")) { // NOI18N
++- // not 100% OK, there may be synthetic constructs down the tree.
++- ignoreSynthetic = true;
++- super.scan(tree, p);
++- ignoreSynthetic = false;
++- return null;
++- }
++- }
++- }
++- return null;
++- }
+++ if (tree == null || parameter.getTreeUtilities().isSynthetic(new TreePath(getCurrentPath(), tree))) return null;
++ return super.scan(tree, p);
++ }
++ }.scan(parameter.getCompilationUnit(), null);
++@@ -573,14 +550,12 @@ public class ClipboardHandler {
++ }
++
++ @Override
++- public boolean importData(JComponent comp, Transferable t) {
++- return delegate.importData(comp, t);
+++ public boolean importData(TransferSupport support) {
+++ return delegate.importData(support);
++ }
++
++ @Override
++- public boolean importData(TransferSupport support) {
++- Transferable t = support.getTransferable();
++- Component comp = support.getComponent();
+++ public boolean importData(JComponent comp, Transferable t) {
++ if (t.isDataFlavorSupported(IMPORT_FLAVOR) && comp instanceof JTextComponent && !insideToken((JTextComponent)comp, JavaTokenId.STRING_LITERAL, JavaTokenId.BLOCK_COMMENT, JavaTokenId.JAVADOC_COMMENT, JavaTokenId.LINE_COMMENT)) {
++ boolean result = false;
++
++@@ -588,7 +563,7 @@ public class ClipboardHandler {
++ final JTextComponent tc = (JTextComponent) comp;
++ final int caret = tc.getSelectionStart();
++
++- if (result = delegatedImportData(support)) {
+++ if (result = delegatedImportData(comp, t)) {
++ final ImportsWrapper imports = (ImportsWrapper) t.getTransferData(IMPORT_FLAVOR);
++ final FileObject file = NbEditorUtilities.getFileObject(tc.getDocument());
++ final Document doc = tc.getDocument();
++@@ -635,13 +610,11 @@ public class ClipboardHandler {
++ return result;
++ }
++
++- return delegatedImportData(support);
+++ return delegatedImportData(comp, t);
++ }
++
++- private boolean delegatedImportData(final TransferSupport support) {
++- JComponent comp = (JComponent) support.getComponent();
++- if (comp instanceof JTextComponent && !support.isDataFlavorSupported(COPY_FROM_STRING_FLAVOR) && insideToken((JTextComponent) comp, JavaTokenId.STRING_LITERAL)) {
++- final Transferable t = support.getTransferable();
+++ private boolean delegatedImportData(final JComponent comp, final Transferable t) {
+++ if (comp instanceof JTextComponent && !t.isDataFlavorSupported(COPY_FROM_STRING_FLAVOR) && insideToken((JTextComponent) comp, JavaTokenId.STRING_LITERAL)) {
++ return delegate.importData(comp, new Transferable() {
++ @Override
++ public DataFlavor[] getTransferDataFlavors() {
++@@ -681,7 +654,7 @@ public class ClipboardHandler {
++ }
++ });
++ }
++- return delegate.importData(support);
+++ return delegate.importData(comp, t);
++ }
++
++ private boolean insideToken(final JTextComponent jtc, final JavaTokenId first, final JavaTokenId... rest) {
++diff --git a/java.editor/src/org/netbeans/modules/java/editor/resources/DefaultAbbrevs.xml b/java.editor/src/org/netbeans/modules/java/editor/resources/DefaultAbbrevs.xml
++index 2bcf989d1..792287c78 100644
++--- a/java.editor/src/org/netbeans/modules/java/editor/resources/DefaultAbbrevs.xml
+++++ b/java.editor/src/org/netbeans/modules/java/editor/resources/DefaultAbbrevs.xml
++@@ -176,7 +176,7 @@ ${selection}${cursor}
++ </codetemplate>
++ <codetemplate abbreviation="fore" contexts="BLOCK,CASE,LABELED_STATEMENT,DO_WHILE_LOOP,ENHANCED_FOR_LOOP,FOR_LOOP,IF,WHILE_LOOP,LAMBDA_EXPRESSION">
++ <code>
++-<![CDATA[for (${TYPE iterableElementType default="Object" editable=false} ${ELEM newVarName default="elem" ordering=2} : ${ITER iterable default="col" ordering=1}) {
+++<![CDATA[for (${TYPE iterableElementType default="Object" editable=false} ${ELEM newVarName default="elem"} : ${ITER iterable default="col"}) {
++ ${selection}${cursor}
++ }
++ ]]>
++diff --git a/java.editor/src/org/netbeans/modules/java/editor/resources/DefaultKeyBindings-Mac.xml b/java.editor/src/org/netbeans/modules/java/editor/resources/DefaultKeyBindings-Mac.xml
++index a05d5f38d..fcfed2755 100644
++--- a/java.editor/src/org/netbeans/modules/java/editor/resources/DefaultKeyBindings-Mac.xml
+++++ b/java.editor/src/org/netbeans/modules/java/editor/resources/DefaultKeyBindings-Mac.xml
++@@ -59,4 +59,7 @@ made subject to such option by the copyright holder.
++ <bind key="DOS-DOWN" actionName="select-element-previous"/>
++ <bind actionName="complete-line" key="D-SEMICOLON"/>
++ <bind actionName="complete-line-newline" key="DS-SEMICOLON"/>
+++
+++ <bind actionName="java-next-marked-occurrence" key="A-DOWN"/>
+++ <bind actionName="java-prev-marked-occurrence" key="A-UP"/>
++ </bindings>
++diff --git a/java.editor/src/org/netbeans/modules/java/editor/resources/DefaultKeyBindings.xml b/java.editor/src/org/netbeans/modules/java/editor/resources/DefaultKeyBindings.xml
++index 82b753ebb..46953e56d 100644
++--- a/java.editor/src/org/netbeans/modules/java/editor/resources/DefaultKeyBindings.xml
+++++ b/java.editor/src/org/netbeans/modules/java/editor/resources/DefaultKeyBindings.xml
++@@ -64,4 +64,7 @@ made subject to such option by the copyright holder.
++ <bind actionName="select-element-previous" key="OS-COMMA"/>
++ <bind actionName="complete-line" key="D-SEMICOLON"/>
++ <bind actionName="complete-line-newline" key="DS-SEMICOLON"/>
+++
+++ <bind actionName="java-next-marked-occurrence" key="O-DOWN"/>
+++ <bind actionName="java-prev-marked-occurrence" key="O-UP"/>
++ </bindings>
++diff --git a/java.editor/src/org/netbeans/modules/java/editor/resources/DefaultMacros.xml b/java.editor/src/org/netbeans/modules/java/editor/resources/DefaultMacros.xml
++index b69a9a75b..e9c93ae80 100644
++--- a/java.editor/src/org/netbeans/modules/java/editor/resources/DefaultMacros.xml
+++++ b/java.editor/src/org/netbeans/modules/java/editor/resources/DefaultMacros.xml
++@@ -1,43 +1,4 @@
++ <?xml version="1.0"?>
++-<!--
++-DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++-
++-Copyright (c) 2005, 2016 Oracle and/or its affiliates. All rights reserved.
++-
++-Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++-Other names may be trademarks of their respective owners.
++-
++-The contents of this file are subject to the terms of either the GNU
++-General Public License Version 2 only ("GPL") or the Common
++-Development and Distribution License("CDDL") (collectively, the
++-"License"). You may not use this file except in compliance with the
++-License. You can obtain a copy of the License at
++-http://www.netbeans.org/cddl-gplv2.html
++-or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++-specific language governing permissions and limitations under the
++-License. When distributing the software, include this License Header
++-Notice in each file and include the License file at
++-nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
++-particular file as subject to the "Classpath" exception as provided
++-by Oracle in the GPL Version 2 section of the License file that
++-accompanied this code. If applicable, add the following below the
++-License Header, with the fields enclosed by brackets [] replaced by
++-your own identifying information:
++-"Portions Copyrighted [year] [name of copyright owner]"
++-
++-If you wish your version of this file to be governed by only the CDDL
++-or only the GPL Version 2, indicate your decision by adding
++-"[Contributor] elects to include this software in this distribution
++-under the [CDDL or GPL Version 2] license." If you do not indicate a
++-single choice of license, a recipient has the option to distribute
++-your version of this file under either the CDDL, the GPL Version 2 or
++-to extend the choice of license to its licensees as provided above.
++-However, if you add GPL Version 2 code and therefore, elected the GPL
++-Version 2 license, then the option applies only if the new code is
++-made subject to such option by the copyright holder.
++-
++-Contributor(s):
++--->
++ <!DOCTYPE editor-macros PUBLIC "-//NetBeans//DTD Editor Macros settings 1.1//EN" "http://www.netbeans.org/dtds/EditorMacros-1_1.dtd">
++ <editor-macros>
++ <macro name="debug-var">
++diff --git a/java.editor/src/org/netbeans/modules/java/editor/resources/JavaOptions.settings b/java.editor/src/org/netbeans/modules/java/editor/resources/JavaOptions.settings
++index 40b190b9e..2a34725f5 100644
++--- a/java.editor/src/org/netbeans/modules/java/editor/resources/JavaOptions.settings
+++++ b/java.editor/src/org/netbeans/modules/java/editor/resources/JavaOptions.settings
++@@ -1,43 +1,4 @@
++ <?xml version="1.0"?>
++-<!--
++-DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++-
++-Copyright (c) 2005, 2016 Oracle and/or its affiliates. All rights reserved.
++-
++-Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++-Other names may be trademarks of their respective owners.
++-
++-The contents of this file are subject to the terms of either the GNU
++-General Public License Version 2 only ("GPL") or the Common
++-Development and Distribution License("CDDL") (collectively, the
++-"License"). You may not use this file except in compliance with the
++-License. You can obtain a copy of the License at
++-http://www.netbeans.org/cddl-gplv2.html
++-or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++-specific language governing permissions and limitations under the
++-License. When distributing the software, include this License Header
++-Notice in each file and include the License file at
++-nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
++-particular file as subject to the "Classpath" exception as provided
++-by Oracle in the GPL Version 2 section of the License file that
++-accompanied this code. If applicable, add the following below the
++-License Header, with the fields enclosed by brackets [] replaced by
++-your own identifying information:
++-"Portions Copyrighted [year] [name of copyright owner]"
++-
++-If you wish your version of this file to be governed by only the CDDL
++-or only the GPL Version 2, indicate your decision by adding
++-"[Contributor] elects to include this software in this distribution
++-under the [CDDL or GPL Version 2] license." If you do not indicate a
++-single choice of license, a recipient has the option to distribute
++-your version of this file under either the CDDL, the GPL Version 2 or
++-to extend the choice of license to its licensees as provided above.
++-However, if you add GPL Version 2 code and therefore, elected the GPL
++-Version 2 license, then the option applies only if the new code is
++-made subject to such option by the copyright holder.
++-
++-Contributor(s):
++--->
++ <!DOCTYPE settings PUBLIC "-//NetBeans//DTD Session settings 1.0//EN" "http://www.netbeans.org/dtds/sessionsettings-1_0.dtd">
++ <settings version="1.0">
++ <module name="org.netbeans.modules.java.editor/1"/>
++diff --git a/java.editor/src/org/netbeans/modules/java/editor/semantic/Bundle.properties b/java.editor/src/org/netbeans/modules/java/editor/semantic/Bundle.properties
++index 515cc6ba1..160ca5822 100644
++--- a/java.editor/src/org/netbeans/modules/java/editor/semantic/Bundle.properties
+++++ b/java.editor/src/org/netbeans/modules/java/editor/semantic/Bundle.properties
++@@ -57,7 +57,7 @@ LBL_UnusedEnum=Enum {0} is not used
++
++ LBL_ES_TOOLTIP=Mark Occurrences
++
++-next-marked-occurrence=Navigate to Next Occurrence
++-prev-marked-occurrence=Navigate to Previous Occurrence
+++java-next-marked-occurrence=Navigate to Next Occurrence
+++java-prev-marked-occurrence=Navigate to Previous Occurrence
++ java-no-marked-occurrence=There is no occurrence to navigate to.
++
++diff --git a/java.editor/src/org/netbeans/modules/java/editor/semantic/GoToMarkOccurrencesAction.java b/java.editor/src/org/netbeans/modules/java/editor/semantic/GoToMarkOccurrencesAction.java
++index ff663dc4d..294b49023 100644
++--- a/java.editor/src/org/netbeans/modules/java/editor/semantic/GoToMarkOccurrencesAction.java
+++++ b/java.editor/src/org/netbeans/modules/java/editor/semantic/GoToMarkOccurrencesAction.java
++@@ -40,6 +40,17 @@
++ * The Original Software is NetBeans. The Initial Developer of the Original
++ * Software is Sun Microsystems, Inc. Portions Copyright 1997-2008 Sun
++ * Microsystems, Inc. All Rights Reserved.
+++ *
+++ * If you wish your version of this file to be governed by only the CDDL
+++ * or only the GPL Version 2, indicate your decision by adding
+++ * "[Contributor] elects to include this software in this distribution
+++ * under the [CDDL or GPL Version 2] license." If you do not indicate a
+++ * single choice of license, a recipient has the option to distribute
+++ * your version of this file under either the CDDL, the GPL Version 2 or
+++ * to extend the choice of license to its licensees as provided above.
+++ * However, if you add GPL Version 2 code and therefore, elected the GPL
+++ * Version 2 license, then the option applies only if the new code is
+++ * made subject to such option by the copyright holder.
++ */
++
++ package org.netbeans.modules.java.editor.semantic;
++@@ -47,7 +58,6 @@ package org.netbeans.modules.java.editor.semantic;
++ import java.awt.event.ActionEvent;
++ import javax.swing.text.Document;
++ import javax.swing.text.JTextComponent;
++-import org.netbeans.api.editor.EditorActionNames;
++ import org.netbeans.editor.BaseAction;
++ import org.netbeans.lib.editor.util.swing.DocumentUtilities;
++ import org.netbeans.spi.editor.highlighting.HighlightsSequence;
++@@ -61,9 +71,8 @@ import org.openide.util.NbBundle;
++ */
++ public class GoToMarkOccurrencesAction extends BaseAction {
++
++- private static final String prevActionName = EditorActionNames.gotoPrevOccurrence;
++- private static final String nextActionName = EditorActionNames.gotoNextOccurrence;
++-
+++ private static final String prevActionName = "java-prev-marked-occurrence"; // NOI18N
+++ private static final String nextActionName = "java-next-marked-occurrence"; // NOI18N
++ static final String markedOccurence = "marked-occurrence"; // NOI18N
++
++ private final boolean next;
diff --cc debian/patches/netbeans-java.hints.patch
index 0000000,0000000..c2b5962
new file mode 100644
--- /dev/null
+++ b/debian/patches/netbeans-java.hints.patch
@@@ -1,0 -1,0 +1,14634 @@@
++From: Markus Koschany <apo at debian.org>
++Date: Mon, 26 Dec 2016 01:25:09 +0100
++Subject: netbeans java.hints
++
++Ugly workaround for a FTBFS due to missing OpenJDK 9 classes. Module was
++replaced with the one from 8.1.
++
++Forwarded: not-needed
++---
++ java.hints/nbproject/project.properties | 6 +-
++ java.hints/nbproject/project.xml | 23 +-
++ .../modules/java/hints/ArithmeticUtilities.java | 18 +-
++ .../modules/java/hints/AssignResultToVariable.java | 57 +-
++ .../java/hints/ConvertAnonymousToInner.java | 2 +-
++ .../java/hints/ExportNonAccessibleElement.java | 2 +-
++ .../modules/java/hints/InitializerCanBeStatic.java | 13 -
++ .../java/hints/LeakingThisInConstructor.java | 25 -
++ .../modules/java/hints/OrganizeImports.java | 21 +-
++ .../hints/OverridableMethodCallInConstructor.java | 3 +-
++ .../modules/java/hints/PrintStackTrace.java | 13 +-
++ .../modules/java/hints/SerialVersionUID.java | 20 +-
++ .../modules/java/hints/SideEffectVisitor.java | 10 +-
++ .../modules/java/hints/StandardJavacWarnings.java | 5 +-
++ .../netbeans/modules/java/hints/StaticImport.java | 24 +-
++ .../modules/java/hints/StringBuilderAppend.java | 67 +-
++ .../org/netbeans/modules/java/hints/SystemOut.java | 16 +-
++ .../modules/java/hints/ThreadDumpStack.java | 13 +-
++ .../modules/java/hints/WrongPackageSuggestion.java | 16 +-
++ .../java/hints/bugs/ArrayStringConversions.java | 28 +
++ .../modules/java/hints/bugs/BroadCatchBlock.java | 4 +-
++ .../modules/java/hints/bugs/Bundle.properties | 4 +-
++ .../modules/java/hints/bugs/CloneAndCloneable.java | 15 -
++ .../netbeans/modules/java/hints/bugs/NPECheck.java | 13 +-
++ .../modules/java/hints/bugs/SuspiciousToArray.java | 2 +-
++ .../java/hints/bugs/ThrowableNotThrown.java | 10 +-
++ .../modules/java/hints/bugs/TryCatchFinally.java | 145 +--
++ .../modules/java/hints/bugs/Unbalanced.java | 9 +-
++ .../java/hints/control/RemoveUnnecessary.java | 266 +-----
++ .../modules/java/hints/errors/AddCast.java | 2 +-
++ .../java/hints/errors/ChangeMethodReturnType.java | 2 +-
++ .../modules/java/hints/errors/ChangeType.java | 6 +-
++ .../modules/java/hints/errors/CreateElement.java | 79 +-
++ .../java/hints/errors/ErrorFixesFakeHint.java | 9 -
++ .../modules/java/hints/errors/ExtraCatch.java | 35 +-
++ .../hints/errors/ImplementAllAbstractMethods.java | 671 ++++++--------
++ .../modules/java/hints/errors/ImportClass.java | 51 +-
++ .../java/hints/errors/ImportClassCustomizer.java | 2 +-
++ .../java/hints/errors/MissingReturnStatement.java | 6 +-
++ .../hints/errors/OrigSurroundWithTryCatchFix.java | 29 +-
++ .../OverrideErrorMessage.java | 6 +-
++ .../modules/java/hints/errors/TypeErroneous.java | 4 +-
++ .../modules/java/hints/errors/Utilities.java | 974 +--------------------
++ .../java/hints/friendapi/SourceChangeUtils.java | 68 --
++ .../infrastructure/EmbeddedHintsCollector.java | 167 ----
++ .../hints/infrastructure/ErrorHintsProvider.java | 143 +--
++ .../modules/java/hints/introduce/Bundle.properties | 2 -
++ .../modules/java/hints/introduce/ErrorLabel.java | 141 +++
++ .../java/hints/introduce/FieldValidator.java | 179 ----
++ .../modules/java/hints/introduce/Flow.java | 5 +-
++ .../java/hints/introduce/InstanceRefFinder.java | 7 +-
++ .../java/hints/introduce/IntroduceConstantFix.java | 13 +-
++ .../IntroduceExpressionBasedMethodFix.java | 41 +-
++ .../java/hints/introduce/IntroduceFieldFix.java | 56 +-
++ .../java/hints/introduce/IntroduceFieldPanel.form | 42 +-
++ .../java/hints/introduce/IntroduceFieldPanel.java | 170 +---
++ .../java/hints/introduce/IntroduceHint.java | 99 ++-
++ .../java/hints/introduce/IntroduceMethodFix.java | 110 ++-
++ .../java/hints/introduce/IntroduceMethodPanel.form | 37 +-
++ .../java/hints/introduce/IntroduceMethodPanel.java | 212 ++---
++ .../java/hints/introduce/IntroduceVariableFix.java | 54 +-
++ .../java/hints/introduce/MemberSearchResult.java | 126 ---
++ .../java/hints/introduce/MemberValidator.java | 69 --
++ .../java/hints/introduce/MethodValidator.java | 253 ------
++ .../java/hints/introduce/NameChangeSupport.java | 200 -----
++ .../java/hints/introduce/ReferenceTransformer.java | 148 ----
++ .../java/hints/introduce/TargetDescription.java | 29 +-
++ .../jackpot/hintsimpl/LoggerStringConcat.java | 56 +-
++ .../modules/java/hints/jdk/AddUnderscores.java | 5 +-
++ .../modules/java/hints/jdk/Bundle.properties | 1 -
++ .../modules/java/hints/jdk/ConvertToARM.java | 275 ++----
++ .../java/hints/jdk/ConvertToDiamondBulkHint.java | 6 +-
++ .../modules/java/hints/jdk/ConvertToLambda.java | 46 +-
++ .../java/hints/jdk/ConvertToLambdaConverter.java | 96 +-
++ .../jdk/ConvertToLambdaPreconditionChecker.java | 116 +--
++ .../java/hints/jdk/ConvertToStringSwitch.java | 74 +-
++ .../modules/java/hints/jdk/IteratorToFor.java | 15 +-
++ .../modules/java/hints/jdk/JoinCatches.java | 100 +--
++ .../modules/java/hints/jdk/UnnecessaryBoxing.java | 88 +-
++ .../java/hints/jdk/UnnecessaryUnboxing.java | 52 +-
++ .../modules/java/hints/jdk/UseSpecificCatch.java | 122 +--
++ .../jdk/mapreduce/ForLoopToFunctionalHint.java | 10 +-
++ .../hints/jdk/mapreduce/PreconditionsChecker.java | 25 +-
++ .../hints/jdk/mapreduce/ProspectiveOperation.java | 14 +-
++ .../java/hints/jdk/mapreduce/Refactorer.java | 59 +-
++ .../java/hints/jdk/mapreduce/TreeUtilities.java | 6 +-
++ .../java/hints/perf/StringBuffer2Builder.java | 7 +-
++ .../java/hints/resources/default.properties | 37 -
++ .../java/hints/resources/enabled.properties | 37 -
++ .../netbeans/modules/java/hints/resources/ide.css | 63 +-
++ .../modules/java/hints/resources/jdk5.properties | 37 -
++ .../modules/java/hints/resources/jdk7.properties | 37 -
++ .../modules/java/hints/resources/jdk8.properties | 37 -
++ .../modules/java/hints/resources/layer.xml | 4 +-
++ .../java/hints/suggestions/ConstantNameHint.java | 7 +-
++ .../java/hints/suggestions/ConvertIfToSwitch.java | 30 -
++ .../hints/suggestions/ExpandEnhancedForLoop.java | 18 +-
++ .../hints/suggestions/ExpectedTypeResolver.java | 12 +-
++ .../java/hints/suggestions/IfToSwitchSupport.java | 103 +--
++ .../modules/java/hints/suggestions/Ifs.java | 20 +-
++ .../modules/java/hints/suggestions/Lambda.java | 165 +---
++ .../java/hints/suggestions/TooStrongCast.java | 67 +-
++ .../modules/java/hints/threading/Bundle.properties | 2 +
++ .../modules/java/hints/threading/Tiny.java | 26 +
++ .../java/hints/threading/UnlockOutsideFinally.java | 226 -----
++ .../modules/java/hints/ui/ClassNameList.java | 16 +-
++ .../testImplementAbstractMethodsHint1-hints.pass | 3 +-
++ .../testImplementAbstractMethodsHint1.pass | 20 +-
++ .../testImplementAbstractMethodsHint11-hints.pass | 2 +-
++ .../testImplementAbstractMethodsHint2-hints.pass | 2 +-
++ .../testImplementAbstractMethodsHint2.pass | 1 -
++ .../testImplementAbstractMethodsHint3-hints.pass | 2 +-
++ .../testImplementAbstractMethodsHint3.pass | 3 +-
++ .../testImplementAbstractMethodsHint4-hints.pass | 3 +-
++ .../testImplementAbstractMethodsHint4.pass | 3 +-
++ .../testImplementAbstractMethodsHint5-hints.pass | 3 +-
++ .../testImplementAbstractMethodsHint5.pass | 3 +-
++ .../testImplementAbstractMethodsHint6-hints.pass | 2 +-
++ .../testImplementAbstractMethodsHint6.pass | 2 +-
++ .../testImplementAbstractMethodsHint7-hints.pass | 3 +-
++ .../testImplementAbstractMethodsHint7.pass | 4 -
++ .../testImplementAbstractMethodsHint8-hints.pass | 3 +-
++ .../testImplementAbstractMethodsHint8.pass | 2 -
++ .../testImplementDefaultMethods1-hints.pass | 2 -
++ .../testImplementDefaultMethods1.pass | 17 -
++ .../testImplementDefaultMethods2-hints.pass | 2 -
++ .../testImplementDefaultMethods2.pass | 21 -
++ .../testImplementEnumMethods-hints.pass | 1 -
++ .../ErrorHintsTest/testImplementEnumMethods.pass | 29 -
++ .../testMakeClassAbstract1-hints.pass | 2 +-
++ .../testMakeClassAbstract2-hints.pass | 2 +-
++ .../testMakeClassAbstract3-hints.pass | 2 +-
++ .../testNonAbstractClass85806-hints.pass | 2 +-
++ .../ErrorHintsProviderTest/testShortErrors7.pass | 6 +-
++ .../test/java/hints/ImplementDefaultMethods1.java | 9 -
++ .../test/java/hints/ImplementDefaultMethods2.java | 9 -
++ .../test/java/hints/ImplementEnumMethods.java | 14 -
++ .../editor/codegen/ImplementGeneratorAccessor.java | 59 --
++ .../java/hints/ArithmeticUtilitiesTest.java | 34 +-
++ .../java/hints/AssignResultToVariableTest.java | 21 -
++ .../modules/java/hints/IllegalInstanceOfTest.java | 18 -
++ .../modules/java/hints/SerialVersionUIDTest.java | 15 +-
++ .../modules/java/hints/StaticImportTest.java | 21 +-
++ .../java/hints/StringBuilderAppendTest.java | 8 +-
++ .../java/hints/bugs/BroadCatchBlockTest.java | 2 +-
++ .../java/hints/bugs/MalformedFormatStringTest.java | 2 +-
++ .../modules/java/hints/bugs/NPECheckTest.java | 13 +-
++ .../java/hints/bugs/ThrowableNotThrownTest.java | 34 -
++ .../java/hints/errors/Bundle_test.properties | 8 -
++ .../modules/java/hints/errors/ErrorHintsTest.java | 127 +--
++ .../errors/ImplementAllAbstractMethodsTest.java | 28 +-
++ .../hints/errors/MissingReturnStatementTest.java | 20 +-
++ .../hints/errors/RemoveInvalidModifierTest.java | 4 +-
++ .../modules/java/hints/errors/UtilitiesTest.java | 310 +------
++ .../java/hints/errors/empty-class-template.xml | 2 +-
++ .../java/hints/errors/only-imports-layer.xml | 2 +-
++ .../java/hints/infrastructure/HintsTestBase.java | 8 +-
++ .../java/hints/introduce/IntroduceHintTest.java | 6 +-
++ .../jackpot/hintsimpl/LoggerStringConcatTest.java | 2 +-
++ .../modules/java/hints/jdk/Bundle_test.properties | 5 -
++ .../modules/java/hints/jdk/ConvertToARMTest.java | 282 ------
++ .../hints/jdk/ConvertToDiamondBulkHintTest.java | 20 +-
++ .../java/hints/jdk/ConvertToLambdaTest.java | 129 +--
++ .../java/hints/jdk/ConvertToStringSwitchTest.java | 9 +-
++ .../java/hints/jdk/UseSpecificCatchTest.java | 82 --
++ .../jdk/mapreduce/ForLoopToFunctionalHintTest.java | 28 +-
++ .../java/hints/suggestions/Bundle_test.properties | 3 -
++ .../hints/suggestions/ConvertIfToSwitchTest.java | 162 ----
++ .../suggestions/ExpandEnhancedForLoopTest.java | 9 +-
++ .../modules/java/hints/suggestions/LambdaTest.java | 213 -----
++ 170 files changed, 1732 insertions(+), 7347 deletions(-)
++ rename java.hints/src/org/netbeans/modules/java/hints/{friendapi => errors}/OverrideErrorMessage.java (94%)
++ delete mode 100644 java.hints/src/org/netbeans/modules/java/hints/friendapi/SourceChangeUtils.java
++ delete mode 100644 java.hints/src/org/netbeans/modules/java/hints/infrastructure/EmbeddedHintsCollector.java
++ create mode 100644 java.hints/src/org/netbeans/modules/java/hints/introduce/ErrorLabel.java
++ delete mode 100644 java.hints/src/org/netbeans/modules/java/hints/introduce/FieldValidator.java
++ delete mode 100644 java.hints/src/org/netbeans/modules/java/hints/introduce/MemberSearchResult.java
++ delete mode 100644 java.hints/src/org/netbeans/modules/java/hints/introduce/MemberValidator.java
++ delete mode 100644 java.hints/src/org/netbeans/modules/java/hints/introduce/MethodValidator.java
++ delete mode 100644 java.hints/src/org/netbeans/modules/java/hints/introduce/NameChangeSupport.java
++ delete mode 100644 java.hints/src/org/netbeans/modules/java/hints/introduce/ReferenceTransformer.java
++ delete mode 100644 java.hints/src/org/netbeans/modules/java/hints/threading/UnlockOutsideFinally.java
++ delete mode 100644 java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementDefaultMethods1-hints.pass
++ delete mode 100644 java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementDefaultMethods1.pass
++ delete mode 100644 java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementDefaultMethods2-hints.pass
++ delete mode 100644 java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementDefaultMethods2.pass
++ delete mode 100644 java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementEnumMethods-hints.pass
++ delete mode 100644 java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementEnumMethods.pass
++ delete mode 100644 java.hints/test/unit/data/org/netbeans/test/java/hints/ImplementDefaultMethods1.java
++ delete mode 100644 java.hints/test/unit/data/org/netbeans/test/java/hints/ImplementDefaultMethods2.java
++ delete mode 100644 java.hints/test/unit/data/org/netbeans/test/java/hints/ImplementEnumMethods.java
++ delete mode 100644 java.hints/test/unit/src/org/netbeans/modules/java/editor/codegen/ImplementGeneratorAccessor.java
++ delete mode 100644 java.hints/test/unit/src/org/netbeans/modules/java/hints/suggestions/ConvertIfToSwitchTest.java
++
++diff --git a/java.hints/nbproject/project.properties b/java.hints/nbproject/project.properties
++index 566fe57a6..c4bb767c4 100644
++--- a/java.hints/nbproject/project.properties
+++++ b/java.hints/nbproject/project.properties
++@@ -40,9 +40,9 @@
++ # Version 2 license, then the option applies only if the new code is
++ # made subject to such option by the copyright holder.
++
++-spec.version.base=1.82.1
+++spec.version.base=1.80.1
++
++-javac.source=1.8
+++javac.source=1.7
++
++ nbroot=../..
++ jbrowse.external=${nbroot}/retouche
++@@ -101,5 +101,3 @@ test.config.commit.includes=\
++ org/netbeans/modules/java/hints/bugs/CollectionRemoveTest.class
++
++ test.runner=junit
++-
++-test-unit-sys-prop.hints-tools.jar.location=${tools.jar}
++diff --git a/java.hints/nbproject/project.xml b/java.hints/nbproject/project.xml
++index 42f1894d3..4e438b70d 100644
++--- a/java.hints/nbproject/project.xml
+++++ b/java.hints/nbproject/project.xml
++@@ -98,7 +98,7 @@ made subject to such option by the copyright holder.
++ <build-prerequisite/>
++ <compile-dependency/>
++ <run-dependency>
++- <specification-version>8.15</specification-version>
+++ <specification-version>8.0</specification-version>
++ </run-dependency>
++ </dependency>
++ <dependency>
++@@ -107,7 +107,7 @@ made subject to such option by the copyright holder.
++ <compile-dependency/>
++ <run-dependency>
++ <release-version>1</release-version>
++- <implementation-version/>
+++ <specification-version>0.26</specification-version>
++ </run-dependency>
++ </dependency>
++ <dependency>
++@@ -442,9 +442,7 @@ made subject to such option by the copyright holder.
++ <code-name-base>org.openide.loaders</code-name-base>
++ <build-prerequisite/>
++ <compile-dependency/>
++- <run-dependency>
++- <specification-version>7.61</specification-version>
++- </run-dependency>
+++ <run-dependency><specification-version>7.61</specification-version></run-dependency>
++ </dependency>
++ <dependency>
++ <code-name-base>org.openide.modules</code-name-base>
++@@ -471,7 +469,7 @@ made subject to such option by the copyright holder.
++ </run-dependency>
++ </dependency>
++ <dependency>
++- <code-name-base>org.openide.util</code-name-base>
+++ <code-name-base>org.openide.util.ui</code-name-base>
++ <build-prerequisite/>
++ <compile-dependency/>
++ <run-dependency>
++@@ -479,19 +477,19 @@ made subject to such option by the copyright holder.
++ </run-dependency>
++ </dependency>
++ <dependency>
++- <code-name-base>org.openide.util.lookup</code-name-base>
+++ <code-name-base>org.openide.util</code-name-base>
++ <build-prerequisite/>
++ <compile-dependency/>
++ <run-dependency>
++- <specification-version>8.0</specification-version>
+++ <specification-version>9.3</specification-version>
++ </run-dependency>
++ </dependency>
++ <dependency>
++- <code-name-base>org.openide.util.ui</code-name-base>
+++ <code-name-base>org.openide.util.lookup</code-name-base>
++ <build-prerequisite/>
++ <compile-dependency/>
++ <run-dependency>
++- <specification-version>9.3</specification-version>
+++ <specification-version>8.0</specification-version>
++ </run-dependency>
++ </dependency>
++ <dependency>
++@@ -604,10 +602,7 @@ made subject to such option by the copyright holder.
++ </test-dependency>
++ </test-type>
++ </test-dependencies>
++- <friend-packages>
++- <friend>org.netbeans.modules.jshell.support</friend>
++- <package>org.netbeans.modules.java.hints.friendapi</package>
++- </friend-packages>
+++ <public-packages/>
++ </data>
++ </configuration>
++ </project>
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/ArithmeticUtilities.java b/java.hints/src/org/netbeans/modules/java/hints/ArithmeticUtilities.java
++index 84407762d..6f5750b88 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/ArithmeticUtilities.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/ArithmeticUtilities.java
++@@ -51,7 +51,6 @@ import com.sun.source.tree.LiteralTree;
++ import com.sun.source.tree.MemberSelectTree;
++ import com.sun.source.tree.NewArrayTree;
++ import com.sun.source.tree.NewClassTree;
++-import com.sun.source.tree.StatementTree;
++ import com.sun.source.tree.Tree;
++ import com.sun.source.tree.TypeCastTree;
++ import com.sun.source.tree.UnaryTree;
++@@ -461,18 +460,9 @@ public class ArithmeticUtilities {
++ obj = UNKNOWN;
++ }
++ }
++- EVAL: if (obj == null) {
+++ if (obj == null) {
++ TreePath varPath = info.getTrees().getPath(el);
++ if (varPath != null && varPath.getLeaf().getKind() == Tree.Kind.VARIABLE) {
++- // #262309: if variable is errnoeously referenced from its own initializer, we must not recurse.
++- for (Tree t : path) {
++- if (t == varPath.getLeaf()) {
++- break EVAL;
++- }
++- if (StatementTree.class.isAssignableFrom(t.getKind().asInterface())) {
++- break;
++- }
++- }
++ VariableTree vt = (VariableTree)varPath.getLeaf();
++ if (vt.getInitializer() != null) {
++ VisitorImpl recurse = new VisitorImpl(info, true, enhanceProcessing);
++@@ -965,8 +955,6 @@ public class ArithmeticUtilities {
++ if (!convertTo.getKind().isPrimitive()) {
++ if (Utilities.isPrimitiveWrapperType(convertTo)) {
++ convertTo = info.getTypes().unboxedType(convertTo);
++- } else if (isNull(val)) {
++- return val;
++ } else {
++ // possibly a String ?
++ if (val instanceof String && convertTo.getKind() == TypeKind.DECLARED) {
++@@ -975,8 +963,8 @@ public class ArithmeticUtilities {
++ return val;
++ }
++ }
++- return null;
++- }
+++ return null;
+++ }
++ }
++ switch (convertTo.getKind()) {
++ case BOOLEAN:
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/AssignResultToVariable.java b/java.hints/src/org/netbeans/modules/java/hints/AssignResultToVariable.java
++index 126790327..7b5bf6951 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/AssignResultToVariable.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/AssignResultToVariable.java
++@@ -45,7 +45,6 @@ package org.netbeans.modules.java.hints;
++
++ import com.sun.source.tree.BlockTree;
++ import com.sun.source.tree.CompilationUnitTree;
++-import com.sun.source.tree.ErroneousTree;
++ import com.sun.source.tree.ExpressionStatementTree;
++ import com.sun.source.tree.ExpressionTree;
++ import com.sun.source.tree.MethodInvocationTree;
++@@ -75,19 +74,21 @@ import javax.swing.SwingUtilities;
++ import javax.swing.text.BadLocationException;
++ import javax.swing.text.Document;
++ import javax.swing.text.Position;
+++import javax.swing.text.Position.Bias;
++ import org.netbeans.api.java.lexer.JavaTokenId;
++ import org.netbeans.api.java.source.Task;
++ import org.netbeans.api.java.source.CompilationInfo;
++ import org.netbeans.api.java.source.JavaSource;
++ import org.netbeans.api.java.source.JavaSource.Phase;
++ import org.netbeans.api.java.source.ModificationResult;
+++import org.netbeans.api.java.source.ModificationResult.Difference;
++ import org.netbeans.api.java.source.TreeMaker;
++ import org.netbeans.api.java.source.TreePathHandle;
++-import org.netbeans.api.java.source.TypeMirrorHandle;
++ import org.netbeans.api.java.source.WorkingCopy;
++ import org.netbeans.api.java.source.support.CaretAwareJavaSourceTaskFactory;
++ import org.netbeans.api.lexer.TokenSequence;
++ import org.netbeans.lib.editor.util.swing.DocumentUtilities;
+++import org.netbeans.modules.editor.NbEditorUtilities;
++ import org.netbeans.modules.java.editor.rename.InstantRenamePerformer;
++ import org.netbeans.modules.java.hints.errors.Utilities;
++ import org.netbeans.modules.java.hints.spi.AbstractHint;
++@@ -99,6 +100,7 @@ import org.openide.cookies.EditorCookie;
++ import org.openide.filesystems.FileObject;
++ import org.openide.loaders.DataObject;
++ import org.openide.loaders.DataObjectNotFoundException;
+++import org.openide.text.NbDocument;
++ import org.openide.util.Exceptions;
++ import org.openide.util.NbBundle;
++
++@@ -120,8 +122,6 @@ public class AssignResultToVariable extends AbstractHint {
++ try {
++ int offset = CaretAwareJavaSourceTaskFactory.getLastPosition(info.getFileObject());
++ boolean verifyOffset = true;
++- boolean error = false;
++-
++ if (treePath.getLeaf().getKind() == Kind.BLOCK) {
++ StatementTree found = findStatementForgiving(info, (BlockTree) treePath.getLeaf(), offset);
++
++@@ -130,18 +130,12 @@ public class AssignResultToVariable extends AbstractHint {
++
++ ExpressionStatementTree est = (ExpressionStatementTree) found;
++ Kind innerKind = est.getExpression().getKind();
++- if (innerKind == Kind.ERRONEOUS) {
++- ErroneousTree err = (ErroneousTree)est.getExpression();
++- if (err.getErrorTrees().isEmpty()) {
++- return null;
++- }
++- treePath = new TreePath(new TreePath(treePath, found), err.getErrorTrees().get(0));
++- error = true;
++- } else if (innerKind == Kind.METHOD_INVOCATION || innerKind == Kind.NEW_CLASS) {
++- treePath = new TreePath(new TreePath(treePath, found), est.getExpression());
++- } else {
+++
+++ if (innerKind != Kind.METHOD_INVOCATION && innerKind != Kind.NEW_CLASS) {
++ return null;
++ }
+++
+++ treePath = new TreePath(new TreePath(treePath, found), est.getExpression());
++ verifyOffset = false;
++ }
++
++@@ -155,7 +149,7 @@ public class AssignResultToVariable extends AbstractHint {
++ exprTree = ((MethodInvocationTree)tree).getMethodSelect();
++ } else if (kind == Kind.NEW_CLASS) {
++ exprTree = tree;
++- }
+++ }
++
++ long start = info.getTrees().getSourcePositions().getStartPosition(info.getCompilationUnit(), exprTree);
++ long end = info.getTrees().getSourcePositions().getEndPosition(info.getCompilationUnit(), exprTree);
++@@ -177,22 +171,18 @@ public class AssignResultToVariable extends AbstractHint {
++
++ Element elem = info.getTrees().getElement(treePath);
++
++- if (!error && (elem == null || (elem.getKind() != ElementKind.METHOD && elem.getKind() != ElementKind.CONSTRUCTOR))) {
+++ if (elem == null || (elem.getKind() != ElementKind.METHOD && elem.getKind() != ElementKind.CONSTRUCTOR)) {
++ return null;
++ }
++- TypeMirror base = info.getTrees().getTypeMirror(treePath);
++- TypeMirror type = Utilities.resolveTypeForDeclaration(
++- info, base
++- );
+++
+++ TypeMirror type = info.getTrees().getTypeMirror(treePath);
++
++ // could use Utilities.isValidType, but NOT_ACCEPTABLE_TYPE_KINDS does the check as well
++ if (type == null || NOT_ACCEPTABLE_TYPE_KINDS.contains(type.getKind())) {
++ return null;
++ }
++
++- List<Fix> fixes = Collections.<Fix>singletonList(new FixImpl(
++- info.getFileObject(), info.getDocument(), TreePathHandle.create(treePath, info),
++- TypeMirrorHandle.create(type)));
+++ List<Fix> fixes = Collections.<Fix>singletonList(new FixImpl(info.getFileObject(), info.getDocument(), TreePathHandle.create(treePath, info)));
++ String description = NbBundle.getMessage(AssignResultToVariable.class, "HINT_AssignResultToVariable");
++
++ return Collections.singletonList(ErrorDescriptionFactory.createErrorDescription(getSeverity().toEditorSeverity(), description, fixes, info.getFileObject(), offset, offset));
++@@ -329,13 +319,11 @@ public class AssignResultToVariable extends AbstractHint {
++ private Document doc;
++ private TreePathHandle tph;
++ private Position pos;
++- private TypeMirrorHandle typeHandle;
++
++- public FixImpl(FileObject file, Document doc, TreePathHandle tph, TypeMirrorHandle typeHandle) {
+++ public FixImpl(FileObject file, Document doc, TreePathHandle tph) {
++ this.file = file;
++ this.doc = doc;
++ this.tph = tph;
++- this.typeHandle = typeHandle;
++ }
++
++ public String getText() {
++@@ -374,25 +362,23 @@ public class AssignResultToVariable extends AbstractHint {
++ return ;
++ }
++
++- TypeMirror type = typeHandle.resolve(copy);
++- if (type == null || NOT_ACCEPTABLE_TYPE_KINDS.contains(type.getKind())) {
++- return;
+++ TypeMirror type = copy.getTrees().getTypeMirror(tp);
+++ Element el = copy.getTrees().getElement(tp);
+++
+++ if (el == null || type == null || NOT_ACCEPTABLE_TYPE_KINDS.contains(type.getKind())) {
+++ return ;
++ }
+++
++ Tree t = tp.getLeaf();
++ boolean isAnonymous = false; //handle anonymous classes #138223
++ ExpressionTree identifier = null;
++ if (t instanceof NewClassTree) {
++- Element el = copy.getTrees().getElement(tp);
++-
++- if (el == null) {
++- return ;
++- }
++ NewClassTree nct = ((NewClassTree)t);
++ isAnonymous = nct.getClassBody() != null || el.getKind().isInterface() || el.getModifiers().contains(Modifier.ABSTRACT);
++ identifier = nct.getIdentifier();
++ }
++
++- type = Utilities.resolveTypeForDeclaration(copy, type);
+++ type = Utilities.resolveCapturedType(copy, type);
++
++ TreeMaker make = copy.getTreeMaker();
++
++@@ -405,7 +391,6 @@ public class AssignResultToVariable extends AbstractHint {
++ copy.tag(varType, VAR_TYPE_TAG);
++
++ copy.rewrite(tp.getParentPath().getLeaf(), var);
++-
++ }
++ });
++
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/ConvertAnonymousToInner.java b/java.hints/src/org/netbeans/modules/java/hints/ConvertAnonymousToInner.java
++index 8d9d162be..422f7c977 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/ConvertAnonymousToInner.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/ConvertAnonymousToInner.java
++@@ -415,7 +415,7 @@ public class ConvertAnonymousToInner extends AbstractHint {
++ Element currentElement = copy.getTrees().getElement(newClassToConvert);
++ boolean errorConstructor = currentElement == null || currentElement.asType() == null || currentElement.asType().getKind() == TypeKind.ERROR;
++ boolean isEnclosedByStaticElem = false;
++- while (currentElement != null && currentElement.getEnclosingElement() != null) {
+++ while (currentElement != null && currentElement.getEnclosingElement() != null && currentElement.getKind() != ElementKind.METHOD) {
++ if (currentElement.getModifiers().contains(Modifier.STATIC)) {
++ isEnclosedByStaticElem = true; //enclosing method is static
++ break;
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/ExportNonAccessibleElement.java b/java.hints/src/org/netbeans/modules/java/hints/ExportNonAccessibleElement.java
++index fbc5a648c..9f666ba51 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/ExportNonAccessibleElement.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/ExportNonAccessibleElement.java
++@@ -96,7 +96,7 @@ implements ElementVisitor<Boolean,Void>, TypeVisitor<Boolean,Void> {
++
++ /** Creates a new instance of AddOverrideAnnotation */
++ public ExportNonAccessibleElement() {
++- super( true, true, AbstractHint.HintSeverity.WARNING, "NonPublicExported" );
+++ super( true, true, AbstractHint.HintSeverity.WARNING );
++ }
++
++ public Set<Kind> getTreeKinds() {
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/InitializerCanBeStatic.java b/java.hints/src/org/netbeans/modules/java/hints/InitializerCanBeStatic.java
++index 3add986ff..83d8d624e 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/InitializerCanBeStatic.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/InitializerCanBeStatic.java
++@@ -45,10 +45,7 @@ import com.sun.source.tree.BlockTree;
++ import com.sun.source.tree.ClassTree;
++ import com.sun.source.tree.Tree;
++ import com.sun.source.util.TreePath;
++-import javax.lang.model.element.Element;
++ import javax.lang.model.element.Modifier;
++-import javax.lang.model.element.NestingKind;
++-import javax.lang.model.element.TypeElement;
++ import org.netbeans.api.java.source.GeneratorUtilities;
++ import org.netbeans.api.java.source.TreeMaker;
++ import org.netbeans.api.java.source.TreePathHandle;
++@@ -92,16 +89,6 @@ public class InitializerCanBeStatic {
++ if (!(l instanceof ClassTree)) {
++ return null;
++ }
++- Element el = ctx.getInfo().getTrees().getElement(parentPath);
++- if (el == null || !el.getKind().isClass()) {
++- return null;
++- }
++- TypeElement tel = (TypeElement)el;
++- // do not suggest for anonymous classes, local classes or members which are not static.
++- if (tel.getNestingKind() != NestingKind.TOP_LEVEL &&
++- (tel.getNestingKind() != NestingKind.MEMBER || !tel.getModifiers().contains(Modifier.STATIC))) {
++- return null;
++- }
++ InstanceRefFinder finder = new InstanceRefFinder(ctx.getInfo(), path);
++ finder.process();
++ if (finder.containsInstanceReferences() || finder.containsReferencesToSuper()) {
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/LeakingThisInConstructor.java b/java.hints/src/org/netbeans/modules/java/hints/LeakingThisInConstructor.java
++index a49a45ef2..755ab3fa0 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/LeakingThisInConstructor.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/LeakingThisInConstructor.java
++@@ -43,18 +43,13 @@
++ package org.netbeans.modules.java.hints;
++
++ import com.sun.source.tree.IdentifierTree;
++-import com.sun.source.tree.MemberSelectTree;
++-import com.sun.source.tree.ParenthesizedTree;
++ import com.sun.source.tree.Tree;
++ import com.sun.source.tree.Tree.Kind;
++ import com.sun.source.util.TreePath;
++ import java.util.Map;
++ import javax.lang.model.element.Element;
++-import javax.lang.model.element.ElementKind;
++ import org.netbeans.api.java.source.CompilationInfo;
++ import org.netbeans.modules.java.hints.errors.Utilities;
++-import org.netbeans.modules.java.hints.introduce.Flow;
++-import org.netbeans.modules.java.hints.introduce.Flow.FlowResult;
++ import org.netbeans.spi.java.hints.Hint;
++ import org.netbeans.spi.java.hints.TriggerPattern;
++ import org.netbeans.spi.java.hints.TriggerTreeKind;
++@@ -71,7 +66,6 @@ import org.openide.util.NbBundle;
++ @Hint(displayName = "#DN_org.netbeans.modules.java.hints.LeakingThisInConstructor", description = "#DESC_org.netbeans.modules.java.hints.LeakingThisInConstructor", category="initialization", suppressWarnings={"LeakingThisInConstructor", "", "ThisEscapedInObjectConstruction"}, options=Options.QUERY)
++ public class LeakingThisInConstructor {
++ private static final String THIS_KEYWORD = "this"; // NOI18N
++- private static final String SUPER_KEYWORD = "super"; // NOI18N
++ public LeakingThisInConstructor() {
++ }
++
++@@ -109,25 +103,6 @@ public class LeakingThisInConstructor {
++ if (!Utilities.isInConstructor(ctx)) {
++ return null;
++ }
++- TreePath storePath = variables.get("$v");
++- Tree t = storePath.getLeaf();
++- if (t.getKind() == Tree.Kind.MEMBER_SELECT) {
++- t = ((MemberSelectTree)t).getExpression();
++- while (t != null && t.getKind() == Tree.Kind.PARENTHESIZED) {
++- t = ((ParenthesizedTree)t).getExpression();
++- }
++- if (t == null) {
++- return null;
++- } else if (t.getKind() == Tree.Kind.IDENTIFIER) {
++- IdentifierTree it = (IdentifierTree)t;
++- if (it.getName().contentEquals(THIS_KEYWORD) ||
++- it.getName().contentEquals(SUPER_KEYWORD)) {
++- return null;
++- }
++- }
++- } else {
++- return null;
++- }
++ return ErrorDescriptionFactory.forName(ctx, ctx.getPath(),
++ NbBundle.getMessage(
++ LeakingThisInConstructor.class,
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/OrganizeImports.java b/java.hints/src/org/netbeans/modules/java/hints/OrganizeImports.java
++index 88a3e6121..4324ce699 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/OrganizeImports.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/OrganizeImports.java
++@@ -68,7 +68,6 @@ import com.sun.source.util.TreePath;
++ import com.sun.source.util.TreePathScanner;
++ import com.sun.source.util.Trees;
++ import com.sun.tools.javac.code.Scope;
++-import com.sun.tools.javac.code.Symbol;
++ import com.sun.tools.javac.tree.JCTree.JCCompilationUnit;
++ import com.sun.tools.javac.util.Name;
++
++@@ -310,20 +309,20 @@ public class OrganizeImports {
++ }
++
++ private Element global(Element element, Set<Element> stars) {
++- for (Symbol sym : ((JCCompilationUnit)cut).namedImportScope.getSymbolsByName((Name)element.getSimpleName())) {
++- if (element == sym || element.asType().getKind() == TypeKind.ERROR && element.getKind() == sym.getKind())
++- return sym;
+++ for (Scope.Entry e = ((JCCompilationUnit)cut).namedImportScope.lookup((Name)element.getSimpleName()); e.scope != null; e = e.next()) {
+++ if (element == e.sym || element.asType().getKind() == TypeKind.ERROR && element.getKind() == e.sym.getKind())
+++ return e.sym;
++ }
++- for (Symbol sym : ((JCCompilationUnit)cut).packge.members().getSymbolsByName((Name)element.getSimpleName())) {
++- if (element == sym || element.asType().getKind() == TypeKind.ERROR && element.getKind() == sym.getKind())
++- return sym;
+++ for (Scope.Entry e = ((JCCompilationUnit)cut).packge.members().lookup((Name)element.getSimpleName()); e.scope != null; e = e.next()) {
+++ if (element == e.sym || element.asType().getKind() == TypeKind.ERROR && element.getKind() == e.sym.getKind())
+++ return e.sym;
++ }
++- for (Symbol sym : ((JCCompilationUnit)cut).starImportScope.getSymbolsByName((Name)element.getSimpleName())) {
++- if (element == sym || element.asType().getKind() == TypeKind.ERROR && element.getKind() == sym.getKind()) {
+++ for (Scope.Entry e = ((JCCompilationUnit)cut).starImportScope.lookup((Name)element.getSimpleName()); e.scope != null; e = e.next()) {
+++ if (element == e.sym || element.asType().getKind() == TypeKind.ERROR && element.getKind() == e.sym.getKind()) {
++ if (stars != null) {
++- stars.add(sym.owner);
+++ stars.add(e.sym.owner);
++ }
++- return sym;
+++ return e.sym;
++ }
++ }
++ return null;
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/OverridableMethodCallInConstructor.java b/java.hints/src/org/netbeans/modules/java/hints/OverridableMethodCallInConstructor.java
++index 35506d062..2f2409ca0 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/OverridableMethodCallInConstructor.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/OverridableMethodCallInConstructor.java
++@@ -111,8 +111,7 @@ public class OverridableMethodCallInConstructor {
++ if (!info.getTypes().isSubtype(classEl.asType(), classElement.asType())) {
++ return null;
++ }
++- // classEl exts classElemenet - either classElement == classEl, or classElement cannot be final anyway
++- if (classEl.getModifiers().contains(Modifier.FINAL)) {
+++ if (classElement.getModifiers().contains(Modifier.FINAL)) {
++ return null;
++ }
++
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/PrintStackTrace.java b/java.hints/src/org/netbeans/modules/java/hints/PrintStackTrace.java
++index 75f96e078..517fbb450 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/PrintStackTrace.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/PrintStackTrace.java
++@@ -52,7 +52,6 @@ import java.util.List;
++ import org.netbeans.api.java.source.CompilationInfo;
++ import org.netbeans.api.java.source.TreePathHandle;
++ import org.netbeans.api.java.source.WorkingCopy;
++-import org.netbeans.modules.java.hints.errors.Utilities;
++ import org.netbeans.spi.java.hints.ConstraintVariableType;
++ import org.netbeans.spi.java.hints.Hint;
++ import org.netbeans.spi.java.hints.TriggerPattern;
++@@ -110,7 +109,17 @@ TreePathHandle.create (treePath, compilationInfo)
++ protected void performRewrite(TransformationContext ctx) {
++ WorkingCopy wc = ctx.getWorkingCopy();
++ TreePath tp = ctx.getPath();
++- Utilities.removeStatement(wc, tp.getParentPath ());
+++ Tree expressionStatementTree = tp.getParentPath ().getLeaf ();
+++ Tree parent2 = tp.getParentPath ().getParentPath ().getLeaf ();
+++ if (!(parent2 instanceof BlockTree)) return;
+++ BlockTree blockTree = (BlockTree) parent2;
+++ List<? extends StatementTree> statements = blockTree.getStatements ();
+++ List<StatementTree> newStatements = new ArrayList<StatementTree> ();
+++ for (StatementTree statement : statements)
+++ if (statement != expressionStatementTree)
+++ newStatements.add (statement);
+++ BlockTree newBlockTree = wc.getTreeMaker ().Block (newStatements, blockTree.isStatic());
+++ wc.rewrite (blockTree, newBlockTree);
++ }
++ } // End of FixImpl class
++ }
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/SerialVersionUID.java b/java.hints/src/org/netbeans/modules/java/hints/SerialVersionUID.java
++index 809f32e86..4fdd405fc 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/SerialVersionUID.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/SerialVersionUID.java
++@@ -1,7 +1,7 @@
++ /*
++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++ *
++- * Copyright 2010, 2016 Oracle and/or its affiliates. All rights reserved.
+++ * Copyright 2010 Oracle and/or its affiliates. All rights reserved.
++ *
++ * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++ * Other names may be trademarks of their respective owners.
++@@ -23,19 +23,6 @@
++ * License Header, with the fields enclosed by brackets [] replaced by
++ * your own identifying information:
++ * "Portions Copyrighted [year] [name of copyright owner]"
++- *
++- * If you wish your version of this file to be governed by only the CDDL
++- * or only the GPL Version 2, indicate your decision by adding
++- * "[Contributor] elects to include this software in this distribution
++- * under the [CDDL or GPL Version 2] license." If you do not indicate a
++- * single choice of license, a recipient has the option to distribute
++- * your version of this file under either the CDDL, the GPL Version 2 or
++- * to extend the choice of license to its licensees as provided above.
++- * However, if you add GPL Version 2 code and therefore, elected the GPL
++- * Version 2 license, then the option applies only if the new code is
++- * made subject to such option by the copyright holder.
++- *
++- * Contributor(s):
++ */
++ package org.netbeans.modules.java.hints;
++
++@@ -59,7 +46,7 @@ import org.netbeans.api.java.source.GeneratorUtilities;
++ import org.netbeans.api.java.source.TreeMaker;
++ import org.netbeans.api.java.source.TreePathHandle;
++ import org.netbeans.api.java.source.TreeUtilities;
++-import org.netbeans.modules.java.hints.friendapi.OverrideErrorMessage;
+++import org.netbeans.modules.java.hints.errors.OverrideErrorMessage;
++ import org.netbeans.modules.java.hints.spi.ErrorRule;
++ import org.netbeans.modules.java.hints.spi.ErrorRule.Data;
++ import org.netbeans.modules.java.hints.spi.support.FixFactory;
++@@ -70,7 +57,6 @@ import org.openide.util.NbBundle;
++ import static javax.lang.model.element.Modifier.FINAL;
++ import static javax.lang.model.element.Modifier.PRIVATE;
++ import static javax.lang.model.element.Modifier.STATIC;
++-import javax.tools.Diagnostic;
++
++ /**
++ * @author Michal Hlavac
++@@ -99,7 +85,7 @@ public class SerialVersionUID implements ErrorRule<Void>, OverrideErrorMessage<V
++ }
++
++ @Override
++- public String createMessage(CompilationInfo info, Diagnostic d, int offset, TreePath treePath, Data data) {
+++ public String createMessage(CompilationInfo info, String diagnosticKey, int offset, TreePath treePath, Data data) {
++ if (treePath == null || !TreeUtilities.CLASS_TREE_KINDS.contains(treePath.getLeaf().getKind())) {
++ return null;
++ }
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/SideEffectVisitor.java b/java.hints/src/org/netbeans/modules/java/hints/SideEffectVisitor.java
++index 474e4bf62..45c436598 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/SideEffectVisitor.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/SideEffectVisitor.java
++@@ -44,6 +44,8 @@ package org.netbeans.modules.java.hints;
++ import com.sun.source.tree.AssignmentTree;
++ import com.sun.source.tree.ClassTree;
++ import com.sun.source.tree.CompoundAssignmentTree;
+++import com.sun.source.tree.LambdaExpressionTree;
+++import com.sun.source.tree.LambdaExpressionTree.BodyKind;
++ import com.sun.source.tree.MemberSelectTree;
++ import com.sun.source.tree.MethodInvocationTree;
++ import com.sun.source.tree.NewClassTree;
++@@ -59,6 +61,7 @@ import javax.lang.model.element.ExecutableElement;
++ import javax.lang.model.element.Name;
++ import javax.lang.model.element.TypeElement;
++ import org.netbeans.api.java.source.CompilationInfo;
+++import org.netbeans.modules.java.hints.StopProcessing;
++
++ /**
++ * If not in method or a lambda, it detects all assignments/compound assignments
++@@ -162,12 +165,7 @@ public class SideEffectVisitor extends TreePathScanner {
++
++ @Override
++ public Object visitNewClass(NewClassTree node, Object p) {
++- Element e = ci.getTrees().getElement(getCurrentPath());
++- if (e == null) {
++- return super.visitNewClass(node, p);
++- } else {
++- e = e.getEnclosingElement();
++- }
+++ Element e = ci.getTrees().getElement(getCurrentPath()).getEnclosingElement();
++ if (e != null && e.getKind().isClass()) {
++ Object r = scan(node.getEnclosingExpression(), p);
++ r = scanAndReduce(node.getIdentifier(), p, r);
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/StandardJavacWarnings.java b/java.hints/src/org/netbeans/modules/java/hints/StandardJavacWarnings.java
++index 3ee2f3d80..d352c7fc6 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/StandardJavacWarnings.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/StandardJavacWarnings.java
++@@ -69,7 +69,7 @@ public class StandardJavacWarnings extends AbstractHint {
++ private final Kind kind;
++
++ private StandardJavacWarnings(Kind kind) {
++- super( kind.defaultOn(), true, HintSeverity.WARNING, kind.suppressWarnings );
+++ super( kind.defaultOn(), false, HintSeverity.WARNING, kind.suppressWarnings );
++ this.kind = kind;
++ }
++
++@@ -217,7 +217,8 @@ public class StandardJavacWarnings extends AbstractHint {
++ }
++ }
++
++- sb.append("-XDfind=diamond,lambda ");
+++ sb.append("-XDidentifyLambdaCandidate=true ");
+++ sb.append("-XDfindDiamond ");
++
++ if (sb.length() > 0 && sb.charAt(sb.length() - 1) == ' ') {
++ sb.deleteCharAt(sb.length() - 1);
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/StaticImport.java b/java.hints/src/org/netbeans/modules/java/hints/StaticImport.java
++index f87976372..b676d5d51 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/StaticImport.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/StaticImport.java
++@@ -1,7 +1,7 @@
++ /*
++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++ *
++- * Copyright 1997, 2016 Oracle and/or its affiliates. All rights reserved.
+++ * Copyright 2010 Oracle and/or its affiliates. All rights reserved.
++ *
++ * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++ * Other names may be trademarks of their respective owners.
++@@ -24,20 +24,10 @@
++ * your own identifying information:
++ * "Portions Copyrighted [year] [name of copyright owner]"
++ *
++- * If you wish your version of this file to be governed by only the CDDL
++- * or only the GPL Version 2, indicate your decision by adding
++- * "[Contributor] elects to include this software in this distribution
++- * under the [CDDL or GPL Version 2] license." If you do not indicate a
++- * single choice of license, a recipient has the option to distribute
++- * your version of this file under either the CDDL, the GPL Version 2 or
++- * to extend the choice of license to its licensees as provided above.
++- * However, if you add GPL Version 2 code and therefore, elected the GPL
++- * Version 2 license, then the option applies only if the new code is
++- * made subject to such option by the copyright holder.
+++ * Contributor(s):
++ *
++- */
++-/*
++- * Contributor(s): markiewb
+++ * Portions Copyrighted 2009 Sun Microsystems, Inc.
+++ * Portions Copyrighted 2014 markiewb
++ */
++ package org.netbeans.modules.java.hints;
++
++@@ -100,13 +90,15 @@ import org.netbeans.spi.java.hints.TriggerTreeKind;
++ * @see <a href="http://www.netbeans.org/issues/show_bug.cgi?id=89258">RFE 89258</a>
++ * @see <a href="http://java.sun.com/j2se/1.5.0/docs/guide/language/static-import.html>Static Imports</a>
++ */
++- at Hint(category="rules15", displayName="#DN_StaticImport", description="#DSC_StaticImport", severity=Severity.HINT, enabled=false, suppressWarnings={"", "StaticImport"},
++- minSourceVersion = "5")
+++ at Hint(category="rules15", displayName="#DN_StaticImport", description="#DSC_StaticImport", severity=Severity.HINT, enabled=false, suppressWarnings={"", "StaticImport"})
++ public class StaticImport {
++
++ @TriggerTreeKind(Kind.MEMBER_SELECT)
++ public static List<ErrorDescription> run(HintContext ctx) {
++ CompilationInfo info = ctx.getInfo();
+++ if (!supportsStaticImports(info)) {
+++ return null;
+++ }
++ TreePath treePath = ctx.getPath();
++
++ Element e = info.getTrees().getElement(treePath);
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/StringBuilderAppend.java b/java.hints/src/org/netbeans/modules/java/hints/StringBuilderAppend.java
++index 67c4fd529..8213c7f92 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/StringBuilderAppend.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/StringBuilderAppend.java
++@@ -43,11 +43,9 @@
++ package org.netbeans.modules.java.hints;
++
++ import com.sun.source.tree.ExpressionTree;
++-import com.sun.source.tree.LiteralTree;
++ import com.sun.source.tree.MemberSelectTree;
++ import com.sun.source.tree.MethodInvocationTree;
++ import com.sun.source.tree.ParenthesizedTree;
++-import com.sun.source.tree.Tree;
++ import com.sun.source.tree.Tree.Kind;
++ import com.sun.source.util.TreePath;
++ import java.util.Collections;
++@@ -113,34 +111,6 @@ public class StringBuilderAppend {
++ public String getText() {
++ return NbBundle.getMessage(StringBuilderAppend.class, "FIX_StringBuilderAppend");
++ }
++-
++- private ExpressionTree merge(TreeMaker make, ExpressionTree arg1, ExpressionTree arg2) {
++- if (arg1 == null) {
++- return arg2;
++- } else if (arg2 == null) {
++- return arg1;
++- } else if (arg1 == arg2) {
++- return arg1;
++- }
++- return make.Binary(Kind.PLUS, arg1, arg2);
++- }
++-
++- private ExpressionTree merge(TreeMaker make, ExpressionTree arg, ExpressionTree singleLeaf,
++- StringBuilder literal, ExpressionTree l) {
++- ExpressionTree n;
++- if (singleLeaf != null) {
++- n = singleLeaf;
++- literal.delete(0, literal.length());
++- n = merge(make, n, l);
++- } else if (literal.length() > 0) {
++- n = make.Literal(literal.toString());
++- literal.delete(0, literal.length());
++- n = merge(make, n, l);
++- } else {
++- n = l;
++- }
++- return merge(make, arg, n);
++- }
++
++ @Override
++ protected void performRewrite(TransformationContext ctx) {
++@@ -151,35 +121,18 @@ public class StringBuilderAppend {
++ List<List<TreePath>> sorted = Utilities.splitStringConcatenationToElements(copy, new TreePath(tp, param));
++ ExpressionTree site = ((MemberSelectTree) mit.getMethodSelect()).getExpression();
++ TreeMaker make = copy.getTreeMaker();
++-
+++
++ for (List<TreePath> cluster : sorted) {
++- StringBuilder literal = new StringBuilder();
++- ExpressionTree singleLeaf = null;
++- ExpressionTree arg = null;
++-
++- if (cluster.size() == 1 &&
++- !Utilities.isConstantString(copy, cluster.get(0), true)) {
++- arg = (ExpressionTree)cluster.get(0).getLeaf();
++- } else {
++- for (TreePath p : cluster) {
++- ExpressionTree l = (ExpressionTree)p.getLeaf();
++- if (Utilities.isStringOrCharLiteral(l)) {
++- if (literal.length() == 0) {
++- singleLeaf = l;
++- } else {
++- singleLeaf = null;
++- }
++- literal.append(
++- ((LiteralTree)l).getValue().toString()
++- );
++- } else {
++- ExpressionTree n;
++- arg = merge(make, arg, singleLeaf, literal, l);
++- singleLeaf = null;
++- }
++- }
+++ ExpressionTree arg = (ExpressionTree) cluster.remove(0).getLeaf();
+++
+++ while (!cluster.isEmpty()) {
+++ arg = make.Binary(Kind.PLUS, arg, (ExpressionTree) cluster.remove(0).getLeaf());
++ }
++- arg = merge(make, arg, singleLeaf, literal, null);
+++
+++ while (arg.getKind() == Kind.PARENTHESIZED) {
+++ arg = ((ParenthesizedTree) arg).getExpression();
+++ }
+++
++ site = make.MethodInvocation(Collections.<ExpressionTree>emptyList(), make.MemberSelect(site, "append"), Collections.singletonList(arg));
++ }
++
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/SystemOut.java b/java.hints/src/org/netbeans/modules/java/hints/SystemOut.java
++index 16ab2f034..fa56ea01d 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/SystemOut.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/SystemOut.java
++@@ -51,7 +51,6 @@ import java.util.List;
++ import org.netbeans.api.java.source.CompilationInfo;
++ import org.netbeans.api.java.source.TreePathHandle;
++ import org.netbeans.api.java.source.WorkingCopy;
++-import org.netbeans.modules.java.hints.errors.Utilities;
++ import org.netbeans.spi.java.hints.Hint;
++ import org.netbeans.spi.java.hints.TriggerPattern;
++ import org.netbeans.spi.java.hints.TriggerPatterns;
++@@ -112,7 +111,20 @@ TreePathHandle.create (treePath, compilationInfo)
++ protected void performRewrite(TransformationContext ctx) {
++ WorkingCopy wc = ctx.getWorkingCopy();
++ TreePath statementPath = ctx.getPath();
++- Utilities.removeStatement(wc, statementPath);
+++ TreePath blockPath = statementPath.getParentPath ();
+++ while (!(blockPath.getLeaf () instanceof BlockTree)) {
+++ statementPath = blockPath;
+++ blockPath = blockPath.getParentPath ();
+++ if (blockPath == null) return;
+++ }
+++ BlockTree blockTree = (BlockTree) blockPath.getLeaf ();
+++ List<? extends StatementTree> statements = blockTree.getStatements ();
+++ List<StatementTree> newStatements = new ArrayList<StatementTree> ();
+++ for (StatementTree statement : statements)
+++ if (statement != statementPath.getLeaf ())
+++ newStatements.add (statement);
+++ BlockTree newBlockTree = wc.getTreeMaker ().Block (newStatements, blockTree.isStatic());
+++ wc.rewrite (blockTree, newBlockTree);
++ }
++ } // End of FixImpl class
++ }
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/ThreadDumpStack.java b/java.hints/src/org/netbeans/modules/java/hints/ThreadDumpStack.java
++index 0bf3d6b5d..bf28010da 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/ThreadDumpStack.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/ThreadDumpStack.java
++@@ -52,7 +52,6 @@ import java.util.List;
++ import org.netbeans.api.java.source.CompilationInfo;
++ import org.netbeans.api.java.source.TreePathHandle;
++ import org.netbeans.api.java.source.WorkingCopy;
++-import org.netbeans.modules.java.hints.errors.Utilities;
++ import org.netbeans.spi.java.hints.Hint;
++ import org.netbeans.spi.java.hints.TriggerPattern;
++ import org.netbeans.spi.java.hints.HintContext;
++@@ -116,7 +115,17 @@ TreePathHandle.create (treePath, compilationInfo)
++ protected void performRewrite(TransformationContext ctx) {
++ WorkingCopy wc = ctx.getWorkingCopy();
++ TreePath tp = ctx.getPath();
++- Utilities.removeStatement(wc, tp.getParentPath ());
+++ Tree expressionStatementTree = tp.getParentPath ().getLeaf ();
+++ Tree parent2 = tp.getParentPath ().getParentPath ().getLeaf ();
+++ if (!(parent2 instanceof BlockTree)) return;
+++ BlockTree blockTree = (BlockTree) parent2;
+++ List<? extends StatementTree> statements = blockTree.getStatements ();
+++ List<StatementTree> newStatements = new ArrayList<StatementTree> ();
+++ for (StatementTree statement : statements)
+++ if (statement != expressionStatementTree)
+++ newStatements.add (statement);
+++ BlockTree newBlockTree = wc.getTreeMaker ().Block (newStatements, blockTree.isStatic());
+++ wc.rewrite (blockTree, newBlockTree);
++ }
++ } // End of FixImpl class
++ }
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/WrongPackageSuggestion.java b/java.hints/src/org/netbeans/modules/java/hints/WrongPackageSuggestion.java
++index 3af5bf103..56882ca2c 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/WrongPackageSuggestion.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/WrongPackageSuggestion.java
++@@ -55,7 +55,6 @@ import java.io.File;
++ import java.io.IOException;
++ import java.util.Arrays;
++ import java.util.Collections;
++-import java.util.EnumSet;
++ import java.util.List;
++ import java.util.Set;
++ import java.util.logging.Level;
++@@ -96,24 +95,15 @@ public class WrongPackageSuggestion extends AbstractHint {
++ }
++
++ public Set<Kind> getTreeKinds() {
++- return EnumSet.of(Kind.COMPILATION_UNIT, Kind.PACKAGE);
+++ return Collections.singleton(Kind.COMPILATION_UNIT);
++ }
++
++ public List<ErrorDescription> run(CompilationInfo info, TreePath treePath) {
++ Tree t = treePath.getLeaf();
++
++- CompilationUnitTree tree = null;
++- switch (t.getKind()) {
++- case COMPILATION_UNIT:
++- tree = (CompilationUnitTree)t;
++- break;
++- case PACKAGE:
++- tree = treePath.getCompilationUnit();
++- break;
++- default:
++- return null;
++- }
+++ assert t.getKind() == Kind.COMPILATION_UNIT;
++
+++ CompilationUnitTree tree = (CompilationUnitTree) t;
++ StringBuffer packageNameBuffer = new StringBuffer();
++ boolean hasPackageClause = tree.getPackageName() != null;
++
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/bugs/ArrayStringConversions.java b/java.hints/src/org/netbeans/modules/java/hints/bugs/ArrayStringConversions.java
++index b78882dc3..b5c15a8d3 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/bugs/ArrayStringConversions.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/bugs/ArrayStringConversions.java
++@@ -301,6 +301,13 @@ public class ArrayStringConversions {
++ value="$s.print($v)",
++ constraints = {
++ @ConstraintVariableType(type = "java.io.PrintStream", variable = "$s"),
+++ @ConstraintVariableType(type = "char[]", variable = "$v")
+++ }
+++ ),
+++ @TriggerPattern(
+++ value="$s.print($v)",
+++ constraints = {
+++ @ConstraintVariableType(type = "java.io.PrintStream", variable = "$s"),
++ @ConstraintVariableType(type = "float[]", variable = "$v")
++ }
++ ),
++@@ -363,6 +370,13 @@ public class ArrayStringConversions {
++ value="$s.println($v)",
++ constraints = {
++ @ConstraintVariableType(type = "java.io.PrintStream", variable = "$s"),
+++ @ConstraintVariableType(type = "char[]", variable = "$v")
+++ }
+++ ),
+++ @TriggerPattern(
+++ value="$s.println($v)",
+++ constraints = {
+++ @ConstraintVariableType(type = "java.io.PrintStream", variable = "$s"),
++ @ConstraintVariableType(type = "float[]", variable = "$v")
++ }
++ ),
++@@ -751,6 +765,13 @@ public class ArrayStringConversions {
++ value="$s.print($v)",
++ constraints = {
++ @ConstraintVariableType(type = "java.io.PrintWriter", variable = "$s"),
+++ @ConstraintVariableType(type = "char[]", variable = "$v")
+++ }
+++ ),
+++ @TriggerPattern(
+++ value="$s.print($v)",
+++ constraints = {
+++ @ConstraintVariableType(type = "java.io.PrintWriter", variable = "$s"),
++ @ConstraintVariableType(type = "float[]", variable = "$v")
++ }
++ ),
++@@ -813,6 +834,13 @@ public class ArrayStringConversions {
++ value="$s.println($v)",
++ constraints = {
++ @ConstraintVariableType(type = "java.io.PrintWriter", variable = "$s"),
+++ @ConstraintVariableType(type = "char[]", variable = "$v")
+++ }
+++ ),
+++ @TriggerPattern(
+++ value="$s.println($v)",
+++ constraints = {
+++ @ConstraintVariableType(type = "java.io.PrintWriter", variable = "$s"),
++ @ConstraintVariableType(type = "float[]", variable = "$v")
++ }
++ ),
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/bugs/BroadCatchBlock.java b/java.hints/src/org/netbeans/modules/java/hints/bugs/BroadCatchBlock.java
++index fa1dff543..b4948b18d 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/bugs/BroadCatchBlock.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/bugs/BroadCatchBlock.java
++@@ -408,12 +408,12 @@ public class BroadCatchBlock {
++ } else {
++ fixes = new Fix[] {
++ new UseSpecificCatch.FixImpl(info, getCurrentPath(), handles).toEditorFix(),
++- new UseSpecificCatch.SplitExceptionInCatches(info, getCurrentPath(), handles, null).toEditorFix()
+++ new UseSpecificCatch.SplitExceptionInCatches(info, getCurrentPath(), handles).toEditorFix()
++ };
++ }
++ } else {
++ fixes = new Fix[] {
++- new UseSpecificCatch.SplitExceptionInCatches(info, getCurrentPath(), handles, null).toEditorFix()
+++ new UseSpecificCatch.SplitExceptionInCatches(info, getCurrentPath(), handles).toEditorFix()
++ };
++ }
++ }
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/bugs/Bundle.properties b/java.hints/src/org/netbeans/modules/java/hints/bugs/Bundle.properties
++index d86594531..b478e55d0 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/bugs/Bundle.properties
+++++ b/java.hints/src/org/netbeans/modules/java/hints/bugs/Bundle.properties
++@@ -150,9 +150,7 @@ DESC_TryCatchFinally_finallyDiscardsException=Reports usage of <b>return</b> sta
++ DN_TryCatchFinally_finallyThrowsException='throw' inside 'finally' block
++ DESC_TryCatchFinally_finallyThrowsException=Throwing an exception inside <b>finally</b> block will hide the original exception thrown from \
++ the associated <b>try</b> or <b>catch</b> blocks from enclosing exception handlers. Note that the exception can be still inspected \
++- using <b>Throwable.getSuppressedException()</b>, although it cannot be directly caught by a <b>catch</b> block.<p/>\
++- If "<i>Report rethrow of caught exceptions</i>" is disabled, the hint will not report statements, which just rethrow the very exception \
++- instances received by an enclosing catch handler.
+++ using <b>Throwable.getSuppressedException()</b>, although it cannot be directly caught by a <b>catch</b> block.
++
++ DN_CloneAndCloneable_cloneWithoutSuperClone=clone() does not call super.clone()
++ DESC_CloneAndCloneable_cloneWithoutSuperClone=Cloned instances should be allocated using <b>super.clone()</b> so fields are \
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/bugs/CloneAndCloneable.java b/java.hints/src/org/netbeans/modules/java/hints/bugs/CloneAndCloneable.java
++index 494de087f..97f980b33 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/bugs/CloneAndCloneable.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/bugs/CloneAndCloneable.java
++@@ -174,21 +174,6 @@ public class CloneAndCloneable {
++ return null;
++ }
++ }
++- // check if the overriden clone method declares CNSE - if not, the body code may not throw
++- // the exception and adding throws clause would break the code:
++- ExecutableElement ee = info.getElementUtilities().getOverriddenMethod(cloneMethod);
++- boolean superThrows = ee == null;
++- if (ee != null) {
++- for (TypeMirror m : ee.getThrownTypes()) {
++- if (info.getTypes().isSameType(cnse, m)) {
++- superThrows = true;
++- break;
++- }
++- }
++- }
++- if (!superThrows) {
++- return null;
++- }
++
++ return ErrorDescriptionFactory.forName(ctx, ctx.getPath(),
++ TEXT_CloneWithoutCloneNotSupported(),
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/bugs/NPECheck.java b/java.hints/src/org/netbeans/modules/java/hints/bugs/NPECheck.java
++index 58a0b654d..2a21dbb2b 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/bugs/NPECheck.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/bugs/NPECheck.java
++@@ -1,11 +1,8 @@
++ /*
++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++- *
++- * Copyright 1997-2010 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
++- *
+++ *
+++ * Copyright 1997-2012 Sun Microsystems, Inc. All rights reserved.
+++ *
++ * The contents of this file are subject to the terms of either the GNU
++ * General Public License Version 2 only ("GPL") or the Common
++ * Development and Distribution License("CDDL") (collectively, the
++@@ -16,9 +13,9 @@
++ * specific language governing permissions and limitations under the
++ * License. When distributing the software, include this License Header
++ * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
+++ * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
++ * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
+++ * by Sun in the GPL Version 2 section of the License file that
++ * accompanied this code. If applicable, add the following below the
++ * License Header, with the fields enclosed by brackets [] replaced by
++ * your own identifying information:
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/bugs/SuspiciousToArray.java b/java.hints/src/org/netbeans/modules/java/hints/bugs/SuspiciousToArray.java
++index 95f6329c9..831b80ccb 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/bugs/SuspiciousToArray.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/bugs/SuspiciousToArray.java
++@@ -249,7 +249,7 @@ public class SuspiciousToArray {
++ copy.rewrite(nat.getType(), mk.Type(compType));
++ return;
++ }
++- List<ExpressionTree> l = new ArrayList<ExpressionTree>(nat.getDimensions().subList(
+++ List<ExpressionTree> l = new ArrayList<>(nat.getDimensions().subList(
++ 0, Math.min(newDim + 1, nat.getDimensions().size())));
++ Tree replacement = mk.NewArray(mk.Type(compType), l, null);
++ GeneratorUtilities.get(copy).copyComments(nat, replacement, true);
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/bugs/ThrowableNotThrown.java b/java.hints/src/org/netbeans/modules/java/hints/bugs/ThrowableNotThrown.java
++index 1e6d33c69..6c060feb6 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/bugs/ThrowableNotThrown.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/bugs/ThrowableNotThrown.java
++@@ -50,7 +50,6 @@ import com.sun.source.tree.Tree;
++ import com.sun.source.tree.VariableTree;
++ import com.sun.source.util.TreePath;
++ import java.util.Collection;
++-import java.util.EnumSet;
++ import java.util.HashSet;
++ import java.util.Set;
++ import java.util.concurrent.atomic.AtomicBoolean;
++@@ -113,13 +112,6 @@ public class ThrowableNotThrown {
++ return null;
++ }
++
++- private static final EnumSet<ElementKind> LOCAL_VARIABLES = EnumSet.of(
++- ElementKind.LOCAL_VARIABLE,
++- ElementKind.PARAMETER,
++- ElementKind.RESOURCE_VARIABLE,
++- ElementKind.EXCEPTION_PARAMETER
++- );
++-
++ private static TreePath findEnclosingMethodPath(TreePath path) {
++ TreePath enclosingMethodPath = path;
++ TreePath nextPath = enclosingMethodPath.getParentPath();
++@@ -326,7 +318,7 @@ public class ThrowableNotThrown {
++ Element el = info.getTrees().getElement(new TreePath(excPath, var));
++ if (el == null || el.getKind() == ElementKind.FIELD) {
++ return true;
++- } else if (LOCAL_VARIABLES.contains(el.getKind())) {
+++ } else if (el.getKind() == ElementKind.LOCAL_VARIABLE) {
++ varAssignments.add(as.getExpression());
++ }
++ process = true;
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/bugs/TryCatchFinally.java b/java.hints/src/org/netbeans/modules/java/hints/bugs/TryCatchFinally.java
++index 563ec3509..df1833449 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/bugs/TryCatchFinally.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/bugs/TryCatchFinally.java
++@@ -52,22 +52,14 @@ import com.sun.source.tree.Tree;
++ import com.sun.source.tree.TryTree;
++ import com.sun.source.util.TreePath;
++ import com.sun.source.util.TreePathScanner;
++-import java.util.ArrayDeque;
++ import java.util.ArrayList;
++ import java.util.Collection;
++ import java.util.HashSet;
++-import java.util.Iterator;
++ import java.util.List;
++-import java.util.Map;
++-import java.util.Queue;
++ import java.util.Set;
++ import java.util.Stack;
++-import java.util.concurrent.atomic.AtomicBoolean;
++ import java.util.logging.Level;
++ import java.util.logging.Logger;
++-import javax.lang.model.element.Element;
++-import javax.lang.model.element.ElementKind;
++-import javax.lang.model.element.Modifier;
++ import javax.lang.model.type.TypeMirror;
++ import org.netbeans.api.java.source.CompilationInfo;
++ import org.netbeans.spi.editor.hints.ErrorDescription;
++@@ -78,11 +70,6 @@ import org.netbeans.spi.java.hints.TriggerPattern;
++ import org.openide.util.NbBundle;
++
++ import static org.netbeans.modules.java.hints.bugs.Bundle.*;
++-import org.netbeans.modules.java.hints.introduce.Flow;
++-import org.netbeans.modules.java.hints.introduce.Flow.Cancel;
++-import org.netbeans.modules.java.hints.introduce.Flow.FlowResult;
++-import org.netbeans.spi.java.hints.BooleanOption;
++-import org.netbeans.spi.java.hints.UseOptions;
++
++ /**
++ * Contains hints for try-catch-finally blocks.
++@@ -92,116 +79,31 @@ import org.netbeans.spi.java.hints.UseOptions;
++ @NbBundle.Messages({
++ "# {0} - the rogue statement",
++ "TEXT_returnBreakContinueInFinallyBlock=The ''{0}'' statement in the ''finally'' block discards unhandled exceptions",
++- "TEXT_throwsInFinallyBlock=The 'throw' statement in 'finally' block may hide the original exception",
++- "OPT_ReportFinallyRethrow=Report rethrow of caught exceptions"
+++ "TEXT_throwsInFinallyBlock=The 'throw' statement in 'finally' block may hide the original exception"
++ })
++ public class TryCatchFinally {
++ private static final Logger LOG = Logger.getLogger(TryCatchFinally.class.getName());
++
++- public static final boolean DEF_REPORT_RETHROW = true;
++- @BooleanOption(
++- displayName = "#OPT_ReportFinallyRethrow",
++- defaultValue = DEF_REPORT_RETHROW,
++- tooltip = ""
++- )
++- public static final String OPT_REPORT_RETHROW = "reportFinallyRethrow"; // NOI18N
++-
++ @Hint(category = "bugs",
++ displayName = "#DN_TryCatchFinally_finallyThrowsException", // NOI18N
++ description = "#DESC_TryCatchFinally_finallyThrowsException", // NOI18N
++ suppressWarnings={"ThrowFromFinallyBlock"},
++ options= Hint.Options.QUERY
++ )
++- @UseOptions(OPT_REPORT_RETHROW)
++ @TriggerPattern("try { $smts$; } catch $catches$ finally { $handler$; }") // NOI18N
++ public static List<ErrorDescription> finallyThrowsException(HintContext ctx) {
++- List<TreePath> trees = new ArrayList<TreePath>(3);
+++ List<Tree> trees = new ArrayList<Tree>(3);
++ ExitsFromBranches efab = new ExitsFromBranches(ctx.getInfo(), true);
++ Collection<? extends TreePath> paths = ctx.getMultiVariables().get("$handler$"); // NOI18N
++- CompilationInfo info = ctx.getInfo();
+++
++ for (TreePath tp : paths) {
++ efab.scan(tp, trees);
++ }
++ if (trees.isEmpty()) {
++ return null;
++ }
++-
++- TreePath parent = ctx.getPath().getParentPath();
++- TreePath selected = ctx.getPath();
++- Set<Tree> catchVars = new HashSet<>();
++- // finds the outermost enclosing catch
++- while (parent != null) {
++- Tree.Kind k = parent.getLeaf().getKind();
++- if (k == Tree.Kind.METHOD || k == Tree.Kind.CLASS || k == Tree.Kind.INTERFACE || k == Tree.Kind.ENUM) {
++- break;
++- } else if (k == Tree.Kind.CATCH) {
++- selected = parent;
++- catchVars.add(
++- ((CatchTree)parent.getLeaf()).getParameter()
++- );
++- break;
++- }
++- parent = parent.getParentPath();
++- }
++-
++- boolean checkRethrow = ctx.getPreferences().getBoolean(OPT_REPORT_RETHROW, DEF_REPORT_RETHROW);
++ List<ErrorDescription> errs = new ArrayList<ErrorDescription>(trees.size());
++-
++- if (!checkRethrow) {
++- FlowResult assignments = Flow.assignmentsForUse(ctx.getInfo(), selected, ctx::isCanceled);
++- if (assignments == null || ctx.isCanceled()) {
++- return null;
++- }
++- T: for (Iterator<TreePath> it = trees.iterator(); it.hasNext(); ) {
++- TreePath p = it.next();
++- Tree stmt = p.getLeaf();
++- if (stmt.getKind() != Tree.Kind.THROW) {
++- it.remove();
++- continue;
++- }
++- ThrowTree tt = (ThrowTree)stmt;
++- TreePath tp = new TreePath(p, tt.getExpression());
++-
++- Queue<TreePath> q = new ArrayDeque<>();
++- q.offer(tp);
++-
++- boolean rethrow = true;
++-
++- Map<Tree, Iterable<?extends TreePath>> ass2Use = assignments.getAssignmentsForUse();
++- while (rethrow && !q.isEmpty()) {
++- tp = q.poll();
++- Element el = info.getTrees().getElement(tp);
++- if (el == null) {
++- rethrow = false;
++- break;
++- }
++- if (el.getKind() == ElementKind.EXCEPTION_PARAMETER) {
++- if (el.getModifiers().contains(Modifier.FINAL)) {
++- // OK
++- continue;
++- }
++- }
++- Iterable<? extends TreePath> vals = ass2Use.get(tp.getLeaf());
++- if (vals == null) {
++- rethrow = false;
++- break;
++- }
++- for (TreePath valuePath : vals) {
++- if (!catchVars.contains(valuePath.getLeaf())) {
++- q.offer(valuePath);
++- }
++- }
++- }
++- if (rethrow) {
++- it.remove();
++- }
++- }
++- }
++- if (ctx.isCanceled()) {
++- return null;
++- }
++- for (TreePath p : trees) {
++- Tree stmt = p.getLeaf();
+++ for (Tree stmt : trees) {
++ errs.add(ErrorDescriptionFactory.forTree(ctx, stmt, TEXT_throwsInFinallyBlock()));
++ }
++ return errs;
++@@ -215,7 +117,7 @@ public class TryCatchFinally {
++ )
++ @TriggerPattern("try { $smts$; } catch $catches$ finally { $handler$; }") // NOI18N
++ public static List<ErrorDescription> finallyDiscardsException(HintContext ctx) {
++- List<TreePath> trees = new ArrayList<TreePath>(3);
+++ List<Tree> trees = new ArrayList<Tree>(3);
++ ExitsFromBranches efab = new ExitsFromBranches(ctx.getInfo());
++ Collection<? extends TreePath> paths = ctx.getMultiVariables().get("$handler$"); // NOI18N
++
++@@ -226,8 +128,7 @@ public class TryCatchFinally {
++ return null;
++ }
++ List<ErrorDescription> errs = new ArrayList<ErrorDescription>(trees.size());
++- for (TreePath p : trees) {
++- Tree stmt = p.getLeaf();
+++ for (Tree stmt : trees) {
++ final String stmtName;
++ switch (stmt.getKind()) {
++ case CONTINUE:
++@@ -249,7 +150,7 @@ public class TryCatchFinally {
++ return errs;
++ }
++
++- private static final class ExitsFromBranches extends TreePathScanner<Void, Collection<TreePath>> {
+++ private static final class ExitsFromBranches extends TreePathScanner<Void, Collection<Tree>> {
++ private final boolean analyzeThrows;
++ private final CompilationInfo info;
++ private final Set<Tree> seenTrees = new HashSet<Tree>();
++@@ -266,13 +167,7 @@ public class TryCatchFinally {
++ }
++
++ @Override
++- public Void scan(TreePath path, Collection<TreePath> p) {
++- seenTrees.add(path.getLeaf());
++- return super.scan(path, p);
++- }
++-
++- @Override
++- public Void scan(Tree tree, Collection<TreePath> trees) {
+++ public Void scan(Tree tree, Collection<Tree> trees) {
++ seenTrees.add(tree);
++ return super.scan(tree, trees);
++ }
++@@ -283,44 +178,44 @@ public class TryCatchFinally {
++ * it must be also added to seenTrees.s
++ */
++ @Override
++- public Void visitLabeledStatement(LabeledStatementTree node, Collection<TreePath> p) {
+++ public Void visitLabeledStatement(LabeledStatementTree node, Collection<Tree> p) {
++ seenTrees.add(node);
++ return super.visitLabeledStatement(node, p);
++ }
++
++ @Override
++- public Void visitIf(IfTree node, Collection<TreePath> trees) {
+++ public Void visitIf(IfTree node, Collection<Tree> trees) {
++ scan(node.getThenStatement(), trees);
++ scan(node.getElseStatement(), trees);
++ return null;
++ }
++
++ @Override
++- public Void visitReturn(ReturnTree node, Collection<TreePath> trees) {
+++ public Void visitReturn(ReturnTree node, Collection<Tree> trees) {
++ if (!analyzeThrows) {
++- trees.add(getCurrentPath());
+++ trees.add(node);
++ }
++ return null;
++ }
++
++ @Override
++- public Void visitBreak(BreakTree node, Collection<TreePath> trees) {
+++ public Void visitBreak(BreakTree node, Collection<Tree> trees) {
++ if (!analyzeThrows && !seenTrees.contains(info.getTreeUtilities().getBreakContinueTarget(getCurrentPath()))) {
++- trees.add(getCurrentPath());
+++ trees.add(node);
++ }
++ return null;
++ }
++
++ @Override
++- public Void visitContinue(ContinueTree node, Collection<TreePath> trees) {
+++ public Void visitContinue(ContinueTree node, Collection<Tree> trees) {
++ if (!analyzeThrows && !seenTrees.contains(info.getTreeUtilities().getBreakContinueTarget(getCurrentPath()))) {
++- trees.add(getCurrentPath());
+++ trees.add(node);
++ }
++ return null;
++ }
++
++ @Override
++- public Void visitTry(TryTree node, Collection<TreePath> trees) {
+++ public Void visitTry(TryTree node, Collection<Tree> trees) {
++ Set<TypeMirror> caught = new HashSet<TypeMirror>();
++
++ for (CatchTree ct : node.getCatches()) {
++@@ -335,15 +230,15 @@ public class TryCatchFinally {
++
++ try {
++ scan(node.getBlock(), trees);
+++ scan(node.getFinallyBlock(), trees);
++ } finally {
++ caughtExceptions.pop();
++ }
++- scan(node.getFinallyBlock(), trees);
++ return null;
++ }
++
++ @Override
++- public Void visitThrow(ThrowTree node, Collection<TreePath> trees) {
+++ public Void visitThrow(ThrowTree node, Collection<Tree> trees) {
++ if (!analyzeThrows) {
++ return null;
++ }
++@@ -361,7 +256,7 @@ public class TryCatchFinally {
++
++ super.visitThrow(node, trees);
++ if (!isCaught) {
++- trees.add(getCurrentPath());
+++ trees.add(node);
++ }
++ return null;
++ }
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/bugs/Unbalanced.java b/java.hints/src/org/netbeans/modules/java/hints/bugs/Unbalanced.java
++index d6865b8dd..8f9260fb8 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/bugs/Unbalanced.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/bugs/Unbalanced.java
++@@ -152,7 +152,6 @@ public class Unbalanced {
++
++ if (tp.getParentPath().getLeaf().getKind() == Kind.ARRAY_ACCESS) {
++ State accessType = State.READ;
++- State secondAccess = null;
++ Tree access = tp.getParentPath().getLeaf();
++ Tree assign = tp.getParentPath().getParentPath().getLeaf();
++
++@@ -167,18 +166,16 @@ public class Unbalanced {
++ case PLUS_ASSIGNMENT: case REMAINDER_ASSIGNMENT: case RIGHT_SHIFT_ASSIGNMENT:
++ case UNSIGNED_RIGHT_SHIFT_ASSIGNMENT: case XOR_ASSIGNMENT:
++ if (((CompoundAssignmentTree) assign).getVariable() == access) {
++- secondAccess = State.WRITE;
+++ accessType = State.WRITE;
++ }
++ break;
++ case POSTFIX_DECREMENT: case POSTFIX_INCREMENT: case PREFIX_DECREMENT:
++ case PREFIX_INCREMENT:
++- secondAccess = State.WRITE;
+++ accessType = State.WRITE;
++ break;
++ }
+++
++ record(ctx.getInfo(), var, accessType);
++- if (secondAccess != null) {
++- record(ctx.getInfo(), var, secondAccess);
++- }
++ } else {
++ record(ctx.getInfo(), var, State.WRITE, State.READ);
++ }
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/control/RemoveUnnecessary.java b/java.hints/src/org/netbeans/modules/java/hints/control/RemoveUnnecessary.java
++index fce60d5e6..e74608661 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/control/RemoveUnnecessary.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/control/RemoveUnnecessary.java
++@@ -37,33 +37,15 @@
++ */
++ package org.netbeans.modules.java.hints.control;
++
++-import com.sun.source.tree.AssignmentTree;
++-import com.sun.source.tree.BinaryTree;
++ import com.sun.source.tree.BlockTree;
++ import com.sun.source.tree.CaseTree;
++-import com.sun.source.tree.CompoundAssignmentTree;
++-import com.sun.source.tree.ConditionalExpressionTree;
++-import com.sun.source.tree.ExpressionTree;
++-import com.sun.source.tree.IdentifierTree;
++-import com.sun.source.tree.InstanceOfTree;
++-import com.sun.source.tree.LambdaExpressionTree;
++-import com.sun.source.tree.LiteralTree;
++-import com.sun.source.tree.MemberReferenceTree;
++-import com.sun.source.tree.MemberSelectTree;
++-import com.sun.source.tree.MethodInvocationTree;
++ import com.sun.source.tree.MethodTree;
++-import com.sun.source.tree.NewArrayTree;
++-import com.sun.source.tree.NewClassTree;
++-import com.sun.source.tree.ReturnTree;
++ import com.sun.source.tree.StatementTree;
++ import com.sun.source.tree.SwitchTree;
++ import com.sun.source.tree.Tree;
++ import com.sun.source.tree.Tree.Kind;
++ import com.sun.source.tree.TryTree;
++-import com.sun.source.tree.TypeCastTree;
++-import com.sun.source.tree.UnaryTree;
++ import com.sun.source.util.TreePath;
++-import com.sun.source.util.TreePathScanner;
++ import java.util.ArrayList;
++ import java.util.EnumSet;
++ import java.util.List;
++@@ -72,18 +54,13 @@ import javax.lang.model.type.DeclaredType;
++ import javax.lang.model.type.ExecutableType;
++ import javax.lang.model.type.TypeKind;
++ import javax.lang.model.type.TypeMirror;
++-import org.netbeans.api.java.source.CompilationInfo;
++-import org.netbeans.api.java.source.TreeMaker;
++ import org.netbeans.api.java.source.TreeUtilities;
++-import org.netbeans.api.java.source.WorkingCopy;
++-import org.netbeans.modules.java.hints.errors.Utilities;
++ import org.netbeans.spi.editor.hints.ErrorDescription;
++ import org.netbeans.spi.editor.hints.Fix;
++ import org.netbeans.spi.java.hints.HintContext;
++ import org.netbeans.spi.java.hints.Hint;
++ import org.netbeans.spi.java.hints.TriggerPattern;
++ import org.netbeans.spi.java.hints.ErrorDescriptionFactory;
++-import org.netbeans.spi.java.hints.JavaFix;
++ import org.netbeans.spi.java.hints.JavaFixUtilities;
++ import org.openide.util.NbBundle;
++ import org.openide.util.NbBundle.Messages;
++@@ -115,16 +92,16 @@ public class RemoveUnnecessary {
++ @Hint(id="org.netbeans.modules.java.hints.RemoveUnnecessaryReturn", displayName = "#DN_org.netbeans.modules.java.hints.RemoveUnnecessaryReturn", description = "#DESC_org.netbeans.modules.java.hints.RemoveUnnecessaryReturn", category="general", suppressWarnings="UnnecessaryReturnStatement")
++ @TriggerPattern("return $val$;")
++ public static ErrorDescription unnecessaryReturn(HintContext ctx) {
++- return unnecessaryReturnContinue(ctx, null, "UnnecessaryReturnStatement", true);
+++ return unnecessaryReturnContinue(ctx, null, "UnnecessaryReturnStatement");
++ }
++
++ @Hint(displayName="#DN_RemoveUnnecessaryContinue", description="#DESC_RemoveUnnecessaryContinue", category="general", suppressWarnings="UnnecessaryContinue")
++ @TriggerPattern("continue $val$;")
++ public static ErrorDescription unnecessaryContinue(HintContext ctx) {
++- return unnecessaryReturnContinue(ctx, ctx.getInfo().getTreeUtilities().getBreakContinueTarget(ctx.getPath()), "UnnecessaryContinueStatement", false);
+++ return unnecessaryReturnContinue(ctx, ctx.getInfo().getTreeUtilities().getBreakContinueTarget(ctx.getPath()), "UnnecessaryContinueStatement");
++ }
++
++- private static ErrorDescription unnecessaryReturnContinue(HintContext ctx, StatementTree targetLoop, String key, boolean isReturn) {
+++ private static ErrorDescription unnecessaryReturnContinue(HintContext ctx, StatementTree targetLoop, String key) {
++ TreePath tp = ctx.getPath();
++
++ OUTER: while (tp != null && !TreeUtilities.CLASS_TREE_KINDS.contains(tp.getLeaf().getKind())) {
++@@ -223,248 +200,13 @@ public class RemoveUnnecessary {
++ return null;
++ }
++ }
++- Fix toExpression = null;
++-
++- if (isReturn) {
++- ExpressionToStatement scanner = new ExpressionToStatement(null, ctx.getInfo());
++- scanner.scan(ctx.getPath(), null);
++- if (!scanner.remove) {
++- toExpression = new MakeExpressionStatement(ctx.getInfo(), ctx.getPath()).toEditorFix();
++- }
++- }
++
++ String displayName = NbBundle.getMessage(RemoveUnnecessary.class, "ERR_" + key);
++ String fixDisplayName = NbBundle.getMessage(RemoveUnnecessary.class, "FIX_" + key);
++
++- return ErrorDescriptionFactory.forTree(ctx, ctx.getPath(), displayName,
++- JavaFixUtilities.removeFromParent(ctx, fixDisplayName, ctx.getPath()), toExpression);
+++ return ErrorDescriptionFactory.forTree(ctx, ctx.getPath(), displayName, JavaFixUtilities.removeFromParent(ctx, fixDisplayName, ctx.getPath()));
++ }
++
++- @NbBundle.Messages({
++- "FIX_MakeExpressionStatement=Retain expression as statement"
++- })
++- private static class MakeExpressionStatement extends JavaFix {
++- public MakeExpressionStatement(CompilationInfo info, TreePath tp) {
++- super(info, tp);
++- }
++-
++- @Override
++- protected String getText() {
++- return Bundle.FIX_MakeExpressionStatement();
++- }
++-
++- @Override
++- protected void performRewrite(TransformationContext ctx) throws Exception {
++- TreePath retPath = ctx.getPath();
++- if (retPath.getLeaf().getKind() != Tree.Kind.RETURN) {
++- return;
++- }
++- ReturnTree rtt = (ReturnTree)retPath.getLeaf();
++- if (rtt.getExpression() == null) {
++- return;
++- }
++- WorkingCopy wc = ctx.getWorkingCopy();
++- ExpressionToStatement st = new ExpressionToStatement(wc.getTreeMaker(), wc);
++- st.scan(new TreePath(retPath, rtt.getExpression()), null);
++- if (st.remove || st.statements.isEmpty()) {
++- // error, but I don't have an utility to properly remove the statement
++- // from its parent now.
++- return;
++- }
++- Utilities.replaceStatement(wc, retPath, st.statements);
++- }
++- }
++-
++- /**
++- * Transforms expression tree into series of statements.
++- *
++- */
++- static class ExpressionToStatement extends TreePathScanner {
++- private boolean remove = true;
++- private List<StatementTree> statements = new ArrayList<>();
++- private final TreeMaker mk;
++- private final CompilationInfo cinfo;
++-
++- public ExpressionToStatement(TreeMaker mk, CompilationInfo cinfo) {
++- this.mk = mk;
++- this.cinfo = cinfo;
++- }
++-
++- private Object addExpressionStatement(ExpressionTree node, Object p) {
++- if (mk != null) {
++- statements.add(mk.ExpressionStatement(node));
++- }
++- remove = false;
++- return null;
++- }
++-
++- @Override
++- public Object visitLiteral(LiteralTree node, Object p) {
++- return null;
++- }
++-
++- @Override
++- public Object visitIdentifier(IdentifierTree node, Object p) {
++- return null;
++- }
++-
++- @Override
++- public Object visitMemberReference(MemberReferenceTree node, Object p) {
++- return null;
++- }
++-
++- @Override
++- public Object visitMemberSelect(MemberSelectTree node, Object p) {
++- return null;
++- }
++-
++- @Override
++- public Object visitInstanceOf(InstanceOfTree node, Object p) {
++- return null;
++- }
++-
++- @Override
++- public Object visitLambdaExpression(LambdaExpressionTree node, Object p) {
++- return null;
++- }
++-
++- @Override
++- public Object visitNewArray(NewArrayTree node, Object p) {
++- return null;
++- }
++-
++- @Override
++- public Object visitTypeCast(TypeCastTree node, Object p) {
++- return scan(node.getExpression(), p);
++- }
++-
++- public Object transformLogAndOr(BinaryTree node, Object p) {
++- List<StatementTree> saveStats = this.statements;
++- boolean saveRemove = this.remove;
++- this.remove = true;
++- this.statements = new ArrayList<>();
++- scan(node.getRightOperand(), p);
++-
++- if (remove) {
++- // the if statement would be empty; attempt to transform the
++- // left operand if it has at least something. Omit the left operand
++- // at all.
++- this.statements = saveStats;
++- scan(node.getLeftOperand(), p);
++- if (remove) {
++- this.remove &= saveRemove;
++- return null;
++- }
++- this.remove &= saveRemove;
++- } else {
++- List<StatementTree> elseStats = this.statements;
++- this.statements = saveStats;
++- remove = false;
++- if (mk != null) {
++- ExpressionTree condition;
++- if (node.getKind() == Tree.Kind.CONDITIONAL_AND) {
++- condition = node.getLeftOperand();
++- } else {
++- condition = Utilities.negate(mk, node.getLeftOperand(), node);
++- }
++- statements.add(
++- mk.If(condition,
++- elseStats.size() == 1 ?
++- elseStats.get(0) :
++- mk.Block(elseStats, false),
++- null
++- )
++- );
++- }
++- }
++- return null;
++- }
++-
++- @Override
++- public Object visitBinary(BinaryTree node, Object p) {
++- switch (node.getKind()) {
++- case CONDITIONAL_AND:
++- case CONDITIONAL_OR:
++- return transformLogAndOr(node, p);
++- }
++- scan(node.getLeftOperand(), p);
++- scan(node.getRightOperand(), p);
++- return null;
++- }
++-
++- @Override
++- public Object visitUnary(UnaryTree node, Object p) {
++- scan(node.getExpression(), p);
++- return null;
++- }
++-
++- @Override
++- public Object visitAssignment(AssignmentTree node, Object p) {
++- return addExpressionStatement(node, p);
++- }
++-
++- @Override
++- public Object visitCompoundAssignment(CompoundAssignmentTree node, Object p) {
++- return addExpressionStatement(node, p);
++- }
++-
++- @Override
++- public Object visitNewClass(NewClassTree node, Object p) {
++- return addExpressionStatement(node, p);
++- }
++-
++- @Override
++- public Object visitMethodInvocation(MethodInvocationTree node, Object p) {
++- return addExpressionStatement(node, p);
++- }
++-
++- /**
++- * Conditional expression can be turned into an if-statement
++- */
++- @Override
++- public Object visitConditionalExpression(ConditionalExpressionTree node, Object p) {
++- List<StatementTree> saveStat = this.statements;
++- boolean saveRemove = this.remove;
++- statements = new ArrayList<>();
++-
++- scan(node.getTrueExpression(), p);
++-
++- List<StatementTree> trueStat = statements;
++- statements = new ArrayList<>();
++-
++- scan(node.getFalseExpression(), p);
++- List<StatementTree> falseStat = statements;
++-
++- this.statements = saveStat;
++- this.remove = saveRemove && remove;
++-
++- if (trueStat.isEmpty()) {
++- if (falseStat.isEmpty()) {
++- return null;
++- }
++- statements.add(mk.If(
++- mk.Unary(Tree.Kind.LOGICAL_COMPLEMENT, node.getCondition()),
++- falseStat.size() == 1 ?
++- falseStat.get(0) :
++- mk.Block(falseStat, false),
++- null
++- ));
++- } else {
++- statements.add(mk.If(node.getCondition(),
++- trueStat.size() == 1 ?
++- trueStat.get(0) :
++- mk.Block(trueStat, false),
++- falseStat.isEmpty() ? null :
++- falseStat.size() == 1 ?
++- falseStat.get(0) :
++- mk.Block(falseStat, false)
++-
++- ));
++- }
++- return null;
++- }
++- }
++-
++ @Hint(id="unnecessaryContinueLabel", displayName="#DN_RemoveUnnecessaryContinueLabel", description="#DESC_RemoveUnnecessaryContinueLabel", category="general", suppressWarnings="UnnecessaryLabelOnContinueStatement")
++ @TriggerPattern("continue $val;")
++ public static ErrorDescription unnecessaryContinueLabel(HintContext ctx) {
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/errors/AddCast.java b/java.hints/src/org/netbeans/modules/java/hints/errors/AddCast.java
++index 4e4786905..3771ff4d2 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/errors/AddCast.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/errors/AddCast.java
++@@ -215,7 +215,7 @@ public final class AddCast implements ErrorRule<Void> {
++ /*#85346: cast hint should not be proposed for error types:*/
++ && foundTM.getKind() != TypeKind.ERROR
++ && expectedType.getKind() != TypeKind.ERROR) {
++- targetType.add(org.netbeans.modules.java.hints.errors.Utilities.resolveTypeForDeclaration(info, expectedType));
+++ targetType.add(org.netbeans.modules.java.hints.errors.Utilities.resolveCapturedType(info, expectedType));
++ typeTree[0] = expectedTree;
++ expression[0] = found;
++ leaf[0] = scope;
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/errors/ChangeMethodReturnType.java b/java.hints/src/org/netbeans/modules/java/hints/errors/ChangeMethodReturnType.java
++index 508641d1e..24a5bdefb 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/errors/ChangeMethodReturnType.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/errors/ChangeMethodReturnType.java
++@@ -125,7 +125,7 @@ public class ChangeMethodReturnType implements ErrorRule<Void> {
++
++ if (targetType == null || targetType.getKind() == /*XXX:*/TypeKind.ERROR || targetType.getKind() == TypeKind.NONE || targetType.getKind() == TypeKind.NULL) return null;
++
++- return Utilities.resolveTypeForDeclaration(info, targetType);
+++ return Utilities.resolveCapturedType(info, targetType);
++ }
++
++ @Override
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/errors/ChangeType.java b/java.hints/src/org/netbeans/modules/java/hints/errors/ChangeType.java
++index 2424e0253..defde454a 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/errors/ChangeType.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/errors/ChangeType.java
++@@ -140,7 +140,11 @@ public final class ChangeType implements ErrorRule<Void> {
++ }
++
++ if (expected != null && resolved != null) {
++- resolved = org.netbeans.modules.java.hints.errors.Utilities.resolveTypeForDeclaration(info, resolved);
+++ if (resolved.getKind() == TypeKind.ERROR) {
+++ resolved = info.getTrees().getOriginalType((ErrorType) resolved);
+++ }
+++
+++ resolved = org.netbeans.modules.java.hints.errors.Utilities.resolveCapturedType(info, resolved);
++
++ if (resolved == null || resolved.getKind() == TypeKind.VOID || resolved.getKind() == TypeKind.NONE ||resolved.getKind() == TypeKind.EXECUTABLE || resolved.getKind() == TypeKind.NULL) {
++ } else if (resolved.getKind() != TypeKind.ERROR &&
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/errors/CreateElement.java b/java.hints/src/org/netbeans/modules/java/hints/errors/CreateElement.java
++index 2a0958f58..382d1243f 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/errors/CreateElement.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/errors/CreateElement.java
++@@ -54,10 +54,8 @@ import com.sun.source.tree.NewClassTree;
++ import com.sun.source.tree.ParameterizedTypeTree;
++ import com.sun.source.tree.Tree;
++ import com.sun.source.tree.Tree.Kind;
++-import com.sun.source.tree.VariableTree;
++ import com.sun.source.util.TreePath;
++ import java.io.IOException;
++-import java.net.URL;
++ import java.util.ArrayList;
++ import java.util.Arrays;
++ import java.util.Collections;
++@@ -82,7 +80,6 @@ import javax.lang.model.type.TypeKind;
++ import javax.lang.model.type.TypeMirror;
++ import javax.lang.model.type.TypeVariable;
++ import org.netbeans.api.java.project.JavaProjectConstants;
++-import org.netbeans.api.java.queries.UnitTestForSourceQuery;
++ import org.netbeans.api.java.source.ClasspathInfo.PathKind;
++ import org.netbeans.api.java.source.CompilationInfo;
++ import org.netbeans.api.java.source.ElementHandle;
++@@ -92,7 +89,6 @@ import org.netbeans.api.project.FileOwnerQuery;
++ import org.netbeans.api.project.Project;
++ import org.netbeans.api.project.SourceGroup;
++ import org.netbeans.api.project.SourceGroupModifier;
++-import org.netbeans.api.project.Sources;
++ import org.netbeans.modules.java.hints.errors.CreateClassFix.CreateInnerClassFix;
++ import org.netbeans.modules.java.hints.errors.CreateClassFix.CreateOuterClassFix;
++ import org.netbeans.modules.java.hints.infrastructure.ErrorHintsProvider;
++@@ -107,7 +103,6 @@ import static org.netbeans.modules.java.hints.errors.CreateElementUtilities.*;
++ import org.netbeans.modules.java.hints.errors.ErrorFixesFakeHint.FixKind;
++ import org.netbeans.modules.java.hints.errors.Utilities.MethodArguments;
++ import org.openide.filesystems.FileUtil;
++-import org.openide.filesystems.URLMapper;
++ import org.openide.util.Pair;
++
++ /**
++@@ -185,7 +180,6 @@ public final class CreateElement implements ErrorRule<Void> {
++ TreePath parent = null;
++ TreePath firstClass = null;
++ TreePath firstMethod = null;
++- TreePath firstVar = null;
++ TreePath firstInitializer = null;
++ TreePath methodInvocation = null;
++ TreePath newClass = null;
++@@ -213,21 +207,11 @@ public final class CreateElement implements ErrorRule<Void> {
++ if ( leafKind == Kind.BLOCK && TreeUtilities.CLASS_TREE_KINDS.contains(path.getParentPath().getLeaf().getKind())
++ && firstMethod == null && firstClass == null)
++ firstInitializer = path;
++-
++- if (leafKind == Kind.ANNOTATION) {
++- // discard any methods, since there cannot be method calls in anno values
++- methodInvocation = null;
++- lookupMethodInvocation = false;
++- }
++
++ if (lookupMethodInvocation && leafKind == Kind.METHOD_INVOCATION) {
++ methodInvocation = path;
++ }
++
++- if (leafKind == Kind.VARIABLE) {
++- firstVar = path;
++- }
++-
++ if (lookupNCT && leafKind == Kind.NEW_CLASS) {
++ newClass = path;
++ }
++@@ -309,12 +293,14 @@ public final class CreateElement implements ErrorRule<Void> {
++ if (((MethodTree)firstMethod.getLeaf()).getModifiers().getFlags().contains(Modifier.STATIC)) {
++ modifiers.add(Modifier.STATIC);
++ }
++- } else if (firstInitializer != null) {
++- if (((BlockTree) firstInitializer.getLeaf()).isStatic()) {
++- modifiers.add(Modifier.STATIC);
+++ } else {
+++ if (firstInitializer != null) {
+++ if (((BlockTree) firstInitializer.getLeaf()).isStatic()) {
+++ modifiers.add(Modifier.STATIC);
+++ }
+++ } else {
+++ //TODO: otherwise.
++ }
++- } else if (firstVar != null && ((VariableTree)firstVar.getLeaf()).getModifiers().getFlags().contains(Modifier.STATIC)) {
++- modifiers.add(Modifier.STATIC);
++ }
++ }
++ }
++@@ -366,9 +352,6 @@ public final class CreateElement implements ErrorRule<Void> {
++ List<TypeMirror> types = (List<TypeMirror>)resolveType(fixTypes, info, parent, errorPath.getLeaf(), offset, superType, numTypeParameters);
++ ElementKind classType = getClassType(fixTypes);
++
++- if (!ErrorFixesFakeHint.enabled(info.getFileObject(), FixKind.CREATE_LOCAL_VARIABLE)) {
++- fixTypes.remove(ElementKind.LOCAL_VARIABLE);
++- }
++ final TypeMirror type;
++
++ if (types != null && !types.isEmpty()) {
++@@ -376,7 +359,7 @@ public final class CreateElement implements ErrorRule<Void> {
++ int i = 0;
++ for (Iterator<TypeMirror> it = types.iterator(); it.hasNext(); ) {
++ final TypeMirror t = it.next();
++- final TypeMirror resolved = Utilities.resolveTypeForDeclaration(info, t);
+++ final TypeMirror resolved = Utilities.resolveCapturedType(info, t);
++ if (resolved != t) {
++ if (resolvedTypes == null) {
++ resolvedTypes = new ArrayList(types);
++@@ -422,7 +405,7 @@ public final class CreateElement implements ErrorRule<Void> {
++ } else {
++ List<Fix> currentResult = new LinkedList<Fix>();
++
++- currentResult.addAll(prepareCreateOuterClassFix(info, newClass, source, EnumSet.of(Modifier.PUBLIC), simpleName, nct.getArguments(), type, ElementKind.CLASS, numTypeArguments));
+++ currentResult.addAll(prepareCreateOuterClassFix(info, newClass, source, EnumSet.noneOf(Modifier.class), simpleName, nct.getArguments(), type, ElementKind.CLASS, numTypeArguments));
++ if (!baseType || outermostTypeElement != source)
++ currentResult.addAll(prepareCreateInnerClassFix(info, newClass, outermostTypeElement, EnumSet.of(outermostTypeElement != null && outermostTypeElement.getKind().isInterface() ? Modifier.PUBLIC : Modifier.PRIVATE, Modifier.STATIC), simpleName, nct.getArguments(), type, ElementKind.CLASS, numTypeArguments));
++
++@@ -492,7 +475,7 @@ public final class CreateElement implements ErrorRule<Void> {
++ modifiers.add(Modifier.FINAL);
++ }
++ }
++- if (ErrorFixesFakeHint.enabled(info.getFileObject(), ErrorFixesFakeHint.FixKind.CREATE_FINAL_FIELD_CTOR)) {
+++ if (ErrorFixesFakeHint.enabled(ErrorFixesFakeHint.FixKind.CREATE_FINAL_FIELD_CTOR)) {
++ result.add(new CreateFieldFix(info, simpleName, modifiers, (TypeElement) target, type, targetFile));
++ }
++ }
++@@ -520,7 +503,7 @@ public final class CreateElement implements ErrorRule<Void> {
++ private static List<Fix> prepareCreateMethodFix(CompilationInfo info, TreePath invocation, Set<Modifier> modifiers, TypeElement target, String simpleName, List<? extends ExpressionTree> arguments, List<? extends TypeMirror> returnTypes) {
++ //return type:
++ //XXX: should reasonably consider all the found type candidates, not only the one:
++- TypeMirror returnType = returnTypes != null ? Utilities.resolveTypeForDeclaration(info, returnTypes.get(0)) : null;
+++ TypeMirror returnType = returnTypes != null ? Utilities.resolveCapturedType(info, returnTypes.get(0)) : null;
++
++ //currently, we cannot handle error types, TYPEVARs and WILDCARDs:
++ if (returnType != null && Utilities.containsErrorsRecursively(returnType)) {
++@@ -568,44 +551,20 @@ public final class CreateElement implements ErrorRule<Void> {
++ if (null == p) {
++ return Collections.emptyMap();
++ }
++-
++- Sources src = p.getLookup().lookup(Sources.class);
++- SourceGroup[] sGroups = src.getSourceGroups(JavaProjectConstants.SOURCES_TYPE_JAVA);
++-
++- SourceGroup sourceGroup = null;
++-
++- Set<FileObject> testRoots = new HashSet<>();
++- SourceGroup linkedSources = null;
++-
++- for (SourceGroup sg : sGroups) {
++- URL[] urls = UnitTestForSourceQuery.findUnitTests(sg.getRootFolder());
++- for (URL u : urls) {
++- FileObject r = URLMapper.findFileObject(u);
++- if (r != null) {
++- if (testRoots.add(r)) {
++- if (FileUtil.isParentOf(r, fileObject)) {
++- isInTestSources = true;
++- linkedSources = sg;
++- }
++- }
++- }
++- }
++- if (FileUtil.isParentOf(sg.getRootFolder(), fileObject)) {
++- sourceGroup = sg;
++- }
++- }
++-
+++
+++ SourceGroup sourceGroup = SourceGroupModifier.createSourceGroup(p, JavaProjectConstants.SOURCES_TYPE_JAVA, JavaProjectConstants.SOURCES_HINT_MAIN);
+++ SourceGroup testSourceGroup = SourceGroupModifier.createSourceGroup(p, JavaProjectConstants.SOURCES_TYPE_JAVA, JavaProjectConstants.SOURCES_HINT_TEST);
++
++ Map<SourceGroup, Integer> list = new HashMap<>();
++ if (isInTestSources) {
++ //in test sources (f.e. src/test/java) -> return main sources and test sources
++- if (null != linkedSources) {
++- list.put(linkedSources, PRIO_MAINSOURCEGROUP);
+++ if (null != sourceGroup) {
+++ list.put(sourceGroup, PRIO_MAINSOURCEGROUP);
++ }
++
++- if (null != sourceGroup) {
+++ if (null != testSourceGroup) {
++ //test source group has a higher prio -> before main source group
++- list.put(sourceGroup, PRIO_TESTSOURCEGROUP);
+++ list.put(testSourceGroup, PRIO_TESTSOURCEGROUP);
++ }
++
++ } else {
++@@ -616,7 +575,7 @@ public final class CreateElement implements ErrorRule<Void> {
++ }
++ return list;
++ }
++-
+++
++ private static Boolean isInTestSources(FileObject fileObject) {
++ Project p = FileOwnerQuery.getOwner(fileObject);
++ if (null == p) {
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/errors/ErrorFixesFakeHint.java b/java.hints/src/org/netbeans/modules/java/hints/errors/ErrorFixesFakeHint.java
++index c842c839c..966b48849 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/errors/ErrorFixesFakeHint.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/errors/ErrorFixesFakeHint.java
++@@ -148,15 +148,6 @@ public class ErrorFixesFakeHint extends AbstractHint {
++ return getHint(kind).isEnabled();
++ }
++
++- public static boolean enabled(FileObject forFile, FixKind fixKind) {
++- Preferences prefs = getPreferences(forFile, fixKind);
++- if (prefs == null) {
++- return enabled(fixKind);
++- }
++- String s = prefs.get("enabled", null);
++- return s == null ? enabled(fixKind) : Boolean.parseBoolean(s);
++- }
++-
++ public static Preferences getPreferences(FileObject forFile, FixKind fixKind) {
++ return HintsSettings.getSettingsFor(forFile).getHintPreferences(HintMetadata.Builder.create(getHint(fixKind).getId()).build());
++ }
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/errors/ExtraCatch.java b/java.hints/src/org/netbeans/modules/java/hints/errors/ExtraCatch.java
++index 3bad40af9..e0fae410d 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/errors/ExtraCatch.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/errors/ExtraCatch.java
++@@ -162,12 +162,39 @@ public class ExtraCatch implements ErrorRule<Void> {
++ TreeMaker make = ctx.getWorkingCopy().getTreeMaker();
++
++ if (parent.getResources().isEmpty() && parent.getCatches().size() == 1) {
++- List<StatementTree> repl = new ArrayList<>();
++- repl.addAll(parent.getBlock().getStatements());
+++ Tree parentParent = ctx.getPath().getParentPath().getParentPath().getLeaf();
+++ List<StatementTree> statements;
+++ BlockTree parentBlock = null;
+++ CaseTree parentCase = null;
+++
+++ switch (parentParent.getKind()) {
+++ case BLOCK: {
+++ parentBlock = (BlockTree) parentParent;
+++ statements = new ArrayList<>(parentBlock.getStatements());
+++ break;
+++ }
+++ case CASE: {
+++ parentCase = (CaseTree) parentParent;
+++ statements = new ArrayList<>(parentCase.getStatements());
+++ break;
+++ }
+++ default:
+++ throw new IllegalStateException();
+++ }
+++ int at = statements.indexOf(parent);
+++ statements.addAll(at, parent.getBlock().getStatements());
++ if (parent.getFinallyBlock() != null) {
++- repl.addAll(parent.getFinallyBlock().getStatements());
+++ statements.addAll(at + parent.getBlock().getStatements().size(), parent.getFinallyBlock().getStatements());
+++ }
+++ statements.remove(parent);
+++ Tree stat;
+++
+++ if (parentParent.getKind() == Tree.Kind.BLOCK) {
+++ stat = make.Block(statements, parentBlock.isStatic());
+++ } else {
+++ stat = make.Case(parentCase.getExpression(), statements);
++ }
++- Utilities.replaceStatement(ctx.getWorkingCopy(), ctx.getPath().getParentPath(), repl);
+++ ctx.getWorkingCopy().rewrite(parentParent, stat);
++ } else {
++ ctx.getWorkingCopy().rewrite(parent, make.removeTryCatch(parent, toRemove));
++ }
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/errors/ImplementAllAbstractMethods.java b/java.hints/src/org/netbeans/modules/java/hints/errors/ImplementAllAbstractMethods.java
++index 5336efd3c..b3368a49b 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/errors/ImplementAllAbstractMethods.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/errors/ImplementAllAbstractMethods.java
++@@ -43,7 +43,6 @@
++ */
++ package org.netbeans.modules.java.hints.errors;
++
++-import org.netbeans.modules.java.hints.friendapi.OverrideErrorMessage;
++ import com.sun.source.tree.ClassTree;
++ import com.sun.source.tree.CompilationUnitTree;
++ import com.sun.source.tree.MethodTree;
++@@ -58,42 +57,37 @@ import com.sun.source.util.TreePathScanner;
++ import java.io.IOException;
++ import java.util.ArrayList;
++ import java.util.Arrays;
++-import java.util.HashMap;
+++import java.util.Collections;
++ import java.util.HashSet;
++ import java.util.List;
++-import java.util.ListIterator;
++ import java.util.Map;
++ import java.util.Set;
++-import java.util.concurrent.Future;
++ import javax.lang.model.element.Element;
++ import javax.lang.model.element.ElementKind;
++ import javax.lang.model.element.ExecutableElement;
++ import javax.lang.model.element.Modifier;
++ import javax.lang.model.element.TypeElement;
+++import javax.lang.model.element.VariableElement;
++ import javax.lang.model.type.DeclaredType;
++ import javax.lang.model.type.TypeKind;
++ import javax.lang.model.type.TypeMirror;
++ import javax.lang.model.util.ElementFilter;
+++import javax.swing.SwingUtilities;
++ import javax.swing.text.BadLocationException;
++ import javax.tools.Diagnostic;
++-import org.netbeans.api.java.source.CompilationController;
++ import org.netbeans.api.java.source.CompilationInfo;
++-import org.netbeans.api.java.source.ElementHandle;
++ import org.netbeans.api.java.source.ElementUtilities;
++ import org.netbeans.api.java.source.GeneratorUtilities;
++ import org.netbeans.api.java.source.JavaSource;
++ import org.netbeans.api.java.source.JavaSource.Phase;
++-import org.netbeans.api.java.source.ModificationResult;
++ import org.netbeans.api.java.source.Task;
++-import org.netbeans.api.java.source.TreePathHandle;
++ import org.netbeans.api.java.source.TreeUtilities;
++ import org.netbeans.api.java.source.WorkingCopy;
++ import org.netbeans.editor.GuardedException;
++-import org.netbeans.modules.java.editor.codegen.ImplementOverrideMethodGenerator;
+++import org.netbeans.modules.java.editor.codegen.GeneratorUtils;
++ import org.netbeans.modules.java.hints.spi.ErrorRule;
++ import org.netbeans.spi.editor.hints.ChangeInfo;
++ import org.netbeans.spi.editor.hints.Fix;
++-import org.netbeans.spi.java.hints.JavaFix;
++ import org.openide.awt.StatusDisplayer;
++ import org.openide.util.Exceptions;
++ import org.openide.util.NbBundle;
++@@ -102,7 +96,7 @@ import org.openide.util.NbBundle;
++ *
++ * @author Jan Lahoda
++ */
++-public final class ImplementAllAbstractMethods implements ErrorRule<Object>, OverrideErrorMessage<Object> {
+++public final class ImplementAllAbstractMethods implements ErrorRule<Boolean>, OverrideErrorMessage<Boolean> {
++
++ private static final String PREMATURE_EOF_CODE = "compiler.err.premature.eof"; // NOI18N
++
++@@ -117,154 +111,71 @@ public final class ImplementAllAbstractMethods implements ErrorRule<Object>, Ove
++ "compiler.err.abstract.cant.be.instantiated", // NOI18N
++ "compiler.err.enum.constant.does.not.override.abstract")); // NOI18N
++ }
++-
++- /**
++- * Returns the Element which is incomplete, or, for anonymous classes,
++- * returns the extended TypeElement (which is also incomplete). This is because
++- * an Element is not available for the incomplete class.
++- */
++- private static TypeElement findTypeElement(CompilationInfo info, TreePath path) {
++- Element e = info.getTrees().getElement(path);
++- if (e == null) {
++- return null;
++- } else if (e.getKind().isClass() || e.getKind().isInterface()) {
++- return (TypeElement)e;
++- }
++- TypeMirror tm = info.getTrees().getTypeMirror(path);
++- if (tm == null || tm.getKind() != TypeKind.DECLARED) {
++- if (path.getLeaf().getKind() == Tree.Kind.NEW_CLASS) {
++- tm = info.getTrees().getTypeMirror(new TreePath(path, ((NewClassTree)path.getLeaf()).getIdentifier()));
++- }
++- }
++- if (tm != null && tm.getKind() == TypeKind.DECLARED) {
++- return (TypeElement)((DeclaredType)tm).asElement();
++- } else {
++- return null;
++- }
++- }
++
++ @NbBundle.Messages({
++ "ERR_CannotOverrideAbstractMethods=Inherited abstract methods are not accessible and could not be implemented"
++ })
++ @Override
++- public String createMessage(CompilationInfo info, Diagnostic diag, int offset, TreePath treePath, Data<Object> data) {
+++ public String createMessage(CompilationInfo info, String diagnosticKey, int offset, TreePath treePath, Data<Boolean> data) {
++ TreePath path = deepTreePath(info, offset);
++- Element e = findTypeElement(info, path);
+++ Element e = info.getTrees().getElement(path);
+++ if (e == null || !e.getKind().isClass()) {
+++ TypeMirror tm = info.getTrees().getTypeMirror(path);
+++ if (tm == null || tm.getKind() != TypeKind.DECLARED) {
+++ if (path.getLeaf().getKind() == Tree.Kind.NEW_CLASS) {
+++ tm = info.getTrees().getTypeMirror(new TreePath(path, ((NewClassTree)path.getLeaf()).getIdentifier()));
+++ }
+++ }
+++ if (tm != null && tm.getKind() == TypeKind.DECLARED) {
+++ e = ((DeclaredType)tm).asElement();
+++ } else {
+++ return null;
+++ }
+++ }
++ if (e == null) {
++ return null;
++ }
++- Map<Tree, Object> d = (Map)data.getData();
++- if (d == null) {
++- data.setData(d = new HashMap<>());
++- }
++- List<? extends ExecutableElement> lee = info.getElementUtilities().findUnimplementedMethods((TypeElement)e, true);
+++ List<? extends ExecutableElement> lee = info.getElementUtilities().findUnimplementedMethods((TypeElement)e);
++ Scope s = info.getTrees().getScope(path);
++- boolean hasDefault = false;
++ for (ExecutableElement ee : lee) {
++ if (!info.getTrees().isAccessible(s, ee, (DeclaredType)e.asType())) {
++- // mark the diagnostic as processed; run() will not bother with analysis of the issue.
++- d.put(path.getLeaf(), true);
+++ data.setData(true);
++ return Bundle.ERR_CannotOverrideAbstractMethods();
++
++ }
++- if (ee.getModifiers().contains(Modifier.DEFAULT)) {
++- hasDefault = true;
++- }
++- }
++- if (hasDefault) {
++- d.put(path.getLeaf(), Boolean.FALSE);
++ }
++ return null;
++ }
++
++- public List<Fix> run(final CompilationInfo info, String diagnosticKey, final int offset, TreePath treePath, Data<Object> data) {
++- TreePath path = deepTreePath(info, offset);
++- if (path == null) {
++- return null;
++- }
++-
++- Map<Tree, Object> holder = data == null ? null : (Map)data.getData();
++- Object saved = null;
++- if (holder != null) {
++- saved = holder.get(path.getLeaf());
++- }
++- if (Boolean.TRUE == saved) {
+++ public List<Fix> run(final CompilationInfo info, String diagnosticKey, final int offset, TreePath treePath, Data<Boolean> data) {
+++ final List<Fix> result = new ArrayList<Fix>();
+++ if (data != null && Boolean.TRUE == data.getData()) {
++ return null;
++ }
++- Element e = info.getTrees().getElement(path);
++- final Tree leaf = path.getLeaf();
++- boolean isUsableElement = e != null && (e.getKind().isClass() || e.getKind().isInterface());
++- boolean containsDefaultMethod = saved == Boolean.FALSE;
++-
++- boolean completingAnonymous = e != null && e.getKind() == ElementKind.CONSTRUCTOR &&
++- leaf.getKind() == Tree.Kind.NEW_CLASS;
++- TypeElement tel = findTypeElement(info, path);
++-
++- List<Fix> fixes = new ArrayList<>();
++- if (TreeUtilities.CLASS_TREE_KINDS.contains(leaf.getKind())) {
++- CompilationUnitTree cut = info.getCompilationUnit();
++- // do not offer for class declarations without body
++- long start = info.getTrees().getSourcePositions().getStartPosition(cut, leaf);
++- long end = info.getTrees().getSourcePositions().getEndPosition(cut, leaf);
++- for (Diagnostic d : info.getDiagnostics()) {
++- long position = d.getPosition();
++- if (d.getCode().equals(PREMATURE_EOF_CODE) && position > start && position < end) {
++- return null;
++- }
+++ analyze(offset, info, new Performer() {
+++ @Override
+++ public void fixAllAbstractMethods(TreePath pathToModify, Tree toModify) {
+++ result.add(new FixImpl(info.getJavaSource(), offset, null));
++ }
++- }
++-
++- if (completingAnonymous) {
++- //if the parent of path.getLeaf is an error, the situation probably is like:
++- //new Runnable {}
++- //(missing '()' for constructor)
++- //do not propose the hint in this case:
++- final boolean[] parentError = new boolean[] {false};
++- new TreePathScanner() {
++- @Override
++- public Object visitNewClass(NewClassTree nct, Object o) {
++- if (leaf == nct) {
++- parentError[0] = getCurrentPath().getParentPath().getLeaf().getKind() == Kind.ERRONEOUS;
++- }
++- return super.visitNewClass(nct, o);
+++ @Override
+++ public void makeClassAbstract(TreePath pathToModify, String className) {
+++ Tree toModify = pathToModify.getLeaf();
+++ Element el = info.getTrees().getElement(pathToModify);
+++ if (el == null) {
+++ return;
++ }
++- }.scan(path.getParentPath(), null);
++- if (parentError[0]) {
++- // ignore
++- return null;
++- }
++- fixes.add(new ImplementAbstractMethodsFix(info, path, tel, containsDefaultMethod));
++- }
++- boolean someAbstract = false;
++- X: if (isUsableElement) {
++- for (ExecutableElement ee : ElementFilter.methodsIn(e.getEnclosedElements())) {
++- if (ee.getModifiers().contains(Modifier.ABSTRACT)) {
++- // make class abstract. In case of enums, suggest to implement the
++- // abstract methods on all enum values.
++- if (e.getKind() == ElementKind.ENUM) {
++- // cannot make enum abstract, but can generate abstract methods skeleton
++- // to all enum members
++- fixes.add(new ImplementOnEnumValues2(info, tel, containsDefaultMethod));
++- // avoid other possible fixes:
++- break X;
++- } else if (e.getKind().isClass()) {
++- someAbstract = true;
++- break;
++- }
+++ if (el.getKind() == ElementKind.ENUM) {
+++ result.add(new ImplementOnEnumValues(info.getJavaSource(), offset));
+++ } else {
+++ result.add(new FixImpl(info.getJavaSource(), offset, className));
++ }
++ }
++- // offer to fix all abstract methods
++- if (!someAbstract) {
++- fixes.add(new ImplementAbstractMethodsFix(info, path, tel, containsDefaultMethod));
++- }
++- if (e.getKind() == ElementKind.CLASS && e.getSimpleName() != null && !e.getSimpleName().contentEquals("")) {
++- fixes.add(new MakeAbstractFix(info, path, e.getSimpleName().toString()).toEditorFix());
+++ public void inaccessibleMethod(ExecutableElement ee) {
+++
++ }
++- }
++- if (e != null && e.getKind() == ElementKind.ENUM_CONSTANT) {
++- fixes.add(new ImplementAbstractMethodsFix(info, path, tel, containsDefaultMethod));
++- }
++- return fixes;
+++ });
+++
+++ return result;
++ }
++
++ public void cancel() {
++@@ -283,304 +194,199 @@ public final class ImplementAllAbstractMethods implements ErrorRule<Object>, Ove
++ return NbBundle.getMessage(ImplementAllAbstractMethods.class, "DSC_Impl_Abstract_Methods"); // NOI18N
++ }
++
+++ private static interface Performer {
+++
+++ public void fixAllAbstractMethods(TreePath pathToModify, Tree toModify);
+++ public void makeClassAbstract(TreePath toModify, String className);
+++// public void inaccessibleMethod(ExecutableElement ee);
+++
+++ }
+++
++ private static TreePath deepTreePath(CompilationInfo info, int offset) {
++ TreePath basic = info.getTreeUtilities().pathFor(offset);
++ TreePath plusOne = info.getTreeUtilities().pathFor(offset + 1);
++
++- TreePath parent = plusOne.getParentPath();
++- if (parent == null) {
++- return basic;
++- }
++- if (plusOne.getLeaf().getKind() == Kind.NEW_CLASS &&
++- parent.getLeaf().getKind() == Kind.EXPRESSION_STATEMENT) {
++- parent = parent.getParentPath();
++- if (parent == null) {
++- return basic;
++- }
++- }
++- if (parent.getLeaf() == basic.getLeaf()) {
+++ if (plusOne.getParentPath() != null && plusOne.getParentPath().getLeaf() == basic.getLeaf()) {
++ return plusOne;
++ }
+++
++ return basic;
++ }
++
++- static abstract class ImplementFixBase implements Fix, Task<WorkingCopy>, DebugFix {
++- protected final JavaSource source;
++- protected final TreePathHandle handle;
++- protected final ElementHandle<TypeElement> implementType;
++- protected final boolean displayUI;
++-
++- protected TreePath path;
++- private boolean commit;
++- protected WorkingCopy copy;
+++ private static void analyze(int offset, CompilationInfo info, Performer performer) {
+++ analyze(deepTreePath(info, offset), info, performer);
+++ }
+++
+++ private static void analyze(TreePath path, CompilationInfo info, Performer performer) {
+++ Element e = info.getTrees().getElement(path);
+++ boolean isUsableElement = e != null && (e.getKind().isClass() || e.getKind().isInterface());
+++ final Tree leaf = path.getLeaf();
++
++- private int round;
++- private List<ElementHandle<? extends Element>> elementsToImplement;
++-
++- protected ImplementFixBase(CompilationInfo info, TreePath p, TypeElement el, boolean displayUI) {
++- this.source = info.getJavaSource();
++- this.handle = TreePathHandle.create(p, info);
++- this.implementType = ElementHandle.create(el);
++- this.displayUI = displayUI;
++- }
++-
++- protected ImplementFixBase(CompilationInfo info, TypeElement el, boolean displayUI) {
++- this.source = info.getJavaSource();
++- this.handle = TreePathHandle.create(el, info);
++- this.implementType = ElementHandle.create(el);
++- this.displayUI = displayUI;
++- }
+++ if (isUsableElement) {
+++ //#85806: do not propose implement all abstract methods when the current class contains abstract methods:
+++ for (ExecutableElement ee : ElementFilter.methodsIn(e.getEnclosedElements())) {
+++ if (ee.getModifiers().contains(Modifier.ABSTRACT)) {
+++ performer.makeClassAbstract(path, e.getSimpleName().toString());
+++ return;
+++ }
+++ }
++
++- @Override
++- public ChangeInfo implement() throws Exception {
++- if (displayUI) {
++- final Future[] selector = { null };
++- source.runUserActionTask(new Task<CompilationController>() {
++- @Override
++- public void run(CompilationController ctrl) throws Exception {
++- TypeElement tel = implementType.resolve(ctrl);
++- selector[0] = ImplementOverrideMethodGenerator.selectMethodsToImplement(ctrl, tel);
++- }
++- }, true);
++- if (selector[0] != null) {
++- Future< List<ElementHandle<? extends Element>> > f = (Future< List<ElementHandle<? extends Element>> > )selector[0];
++- elementsToImplement = f.get();
++- if (elementsToImplement == null) {
++- // cancelled.
++- return null;
+++ if (TreeUtilities.CLASS_TREE_KINDS.contains(leaf.getKind())) {
+++ CompilationUnitTree cut = info.getCompilationUnit();
+++ // do not offer for class declarations without body
+++ long start = info.getTrees().getSourcePositions().getStartPosition(cut, leaf);
+++ long end = info.getTrees().getSourcePositions().getEndPosition(cut, leaf);
+++ for (Diagnostic d : info.getDiagnostics()) {
+++ long position = d.getPosition();
+++ if (d.getCode().equals(PREMATURE_EOF_CODE) && position > start && position < end) {
+++ return;
++ }
++ }
++ }
++- // first round, generate curly braces after each member which does
++- // not have any
++- ModificationResult res = source.runModificationTask(this);
++- if (!commit) {
++- return null;
++- }
++
++- commit = false;
++- round++;
++- res = source.runModificationTask(this);
++- if (commit) {
++- res.commit();
++- }
++- return null;
++- }
++-
++- protected abstract boolean executeRound(Element el, int round) throws Exception;
++-
++- @Override
++- public void run(WorkingCopy parameter) throws Exception {
++- this.copy = parameter;
++- parameter.toPhase(Phase.RESOLVED);
++- path = handle.resolve(parameter);
++- if (path == null) {
++- return;
++- }
++-
++- Element el = implementType.resolve(copy);
++- if (el == null) {
++- return;
++- }
++- commit = executeRound(el, round);
++- }
++-
++- protected boolean generateClassBody(TreePath p) throws Exception {
++- Element e = copy.getTrees().getElement(p);
++- boolean isUsableElement = e != null && (e.getKind().isClass() || e.getKind().isInterface());
++- if (isUsableElement) {
++- return true;
++- }
++- if (e.getKind() == ElementKind.ENUM_CONSTANT) {
++- VariableTree var = (VariableTree) p.getLeaf();
++- if (var.getInitializer() != null && var.getInitializer().getKind() == Kind.NEW_CLASS) {
++- NewClassTree nct = (NewClassTree) var.getInitializer();
++- if (nct.getClassBody() != null) {
++- return true;
+++ performer.fixAllAbstractMethods(path, leaf);
+++
+++ if (e.getKind() == ElementKind.CLASS && e.getSimpleName() != null && !e.getSimpleName().contentEquals(""))
+++ performer.makeClassAbstract(path, e.getSimpleName().toString());
+++ } else if (leaf.getKind() == Kind.NEW_CLASS) {
+++ //if the parent of path.getLeaf is an error, the situation probably is like:
+++ //new Runnable {}
+++ //(missing '()' for constructor)
+++ //do not propose the hint in this case:
+++ final boolean[] parentError = new boolean[] {false};
+++ new TreePathScanner() {
+++ @Override
+++ public Object visitNewClass(NewClassTree nct, Object o) {
+++ if (leaf == nct) {
+++ parentError[0] = getCurrentPath().getParentPath().getLeaf().getKind() == Kind.ERRONEOUS;
++ }
+++ return super.visitNewClass(nct, o);
++ }
+++ }.scan(path.getParentPath(), null);
+++ if (!parentError[0]) {
+++ performer.fixAllAbstractMethods(path, leaf);
++ }
++- return !generateClassBody2(copy, p);
++- }
++-
++- protected boolean generateImplementation(Element el, TreePath p) {
++- Tree leaf = p.getLeaf();
++-
++- Element e = copy.getTrees().getElement(p);
++- if (e != null && e.getKind() == ElementKind.ENUM_CONSTANT) {
++- VariableTree var = (VariableTree) leaf;
++- if (var.getInitializer() != null && var.getInitializer().getKind() == Kind.NEW_CLASS) {
++- NewClassTree nct = (NewClassTree) var.getInitializer();
++- assert nct.getClassBody() != null;
++- TreePath enumInit = new TreePath(p, nct);
++- TreePath toModify = new TreePath(enumInit, nct.getClassBody());
++- generateAllAbstractMethodImplementations(copy, toModify, elementsToImplement);
++- return true;
+++ } else if (e != null && e.getKind() == ElementKind.ENUM_CONSTANT && leaf.getKind() == Kind.VARIABLE) {
+++ VariableTree var = (VariableTree) leaf;
+++ if (var.getInitializer() != null && var.getInitializer().getKind() == Kind.NEW_CLASS) {
+++ NewClassTree nct = (NewClassTree) var.getInitializer();
+++ TreePath toModify = new TreePath(path, var.getInitializer());
+++ if (nct.getClassBody() != null) {
+++ performer.fixAllAbstractMethods(new TreePath(toModify, nct.getClassBody()), nct.getClassBody());
++ } else {
++- return false;
+++ performer.fixAllAbstractMethods(toModify, leaf);
++ }
++ }
++- if (el.getKind().isClass() || el.getKind().isInterface()) {
++- generateAllAbstractMethodImplementations(copy, p, elementsToImplement);
++- return true;
++- }
++- return false;
++ }
++ }
++-
+++
++ /**
++- * Fix which implements the [missing] abstract methods on all enum's values. It does so
++- * in two phases: during the first, each of the enum values, which does not (yet) specify
++- * class body, gets curly braces. The source is then reparsed to get fresh trees.
++- * After that, method generation is applied on all enum values.
+++ * Implements the abstract methods on each declared value of an enum, if not alredy implemented. The enum may not
+++ * derive from any superclass, nor enum so anything abstract (or derived/not implemneted) in the enum type
+++ * must be implemented by individual values.
++ */
++ @NbBundle.Messages({
++- "LBL_FIX_Impl_Methods_Enum_Values2=Implement abstract methods on all enum values"
+++ "LBL_FIX_Impl_Methods_Enum_Values=Implement abstract methods on all enum values"
++ })
++- static final class ImplementOnEnumValues2 extends ImplementFixBase {
+++ static final class ImplementOnEnumValues implements Fix {
+++ private final JavaSource js;
+++ private final int offset;
++
++- public ImplementOnEnumValues2(CompilationInfo info, TypeElement e, boolean prompt) {
++- super(info, e, prompt);
+++ public ImplementOnEnumValues(JavaSource js, int offset) {
+++ this.js = js;
+++ this.offset = offset;
++ }
++
++ @Override
++ public String getText() {
++- return Bundle.LBL_FIX_Impl_Methods_Enum_Values2();
+++ return Bundle.LBL_FIX_Impl_Methods_Enum_Values();
++ }
++
++ @Override
++- protected boolean executeRound(Element el, int round) throws Exception {
++- if (el.getKind() != ElementKind.ENUM) {
++- return false;
++- }
++- ClassTree ct = (ClassTree)path.getLeaf();
++- for (ListIterator<? extends Tree> it = ct.getMembers().listIterator(ct.getMembers().size()); it.hasPrevious(); ) {
++- Tree t = it.previous();
++-
++- if (t.getKind() != Tree.Kind.VARIABLE) {
++- continue;
++- }
++- TreePath p = new TreePath(path, t);
++- Element e = copy.getTrees().getElement(p);
++- if (e == null || e.getKind() != ElementKind.ENUM_CONSTANT) {
++- continue;
++- }
+++ public ChangeInfo implement() throws IOException {
+++ final boolean[] repeat = new boolean[] { false };
+++ final int[] offsetArr = {offset};
+++ js.runModificationTask(new Task<WorkingCopy>() {
++
++- switch (round) {
++- case 0:
++- if (!generateClassBody(p)) {
++- return false;
++- }
++- break;
++- case 1:
++- if (!generateImplementation(el, p)) {
++- return false;
+++ public void run(final WorkingCopy copy) throws IOException {
+++ copy.toPhase(Phase.RESOLVED);
+++
+++ TreePath enumPath = deepTreePath(copy, offset);
+++ if (enumPath.getLeaf().getKind() != Tree.Kind.ENUM) {
+++ return;
+++ }
+++ Element el = copy.getTrees().getElement(enumPath);
+++ if (el == null) {
+++ // TODO: report to user
+++ return;
+++ }
+++ ArrayList<? extends Element> al = new ArrayList(el.getEnclosedElements());
+++ Collections.reverse(al);
+++ for (VariableElement e : ElementFilter.fieldsIn(al)) {
+++ if (e.getKind() != ElementKind.ENUM_CONSTANT) {
+++ continue;
++ }
++- break;
++- default:
++- throw new IllegalStateException();
+++ analyze(copy.getTrees().getPath(e), copy, new Performer() {
+++
+++ @Override
+++ public void fixAllAbstractMethods(TreePath pathToModify, Tree toModify) {
+++ fixClassOrVariable(copy, pathToModify, toModify, offsetArr, repeat);
+++ }
+++
+++ @Override
+++ public void makeClassAbstract(TreePath toModify, String className) {
+++ // no op
+++ }
+++
+++ });
+++ }
++ }
+++ }).commit();
+++ if (!repeat[0]) {
+++ return null;
++ }
++- return true;
++- }
++-
++- @Override
++- public String toDebugString() {
++- return "IOEV";
++- }
++- }
++-
++- private static boolean generateClassBody2(WorkingCopy copy, TreePath p) throws Exception {
++- int insertOffset = (int) copy.getTrees().getSourcePositions().getEndPosition(copy.getCompilationUnit(), p.getLeaf());
++- if (insertOffset == -1) {
++- return false;
++- }
++- try {
++- copy.getDocument().insertString(insertOffset, " {}", null);
++- } catch (GuardedException ex) {
++- String message = NbBundle.getMessage(ImplementAllAbstractMethods.class, "ERR_CannotApplyGuarded");
++- StatusDisplayer.getDefault().setStatusText(message);
++- return true;
++- } catch (BadLocationException | IOException ex) {
++- Exceptions.printStackTrace(ex);
++- return true;
++- }
++- return false;
++- }
++-
++- /**
++- * Makes the class abstract. If the class is final, the final modifier is removed.
++- */
++- private static class MakeAbstractFix extends JavaFix implements DebugFix {
++- private final String makeClassAbstractName;
+++ // second pass, actually implement all the methods
+++ js.runModificationTask(new Task<WorkingCopy>() {
++
++- public MakeAbstractFix(CompilationInfo info, TreePath tp, String makeClassAbstractName) {
++- super(info, tp);
++- this.makeClassAbstractName = makeClassAbstractName;
++- }
+++ public void run(final WorkingCopy copy) throws IOException {
+++ copy.toPhase(Phase.RESOLVED);
++
++- @Override
++- protected String getText() {
++- return NbBundle.getMessage(ImplementAllAbstractMethods.class, "LBL_FIX_Make_Class_Abstract", makeClassAbstractName); // MOI18N
++- }
+++ TreePath enumPath = deepTreePath(copy, offset);
+++ if (enumPath.getLeaf().getKind() != Tree.Kind.ENUM) {
+++ return;
+++ }
+++ Element el = copy.getTrees().getElement(enumPath);
+++ if (el == null) {
+++ // TODO: report to user
+++ return;
+++ }
+++ for (VariableElement e : ElementFilter.fieldsIn(el.getEnclosedElements())) {
+++ if (e.getKind() != ElementKind.ENUM_CONSTANT) {
+++ continue;
+++ }
+++ analyze(copy.getTrees().getPath(e), copy, new Performer() {
++
++- @Override
++- protected void performRewrite(TransformationContext ctx) throws Exception {
++- WorkingCopy wc = ctx.getWorkingCopy();
++- Tree.Kind k = ctx.getPath().getLeaf().getKind();
++- if (!TreeUtilities.CLASS_TREE_KINDS.contains(k)) {
++- // TODO: report
++- return;
++- }
++- ClassTree ct = (ClassTree)ctx.getPath().getLeaf();
++- ModifiersTree mt = ct.getModifiers();
++- Set<Modifier> mods = new HashSet<>(mt.getFlags());
++- mods.remove(Modifier.FINAL);
++- mods.add(Modifier.ABSTRACT);
++- ModifiersTree newMt = wc.getTreeMaker().Modifiers(mods, mt.getAnnotations());
++- wc.rewrite(mt, newMt);
++- }
+++ @Override
+++ public void fixAllAbstractMethods(TreePath pathToModify, Tree toModify) {
+++ fixClassOrVariable(copy, pathToModify, toModify, offsetArr, repeat);
+++ }
++
++- @Override
++- public String toDebugString() {
++- return "MA:" + makeClassAbstractName;
++- }
++- }
++-
++- private static class ImplementAbstractMethodsFix extends ImplementFixBase {
++- public ImplementAbstractMethodsFix(CompilationInfo info, TreePath path, TypeElement clazz, boolean prompt) {
++- super(info, path, clazz, prompt);
++- }
++-
++- @Override
++- public String getText() {
++- return NbBundle.getMessage(ImplementAbstractMethodsFix.class, "LBL_FIX_Impl_Abstract_Methods"); // MOI18N
++- }
+++ @Override
+++ public void makeClassAbstract(TreePath toModify, String className) {
+++ // no op
+++ }
++
++- @Override
++- protected boolean executeRound(Element el, int round) throws Exception {
++- switch (round) {
++- case 0:
++- return generateClassBody(path);
++- case 1: {
++- TreePath p = path;
++- if (path.getLeaf().getKind() == Kind.NEW_CLASS) {
++- p = new TreePath(path, ((NewClassTree)path.getLeaf()).getClassBody());
+++ });
++ }
++- return generateImplementation(el, p);
++ }
++- }
++- return false;
++- }
++- @Override
++- public String toDebugString() {
++- return "IAAM";
+++ }).commit();
+++ return null;
++ }
++ }
++
++ // copy from GeneratorUtils, need to change the processing a little.
++ public static Map<? extends ExecutableElement, ? extends ExecutableElement> generateAllAbstractMethodImplementations(
++- WorkingCopy wc, TreePath path, List<ElementHandle<? extends Element>> toImplementHandles) {
+++ WorkingCopy wc, TreePath path) {
++ assert TreeUtilities.CLASS_TREE_KINDS.contains(path.getLeaf().getKind());
++ TypeElement te = (TypeElement)wc.getTrees().getElement(path);
++ if (te == null) {
++@@ -590,19 +396,7 @@ public final class ImplementAllAbstractMethods implements ErrorRule<Object>, Ove
++ ClassTree clazz = (ClassTree)path.getLeaf();
++ GeneratorUtilities gu = GeneratorUtilities.get(wc);
++ ElementUtilities elemUtils = wc.getElementUtilities();
++- List<? extends ExecutableElement> toImplement;
++- if (toImplementHandles != null) {
++- List<ExecutableElement> els = new ArrayList<>();
++- for (ElementHandle<? extends Element> h : toImplementHandles) {
++- Element e = h.resolve(wc);
++- if (e.getKind() == ElementKind.METHOD) {
++- els.add((ExecutableElement)e);
++- }
++- }
++- toImplement = els;
++- } else {
++- toImplement = elemUtils.findUnimplementedMethods(te);
++- }
+++ List<? extends ExecutableElement> toImplement = elemUtils.findUnimplementedMethods(te);
++ ret = Utilities.findConflictingMethods(wc, te, toImplement);
++ if (ret.size() < toImplement.size()) {
++ toImplement.removeAll(ret.keySet());
++@@ -623,7 +417,94 @@ public final class ImplementAllAbstractMethods implements ErrorRule<Object>, Ove
++ StatusDisplayer.getDefault().setStatusText(msg, StatusDisplayer.IMPORTANCE_ERROR_HIGHLIGHT);
++ return ret;
++ }
++- interface DebugFix {
++- public String toDebugString();
+++
+++ private static void fixClassOrVariable(WorkingCopy copy, TreePath pathToModify, Tree toModify,
+++ int[] offset, boolean[] repeat) {
+++ if (TreeUtilities.CLASS_TREE_KINDS.contains(toModify.getKind())) {
+++ generateAllAbstractMethodImplementations(copy, pathToModify);
+++ return;
+++ } else if (!(toModify.getKind() == Kind.NEW_CLASS || toModify.getKind() == Kind.VARIABLE)) {
+++ return;
+++ }
+++ int insertOffset = (int) copy.getTrees().getSourcePositions().getEndPosition(copy.getCompilationUnit(), toModify);
+++ if (insertOffset != (-1)) {
+++ try {
+++ copy.getDocument().insertString(insertOffset, " {}", null);
+++ offset[0] = insertOffset + 1;
+++ repeat[0] = true;
+++ } catch (GuardedException e) {
+++ SwingUtilities.invokeLater(new Runnable() {
+++ public void run() {
+++ String message = NbBundle.getMessage(ImplementAllAbstractMethods.class, "ERR_CannotApplyGuarded");
+++ StatusDisplayer.getDefault().setStatusText(message);
+++ }
+++ });
+++ } catch (BadLocationException e) {
+++ Exceptions.printStackTrace(e);
+++ } catch (IOException e) {
+++ Exceptions.printStackTrace(e);
+++ }
+++ }
+++ }
+++
+++ static final class FixImpl implements Fix {
+++
+++ private JavaSource js;
+++ private int offset;
+++ private String makeClassAbstractName;
+++
+++ public FixImpl(JavaSource js, int offset, String makeClassAbstractName) {
+++ this.js = js;
+++ this.offset = offset;
+++ this.makeClassAbstractName = makeClassAbstractName;
+++ }
+++
+++ public String getText() {
+++ return makeClassAbstractName == null ?
+++ NbBundle.getMessage(ImplementAllAbstractMethods.class, "LBL_FIX_Impl_Abstract_Methods") : // MOI18N
+++ NbBundle.getMessage(ImplementAllAbstractMethods.class, "LBL_FIX_Make_Class_Abstract", makeClassAbstractName); // MOI18N
+++ }
+++
+++ public ChangeInfo implement() throws IOException {
+++ final boolean[] repeat = new boolean[] {true};
+++
+++ while (repeat[0]) {
+++ repeat[0] = false;
+++ js.runModificationTask(new Task<WorkingCopy>() {
+++
+++ public void run(final WorkingCopy copy) throws IOException {
+++ copy.toPhase(Phase.RESOLVED);
+++ final int[] offsetArr = new int[] { offset };
+++ analyze(offset, copy, new Performer() {
+++ public void fixAllAbstractMethods(TreePath pathToModify, Tree toModify) {
+++ if (makeClassAbstractName != null) return;
+++ fixClassOrVariable(copy, pathToModify, toModify, offsetArr, repeat);
+++ }
+++ public void makeClassAbstract(TreePath pathToModify, String className) {
+++ Tree toModify = pathToModify.getLeaf();
+++ if (makeClassAbstractName == null) return;
+++ //the toModify has to be a class tree:
+++ if (TreeUtilities.CLASS_TREE_KINDS.contains(toModify.getKind())) {
+++ ClassTree clazz = (ClassTree) toModify;
+++ ModifiersTree modifiers = clazz.getModifiers();
+++ Set<Modifier> newModifiersSet = new HashSet<Modifier>(modifiers.getFlags());
+++
+++ newModifiersSet.add(Modifier.ABSTRACT);
+++
+++ copy.rewrite(modifiers, copy.getTreeMaker().Modifiers(newModifiersSet, modifiers.getAnnotations()));
+++ }
+++ }
+++ });
+++ offset = offsetArr[0];
+++ }
+++ }).commit();
+++ }
+++ return null;
+++ }
+++
+++ String toDebugString() {
+++ return makeClassAbstractName == null ? "IAAM" : "MA:" + makeClassAbstractName;
+++ }
+++
++ }
++ }
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/errors/ImportClass.java b/java.hints/src/org/netbeans/modules/java/hints/errors/ImportClass.java
++index 762c2adb1..569d9489d 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/errors/ImportClass.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/errors/ImportClass.java
++@@ -18,7 +18,7 @@
++ * Notice in each file and include the License file at
++ * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
++ * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file thatfake
+++ * by Oracle in the GPL Version 2 section of the License file that
++ * accompanied this code. If applicable, add the following below the
++ * License Header, with the fields enclosed by brackets [] replaced by
++ * your own identifying information:
++@@ -56,6 +56,7 @@ import java.util.ArrayList;
++ import java.util.Arrays;
++ import java.util.Collection;
++ import java.util.Collections;
+++import java.util.HashMap;
++ import java.util.HashSet;
++ import java.util.List;
++ import java.util.Map;
++@@ -64,14 +65,15 @@ import java.util.logging.Level;
++ import java.util.logging.Logger;
++ import java.util.prefs.Preferences;
++ import javax.lang.model.element.Element;
+++import javax.lang.model.element.ElementKind;
++ import javax.swing.text.Document;
++ import org.netbeans.api.annotations.common.NullAllowed;
++ import org.netbeans.api.editor.mimelookup.MimeLookup;
++ import org.netbeans.api.editor.mimelookup.MimePath;
++-import org.netbeans.api.java.lexer.JavaTokenId;
++ import org.netbeans.api.java.source.CodeStyle;
++ import org.netbeans.api.java.source.CompilationInfo;
++ import org.netbeans.api.java.source.ElementHandle;
+++import org.netbeans.api.java.source.ElementUtilities;
++ import org.netbeans.api.java.source.GeneratorUtilities;
++ import org.netbeans.api.java.source.JavaSource;
++ import org.netbeans.api.java.source.JavaSource.Phase;
++@@ -80,8 +82,6 @@ import org.netbeans.api.java.source.TreePathHandle;
++ import org.netbeans.api.java.source.WorkingCopy;
++ import org.netbeans.api.java.source.support.ReferencesCount;
++ import org.netbeans.api.lexer.Token;
++-import org.netbeans.api.lexer.TokenHierarchy;
++-import org.netbeans.api.lexer.TokenSequence;
++ import org.netbeans.modules.editor.NbEditorUtilities;
++ import org.netbeans.modules.editor.java.Utilities;
++ import org.netbeans.modules.java.editor.imports.ComputeImports;
++@@ -103,6 +103,7 @@ import org.openide.util.Exceptions;
++ import org.openide.util.Lookup;
++ import org.openide.util.NbBundle;
++ import org.openide.util.NbBundle.Messages;
+++import org.openide.util.Pair;
++ import org.openide.util.RequestProcessor;
++
++
++@@ -110,7 +111,7 @@ import org.openide.util.RequestProcessor;
++ *
++ * @author Jan Lahoda
++ */
++-public final class ImportClass implements ErrorRule<Void>{
+++public final class ImportClass implements ErrorRule<Void> {
++
++ static RequestProcessor WORKER = new RequestProcessor("ImportClassEnabler", 1);
++
++@@ -125,22 +126,14 @@ public final class ImportClass implements ErrorRule<Void>{
++ "compiler.err.cant.resolve.location.args",
++ "compiler.err.doesnt.exist",
++ "compiler.err.not.stmt",
++- "compiler.err.not.def.public.cant.access",
++- "compiler.err.expected"
++- ));
+++ "compiler.err.not.def.public.cant.access"));
++ }
++-
+++
++ @Override
++ public List<Fix> run(final CompilationInfo info, String diagnosticKey, final int offset, TreePath treePath, Data<Void> data) {
++ resume();
++- int errorPosition = offset;
++- boolean expectedErr = "compiler.err.expected".equals(diagnosticKey);
++- if (!expectedErr) {
++- errorPosition++; //TODO: +1 required to work OK, rethink
++- }
++- if (!ErrorFixesFakeHint.enabled(info.getFileObject(), ErrorFixesFakeHint.FixKind.IMPORT_CLASS)) {
++- return Collections.<Fix>emptyList();
++- }
+++ int errorPosition = offset + 1; //TODO: +1 required to work OK, rethink
+++
++ if (errorPosition == (-1)) {
++ ErrorHintsProvider.LOG.log(Level.FINE, "ImportClassEnabler.create errorPosition=-1"); //NOI18N
++
++@@ -153,27 +146,6 @@ public final class ImportClass implements ErrorRule<Void>{
++
++ try {
++ ident = ErrorHintsProvider.findUnresolvedElementToken(info, offset);
++- // handle error 'expected identifier' after UnresolvedIdentifier.|
++- if (ident == null && expectedErr) {
++- TokenHierarchy<?> th = info.getTokenHierarchy();
++- TokenSequence<JavaTokenId> ts = th.tokenSequence(JavaTokenId.language());
++- if (ts != null) {
++- ts.move(offset);
++- if (ts.movePrevious()) {
++- Token<JavaTokenId> check = ts.token();
++- if (check.id() == JavaTokenId.DOT) {
++- // backward skip all whitespaces
++- boolean hasToken = false;
++- while ((hasToken = ts.movePrevious()) && ts.token().id() == JavaTokenId.WHITESPACE)
++- ;
++- if (hasToken && ts.token().id() == JavaTokenId.IDENTIFIER) {
++- ident = ts.token();
++- }
++- }
++- }
++-
++- }
++- }
++ } catch (IOException e) {
++ Exceptions.printStackTrace(e);
++ }
++@@ -266,9 +238,6 @@ public final class ImportClass implements ErrorRule<Void>{
++ if (!uniq.add(fqn)) {
++ continue;
++ }
++- if (org.netbeans.modules.java.completion.Utilities.isExcluded(fqn)) {
++- continue;
++- }
++ StringBuilder sort = new StringBuilder();
++
++ sort.append("0001#");
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/errors/ImportClassCustomizer.java b/java.hints/src/org/netbeans/modules/java/hints/errors/ImportClassCustomizer.java
++index cbc2c858b..0717ff712 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/errors/ImportClassCustomizer.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/errors/ImportClassCustomizer.java
++@@ -96,7 +96,7 @@ public class ImportClassCustomizer extends javax.swing.JPanel {
++ }// </editor-fold>//GEN-END:initComponents
++
++ private void organizeImportsActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_organizeImportsActionPerformed
++- ErrorFixesFakeHint.setOrganizeAfterImportClass(prefs, organizeImports.isSelected());
+++ ErrorFixesFakeHint.setCreateFinalFieldsForCtor(prefs, organizeImports.isSelected());
++ }//GEN-LAST:event_organizeImportsActionPerformed
++
++
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/errors/MissingReturnStatement.java b/java.hints/src/org/netbeans/modules/java/hints/errors/MissingReturnStatement.java
++index 158352e4f..c70861a5c 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/errors/MissingReturnStatement.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/errors/MissingReturnStatement.java
++@@ -102,11 +102,7 @@ public class MissingReturnStatement implements ErrorRule<Void> {
++ @Override
++ public List<Fix> run(CompilationInfo compilationInfo, String diagnosticKey, int offset, TreePath treePath, Data<Void> data) {
++ TreePath method = null;
++- if (diagnosticKey != null && diagnosticKey.contains("/compiler.misc.incompatible.ret.type.in.lambda/")) { // NOI18N
++- // PENDING: when issue #258201 is implemented, use the new method instead of this HACK
++- offset++;
++- }
++- TreePath tp = compilationInfo.getTreeUtilities().pathFor(offset);
+++ TreePath tp = compilationInfo.getTreeUtilities().pathFor(offset + 1);
++
++ while (tp != null && !TreeUtilities.CLASS_TREE_KINDS.contains(tp.getLeaf().getKind())) {
++ Kind kind = tp.getLeaf().getKind();
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/errors/OrigSurroundWithTryCatchFix.java b/java.hints/src/org/netbeans/modules/java/hints/errors/OrigSurroundWithTryCatchFix.java
++index eecb2c1f0..bc3226136 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/errors/OrigSurroundWithTryCatchFix.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/errors/OrigSurroundWithTryCatchFix.java
++@@ -53,7 +53,6 @@ import com.sun.source.tree.TryTree;
++ import com.sun.source.tree.VariableTree;
++ import com.sun.source.util.TreePath;
++ import com.sun.source.util.TreePathScanner;
++-import java.util.Arrays;
++ import java.util.Collections;
++ import java.util.LinkedList;
++ import java.util.List;
++@@ -143,7 +142,33 @@ class OrigSurroundWithTryCatchFix implements Fix {
++ declaration = Utilities.copyComments(parameter, vt, declaration, true);
++ assignment = Utilities.copyComments(parameter, vt, assignment, false);
++ TryTree tryTree = make.Try(make.Block(Collections.singletonList(assignment), false), MagicSurroundWithTryCatchFix.createCatches(parameter, make, thandles, p), null);
++- Utilities.replaceStatement(parameter, p, Arrays.asList(declaration, tryTree));
+++ List<StatementTree> nueStatements = new LinkedList<StatementTree>();
+++
+++ if (block.getLeaf().getKind() == Kind.BLOCK) {
+++ BlockTree bt = (BlockTree) block.getLeaf();
+++ int index = bt.getStatements().indexOf(leaf);
+++
+++ assert index != (-1);
+++
+++ nueStatements.addAll(bt.getStatements().subList(0, index));
+++ nueStatements.add(declaration);
+++ nueStatements.add(tryTree);
+++ nueStatements.addAll(bt.getStatements().subList(index + 1, bt.getStatements().size()));
+++
+++ parameter.rewrite(bt, make.Block(nueStatements, bt.isStatic()));
+++ } else {
+++ CaseTree ct = (CaseTree) block.getLeaf();
+++ int index = ct.getStatements().indexOf(leaf);
+++
+++ assert index != (-1);
+++
+++ nueStatements.addAll(ct.getStatements().subList(0, index));
+++ nueStatements.add(declaration);
+++ nueStatements.add(tryTree);
+++ nueStatements.addAll(ct.getStatements().subList(index + 1, ct.getStatements().size()));
+++
+++ parameter.rewrite(ct, make.Case(ct.getExpression(), nueStatements));
+++ }
++ return ;
++ }
++ }
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/friendapi/OverrideErrorMessage.java b/java.hints/src/org/netbeans/modules/java/hints/errors/OverrideErrorMessage.java
++similarity index 94%
++rename from java.hints/src/org/netbeans/modules/java/hints/friendapi/OverrideErrorMessage.java
++rename to java.hints/src/org/netbeans/modules/java/hints/errors/OverrideErrorMessage.java
++index 3bed53717..650350094 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/friendapi/OverrideErrorMessage.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/errors/OverrideErrorMessage.java
++@@ -39,10 +39,9 @@
++ *
++ * Portions Copyrighted 2013 Sun Microsystems, Inc.
++ */
++-package org.netbeans.modules.java.hints.friendapi;
+++package org.netbeans.modules.java.hints.errors;
++
++ import com.sun.source.util.TreePath;
++-import javax.tools.Diagnostic;
++ import org.netbeans.api.java.source.CompilationInfo;
++ import org.netbeans.modules.java.hints.spi.ErrorRule;
++
++@@ -54,7 +53,6 @@ import org.netbeans.modules.java.hints.spi.ErrorRule;
++ * message.
++ * <p/>
++ * Note that the customized message does not propagate into the task list; the task list will show the original javac message.
++- * @since 1.82
++ */
++ public interface OverrideErrorMessage<T> extends ErrorRule<T> {
++ /**
++@@ -68,5 +66,5 @@ public interface OverrideErrorMessage<T> extends ErrorRule<T> {
++ * @param treePath path to the error, if available
++ * @return an override message to be displayed instead of the standard one or {@code null} to use the standard one.
++ */
++- public String createMessage(CompilationInfo info, Diagnostic d, int offset, TreePath treePath, Data<T> data);
+++ public String createMessage(CompilationInfo info, String diagnosticKey, int offset, TreePath treePath, Data<T> data);
++ }
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/errors/TypeErroneous.java b/java.hints/src/org/netbeans/modules/java/hints/errors/TypeErroneous.java
++index 7f024b8bf..878af7461 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/errors/TypeErroneous.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/errors/TypeErroneous.java
++@@ -41,7 +41,6 @@
++ */
++ package org.netbeans.modules.java.hints.errors;
++
++-import org.netbeans.modules.java.hints.friendapi.OverrideErrorMessage;
++ import com.sun.source.tree.Tree;
++ import com.sun.source.util.TreePath;
++ import java.util.ArrayList;
++@@ -56,7 +55,6 @@ import javax.lang.model.type.ExecutableType;
++ import javax.lang.model.type.TypeKind;
++ import javax.lang.model.type.TypeMirror;
++ import javax.lang.model.util.SimpleTypeVisitor8;
++-import javax.tools.Diagnostic;
++ import org.netbeans.api.java.source.CompilationInfo;
++ import org.netbeans.spi.editor.hints.Fix;
++ import org.openide.util.NbBundle;
++@@ -95,7 +93,7 @@ final class TypeErroneous implements OverrideErrorMessage<Void> {
++ "ERR_Unreachable_Type_3=Referenced method uses types which are not available: {0} and {1} other"
++ })
++ @Override
++- public String createMessage(CompilationInfo info, Diagnostic d, int offset, TreePath treePath, Data<Void> data) {
+++ public String createMessage(CompilationInfo info, String diagnosticKey, int offset, TreePath treePath, Data<Void> data) {
++ Tree t = treePath.getLeaf();
++ if (t.getKind() != Tree.Kind.MEMBER_SELECT) {
++ return null;
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/errors/Utilities.java b/java.hints/src/org/netbeans/modules/java/hints/errors/Utilities.java
++index f37742ffc..ebdd96416 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/errors/Utilities.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/errors/Utilities.java
++@@ -71,11 +71,9 @@ import com.sun.source.tree.CompoundAssignmentTree;
++ import com.sun.source.tree.ConditionalExpressionTree;
++ import com.sun.source.tree.DoWhileLoopTree;
++ import com.sun.source.tree.EnhancedForLoopTree;
++-import com.sun.source.tree.ExpressionStatementTree;
++ import com.sun.source.tree.ExpressionTree;
++ import com.sun.source.tree.ForLoopTree;
++ import com.sun.source.tree.IdentifierTree;
++-import com.sun.source.tree.LambdaExpressionTree;
++ import com.sun.source.tree.LiteralTree;
++ import com.sun.source.tree.MemberSelectTree;
++ import com.sun.source.tree.MethodInvocationTree;
++@@ -121,6 +119,7 @@ import javax.lang.model.element.VariableElement;
++ import javax.lang.model.type.ArrayType;
++ import javax.lang.model.type.DeclaredType;
++ import javax.lang.model.type.ExecutableType;
+++import javax.lang.model.type.IntersectionType;
++ import javax.lang.model.type.TypeKind;
++ import javax.lang.model.type.TypeMirror;
++ import javax.lang.model.type.TypeVariable;
++@@ -146,14 +145,13 @@ import org.openide.DialogDisplayer;
++ import org.openide.NotifyDescriptor;
++ import org.openide.filesystems.FileObject;
++ import org.openide.text.NbDocument;
+++import org.openide.text.PositionRef;
++ import org.openide.util.Exceptions;
++
++ import static com.sun.source.tree.Tree.Kind.*;
++-import com.sun.source.tree.UnaryTree;
++ import com.sun.tools.javac.api.JavacScope;
++ import com.sun.tools.javac.api.JavacTaskImpl;
++ import com.sun.tools.javac.code.Type;
++-import com.sun.tools.javac.comp.ArgumentAttr;
++ import com.sun.tools.javac.comp.Attr;
++ import com.sun.tools.javac.comp.AttrContext;
++ import com.sun.tools.javac.comp.Enter;
++@@ -162,17 +160,13 @@ import com.sun.tools.javac.tree.JCTree;
++ import com.sun.tools.javac.util.JCDiagnostic;
++ import com.sun.tools.javac.util.Log;
++ import java.net.URI;
++-import java.util.concurrent.Callable;
++-import javax.lang.model.type.ErrorType;
++ import javax.lang.model.type.UnionType;
++ import javax.tools.Diagnostic;
++ import javax.tools.JavaFileObject;
++ import javax.tools.SimpleJavaFileObject;
++ import org.netbeans.api.java.source.CodeStyle;
++ import org.netbeans.api.java.source.CodeStyleUtils;
++-import org.netbeans.api.java.source.TreeMaker;
++ import org.netbeans.modules.java.source.JavaSourceAccessor;
++-import org.netbeans.spi.java.hints.JavaFixUtilities;
++ import org.openide.util.Pair;
++
++ /**
++@@ -315,6 +309,27 @@ public class Utilities {
++ return makeNameUnique(info, s, name, null, null);
++ }
++
+++ private static String guessLiteralName(String str) {
+++ if(str.isEmpty())
+++ return null;
+++
+++ StringBuilder sb = new StringBuilder();
+++
+++ for (int i = 0; i < str.length(); i++) {
+++ char ch = str.charAt(i);
+++ if(ch == ' ') {
+++ sb.append('_');
+++ } else if (sb.length() == 0 ? Character.isJavaIdentifierStart(ch) : Character.isJavaIdentifierPart(ch))
+++ sb.append(ch);
+++ if (sb.length() > 40)
+++ break;
+++ }
+++ if (sb.length() == 0)
+++ return null;
+++ else
+++ return sb.toString();
+++ }
+++
++ public static String toConstantName(String camelCaseName) {
++ StringBuilder result = new StringBuilder();
++ char[] chars = camelCaseName.toCharArray();
++@@ -391,7 +406,7 @@ public class Utilities {
++ if (designedType == null) {
++ return null;
++ }
++- return resolveTypeForDeclaration(info, designedType);
+++ return resolveCapturedType(info, designedType);
++ }
++
++ public static String getName(TypeMirror tm) {
++@@ -538,27 +553,10 @@ public class Utilities {
++ }
++ }
++
++- public static TypeMirror resolveTypeForDeclaration(CompilationInfo info, TypeMirror tm) {
++- // TODO: should I convert the anonymous types to something more referenceable ?
++- TypeMirror captureResolved = resolveCapturedType(info, tm);
++- if (captureResolved == null) {
++- return null;
++- }
++- TypeMirror m = info.getTypeUtilities().getDenotableType(tm);
++- if (isValidType(m) || !isValidType(captureResolved)) {
++- return m;
++- } else {
++- return captureResolved;
++- }
++- }
++-
++ public static TypeMirror resolveCapturedType(CompilationInfo info, TypeMirror tm) {
++ if (tm == null) {
++ return tm;
++ }
++- if (tm.getKind() == TypeKind.ERROR) {
++- tm = info.getTrees().getOriginalType((ErrorType) tm);
++- }
++ TypeMirror type = resolveCapturedTypeInt(info, tm);
++ if (type == null) {
++ return tm;
++@@ -702,13 +700,8 @@ public class Utilities {
++
++ while (!todo.isEmpty()) {
++ TreePath tp = todo.remove(0);
++- Tree l = tp.getLeaf();
++- while (l.getKind() == Kind.PARENTHESIZED) {
++- tp = new TreePath(tp, ((ParenthesizedTree)l).getExpression());
++- l = tp.getLeaf();
++- }
++
++- if (l.getKind() != Kind.PLUS) {
+++ if (tp.getLeaf().getKind() != Kind.PLUS) {
++ result.add(tp);
++ continue;
++ }
++@@ -862,9 +855,6 @@ public class Utilities {
++ operator2DN.put(NOT_EQUAL_TO, "!=");
++ }
++
++- @NbBundle.Messages({
++- "DisplayName_Unknown=<missing>"
++- })
++ private static class HintDisplayNameVisitor extends TreeScanner<String, Void> {
++
++ private CompilationInfo info;
++@@ -919,9 +909,6 @@ public class Utilities {
++ }
++
++ private String simpleName(Tree t) {
++- if (t == null) {
++- return Bundle.DisplayName_Unknown();
++- }
++ if (t.getKind() == Kind.IDENTIFIER) {
++ return ((IdentifierTree) t).getName().toString();
++ }
++@@ -982,10 +969,6 @@ public class Utilities {
++ */
++ @SuppressWarnings({"AssignmentToMethodParameter", "NestedAssignment"})
++ public static TreePath findOwningExecutable(HintContext ctx, TreePath from, boolean lambdaOrInitializer) {
++- return findOwningExecutable(from, lambdaOrInitializer);
++- }
++-
++- public static TreePath findOwningExecutable(TreePath from, boolean lambdaOrInitializer) {
++ Tree.Kind k = null;
++
++ OUTER: while (from != null && !(TreeUtilities.CLASS_TREE_KINDS.contains(k = from.getLeaf().getKind()))) {
++@@ -1050,14 +1033,6 @@ public class Utilities {
++ }
++ return null;
++ }
++-
++- public static boolean isInConstructor(TreePath path) {
++- TreePath method = findOwningExecutable(path, false);
++- if (method == null || method.getLeaf().getKind() != Tree.Kind.METHOD) {
++- return false;
++- }
++- return ((MethodTree)method.getLeaf()).getName().contentEquals("<init>"); // NOI18N
++- }
++
++ public static boolean isInConstructor(HintContext ctx) {
++ TreePath method = findOwningExecutable(ctx, ctx.getPath(), false);
++@@ -1116,7 +1091,7 @@ public class Utilities {
++ return null;
++ }
++
++- tm = resolveTypeForDeclaration(info, tm);
+++ tm = resolveCapturedType(info, tm);
++
++ if (!verifyTypeVarAccessible(method, tm, usedLocalTypeVariables, target)) return null;
++
++@@ -1249,22 +1224,12 @@ public class Utilities {
++ return efab.scan(from, null) == Boolean.TRUE;
++ }
++
++- /**
++- * Determines whether the execution definitely escapes from the root of the search.
++- * Execution escapes, if the control could be transferred outside of the inspected area. Definitely escapes means
++- * that possible all code paths escape from the area: both if branches, all switch branches etc.
++- * <p/>
++- * Inidvidual visit() operations must return true, if they escape outside, false or null otherwise. Nodes are added to
++- * {@link #seenTrees} before processing, so if a break/continue targets such a node, such jump is not considered an exit.
++- * Jumps can register the target Tree in {@link #targetTrees} which causes false to be returned from that tree's inspection.
++- */
++ private static final class ExitsFromAllBranches extends TreePathScanner<Boolean, Void> {
++
++ private CompilationInfo info;
++ private final Set<Tree> seenTrees = new HashSet<Tree>();
++- private final Stack<Pair<Set<TypeMirror>, Tree>> caughtExceptions = new Stack<>();
++- private final Set<Tree> targetTrees = new HashSet<>();
++-
+++ private final Stack<Set<TypeMirror>> caughtExceptions = new Stack<Set<TypeMirror>>();
+++
++ public ExitsFromAllBranches(CompilationInfo info) {
++ this.info = info;
++ }
++@@ -1272,36 +1237,15 @@ public class Utilities {
++ @Override
++ public Boolean scan(TreePath path, Void p) {
++ seenTrees.add(path.getLeaf());
++- Boolean ret = super.scan(path, p);
++- boolean pending = !targetTrees.isEmpty();
++- targetTrees.remove(path.getLeaf());
++- return pending ? Boolean.FALSE : ret;
+++ return super.scan(path, p);
++ }
++
++ @Override
++ public Boolean scan(Tree tree, Void p) {
++- // if a jump to an outer statement is seen, do not bother with further processing.
++- if (!targetTrees.isEmpty()) {
++- return false;
++- }
++ seenTrees.add(tree);
++- Boolean ret = super.scan(tree, p);
++- boolean pending = !targetTrees.isEmpty();
++- targetTrees.remove(tree);
++- return pending ? null : ret;
+++ return super.scan(tree, p);
++ }
++
++- /*
++- @Override
++- public Boolean reduce(Boolean r1, Boolean r2) {
++- if ((r1 == Boolean.FALSE) || (r2 == Boolean.FALSE)) {
++- return false;
++- } else {
++- // use the later statement
++- return r2;
++- }
++- }
++-*/
++ /**
++ * Hardcoded check for System.exit(), Runtime.exit and Runtime.halt which also terminates the processing.
++ * TODO: some configuration (project-level ?) could add also different exit methods.
++@@ -1316,79 +1260,10 @@ public class Utilities {
++ }
++
++ @Override
++- public Boolean visitArrayType(ArrayTypeTree node, Void p) {
++- return super.visitArrayType(node, p); //To change body of generated methods, choose Tools | Templates.
++- }
++-
++- @Override
++- public Boolean visitDoWhileLoop(DoWhileLoopTree node, Void p) {
++- return scan(node.getStatement(), p);
++- }
++-
++- /**
++- * Loops with a condition at the start may skip the body at all, so
++- */
++- @Override
++- public Boolean visitEnhancedForLoop(EnhancedForLoopTree node, Void p) {
++- return null;
++- }
++-
++- @Override
++- public Boolean visitForLoop(ForLoopTree node, Void p) {
++- return null;
++- }
++-
++- @Override
++- public Boolean visitWhileLoop(WhileLoopTree node, Void p) {
++- return null;
++- }
++-
++- @Override
++ public Boolean visitIf(IfTree node, Void p) {
++ return scan(node.getThenStatement(), null) == Boolean.TRUE && scan(node.getElseStatement(), null) == Boolean.TRUE;
++ }
++-
++- @Override
++- public Boolean visitSwitch(SwitchTree node, Void p) {
++- boolean lastCaseExit = false;
++- boolean defaultSeen = false;
++- Set<Element> enumValues = null;
++-
++- if (node.getExpression() != null) {
++- TypeMirror exprType = info.getTrees().getTypeMirror(new TreePath(getCurrentPath(), node.getExpression()));
++- if (isValidType(exprType) && exprType.getKind() == TypeKind.DECLARED) {
++- Element el = ((DeclaredType)exprType).asElement();
++- enumValues = new HashSet<>();
++- for (Element f : el.getEnclosedElements()) {
++- if (f.getKind() == ElementKind.ENUM_CONSTANT) {
++- enumValues.add(f);
++- }
++- }
++- }
++- }
++- for (CaseTree ct : node.getCases()) {
++- Boolean res = scan(ct, null);
++- if (res == Boolean.FALSE) {
++- return res;
++- }
++- lastCaseExit = res == Boolean.TRUE;
++- if (ct.getExpression() == null) {
++- defaultSeen = true;
++- } else if (enumValues != null ) {
++- TreePath casePath = new TreePath(getCurrentPath(), ct);
++- Element v = info.getTrees().getElement(new TreePath(
++- casePath, ct.getExpression()));
++- if (v != null) {
++- enumValues.remove(v);
++- }
++- }
++- }
++- if (enumValues != null && enumValues.isEmpty()) {
++- defaultSeen = true;
++- }
++- return lastCaseExit == Boolean.TRUE && defaultSeen;
++- }
++-
+++
++ @Override
++ public Boolean visitReturn(ReturnTree node, Void p) {
++ return true;
++@@ -1396,17 +1271,12 @@ public class Utilities {
++
++ @Override
++ public Boolean visitBreak(BreakTree node, Void p) {
++- Tree target = info.getTreeUtilities().getBreakContinueTarget(getCurrentPath());
++- boolean known = seenTrees.contains(target);
++- if (known) {
++- targetTrees.add(target);
++- }
++- return !known;
+++ return !seenTrees.contains(info.getTreeUtilities().getBreakContinueTarget(getCurrentPath()));
++ }
++
++ @Override
++ public Boolean visitContinue(ContinueTree node, Void p) {
++- return visitBreak(null, p);
+++ return !seenTrees.contains(info.getTreeUtilities().getBreakContinueTarget(getCurrentPath()));
++ }
++
++ @Override
++@@ -1426,7 +1296,7 @@ public class Utilities {
++ }
++ }
++
++- caughtExceptions.push(Pair.of(caught, node));
+++ caughtExceptions.push(caught);
++
++ try {
++ return scan(node.getBlock(), p) == Boolean.TRUE || scan(node.getFinallyBlock(), p) == Boolean.TRUE;
++@@ -1440,12 +1310,10 @@ public class Utilities {
++ TypeMirror type = info.getTrees().getTypeMirror(new TreePath(getCurrentPath(), node.getExpression()));
++ boolean isCaught = false;
++
++- OUTER: for (Pair<Set<TypeMirror>, Tree> pair : caughtExceptions) {
++- Set<TypeMirror> caught = pair.first();
+++ OUTER: for (Set<TypeMirror> caught : caughtExceptions) {
++ for (TypeMirror c : caught) {
++ if (info.getTypes().isSubtype(type, c)) {
++ isCaught = true;
++- targetTrees.add(pair.second());
++ break OUTER;
++ }
++ }
++@@ -1866,8 +1734,6 @@ public class Utilities {
++ }
++ }
++ };
++- ArgumentAttr argumentAttr = ArgumentAttr.instance(jti.getContext());
++- ArgumentAttr.LocalCacheContext cacheContext = argumentAttr.withLocalCacheContext();
++ try {
++ enter.shadowTypeEnvs(true);
++ Attr attr = Attr.instance(jti.getContext());
++@@ -1877,7 +1743,6 @@ public class Utilities {
++ }
++ return attr.attribStat((JCTree) tree,env);
++ } finally {
++- cacheContext.leave();
++ log.useSource(prev);
++ log.popDiagnosticHandler(discardHandler);
++ enter.shadowTypeEnvs(false);
++@@ -1996,14 +1861,14 @@ public class Utilities {
++ exp = previousPath;
++ break;
++ }
++- if (isStatement(t)) {
+++ if (StatementTree.class.isAssignableFrom(c)) {
++ statement = true;
++ break;
++ }
++ } while (exp.getParentPath()!= null);
++ TreePath stPath = exp;
++ if (!statement) {
++- while (stPath != null && !(isStatement(stPath.getLeaf()))) {
+++ while (stPath != null && !(stPath.getLeaf() instanceof StatementTree)) {
++ stPath = stPath.getParentPath();
++ }
++ }
++@@ -2178,29 +2043,10 @@ public class Utilities {
++ * @return detected conflicts.
++ */
++ public static Map<? extends ExecutableElement, ? extends ExecutableElement> findConflictingMethods(CompilationInfo info, TypeElement clazz, Iterable<? extends ExecutableElement> methods) {
++- return findConflictingMethods(info, clazz, false, methods);
++- }
++-
++- /**
++- * Finds conflicting declarations of methods. Unlike {@link #findConflictingMethods(org.netbeans.api.java.source.CompilationInfo, javax.lang.model.element.TypeElement, java.lang.Iterable)},
++- * it also considers visible methods inherited from supertypes, if `inherited' parameter is true.
++- *
++- * @param info context
++- * @param clazz class to inspect
++- * @param inherited if true, inspects also inherited methods
++- * @param methods methods to check
++- * @return list of conflicting methods
++- */
++- public static Map<? extends ExecutableElement, ? extends ExecutableElement> findConflictingMethods(CompilationInfo info, TypeElement clazz, boolean inherited, Iterable<? extends ExecutableElement> methods) {
++ final Map<Name, Collection<ExecutableElement>> currentByName = new HashMap<>();
++ Map<ExecutableElement, ExecutableElement> ret = new HashMap<>();
++- Iterable<? extends Element> col;
++- if (inherited) {
++- col = info.getElementUtilities().getMembers(clazz.asType(), null);
++- } else {
++- col = clazz.getEnclosedElements();
++- }
++- for (Element e : col) {
+++
+++ for (Element e : clazz.getEnclosedElements()) {
++ if (e.getKind() != ElementKind.METHOD) {
++ continue;
++ }
++@@ -2251,747 +2097,5 @@ public class Utilities {
++ }
++ return ret;
++ }
++-
++- private static boolean isSuperCtorInvocation(Tree t) {
++- if (t.getKind() == Tree.Kind.EXPRESSION_STATEMENT) {
++- t = ((ExpressionStatementTree)t).getExpression();
++- }
++- if (t.getKind() != Tree.Kind.METHOD_INVOCATION) {
++- return false;
++- }
++- MethodInvocationTree mit = (MethodInvocationTree)t;
++- if (mit.getMethodSelect() == null ||
++- mit.getMethodSelect().getKind() != Tree.Kind.IDENTIFIER) {
++- return false;
++- }
++- return ((IdentifierTree)mit.getMethodSelect()).getName().contentEquals("super");
++- }
++-
++- public static final int INSERT_POS_CHILD = 0;
++- public static final int INSERT_POS_THEN = 0;
++- public static final int INSERT_POS_ELSE = 1;
++- public static final int INSERT_POS_UPDATE = 2;
++- public static final int INSERT_POS_INIT = 1;
++- public static final int INSERT_POS_RESOURCES = 1;
++-
++
++- /**
++- * Inserts a statement using an anchor. Only inserts to an existing tree is supported, this method variant should not be used
++- * to create tree branches which do not exist yet (i.e. insert into else part of `if', which does not exist yet).
++- * Statements are inserted immediately before, or after the given anchor. Anchor identifies a statement; if the anchor leaf Tree
++- * is not a statement, the methods uses the closest parent StatementTree as an anchor.
++- * <p/>
++- * Things which are handled automatically:
++- * <ul>
++- * <li>change to Block from single statement for if/cycle children
++- * <li>change from expression lambda to statement lambda
++- * <li>insertion into block, case or control statement structure
++- * <li>insertion into for init or update parts
++- * </ul>
++- *
++- * @param wc working copy for creating Trees
++- * @param anchor anchor to insert before/after
++- * @param before code to insert before
++- * @param after code to insert after
++- * @return parent of the inserted code.
++- */
++- public static Tree insertStatement(WorkingCopy wc, TreePath anchor, List<? extends StatementTree> before, List<? extends StatementTree> after) {
++- anchor = findStatementOrExpression(anchor);
++- return insertStatement(wc, anchor.getParentPath(), anchor.getLeaf(), before, after, 0);
++- }
++-
++- /**
++- * Inserts a statement inside a block or before/after an anchor.
++- * To insert a statement into an empty block, specify the parentBlock, no anchor. Statements
++- * will be inserted at the start of the block. If no anchor is provided, `before' statements
++- * are inserted at the start of parentBlock, afterStatements at the end of it.
++- * <p/>
++- * Some controls flow statements have multiple parts where statements may be inserted. If
++- * no anchor is specified (which points exactly on the proper part), the `position' specifies
++- * where the new statements should be inserted.
++- * <ul>
++- * <li>for(<b>INSERT_POS_INIT</b>; ... ; <b>INSERT_POS_UPDATE</b>) <b>INSERT_POS_CHILD</b>
++- * <li>if (...) <b>INSERT_POS_THEN</b> else <b>INSERT_POS_ELSE</b>
++- * </ul>
++- * <p/>
++- * If the parentBlock (or parent of the anchor) is not a block, but a single child statement of a control flow tree, it
++- * will be replaced by a proper BlockTree.
++- * <p/>
++- * Note that the return value is somewhat fuzzy. The parent of the inserted statments will be returned, but
++- * the parent may be a control flow tree (i.e. for if update statement is changed) or it can be a surrounding BlockTree
++- * (i.e. body block of `for' or `try' statement)
++- * <p/>
++- * When inserting statements <b>at the start of constructors</b> the method checks whether the inserted code contains a super call.
++- * If it does not, it will actually insert the stament <i>after super() constructor call</i>. This allows generic code that inserts
++- * statements at start of (any) block to handle constructors gracefully without special cases.
++- *
++- * @param wc factory for Trees
++- * @param parentBlock parent tree, may be {@code null} if anchor is specified
++- * @param anchor anchor before/after which the statements are inserted, may be {@code null}
++- * @param after statements to insert after the anchor or at the end of block
++- * @param before statemtents to isnert before the anchor or at the start of block
++- * @param position for control flow commands, specifies the part where new statements should be inserted
++- * @return parent of the inserted statements
++- */
++- public static Tree insertStatement(WorkingCopy wc, TreePath parentBlock,
++- Tree anchor, List<? extends StatementTree> before, List<? extends StatementTree> after, int position) {
++- if (parentBlock == null) {
++- throw new IllegalArgumentException("One of parent/anchor must be specified");
++- }
++- List<StatementTree> list = new ArrayList<>();
++- Tree parent = wc.resolveRewriteTarget(parentBlock.getLeaf());
++- TreePath parentPath = parent == parentBlock ? parentBlock : new TreePath(parentBlock.getParentPath(), parent);
++- TreeMaker mk = wc.getTreeMaker();
++- Tree child = null;
++- List<? extends StatementTree> forInit = null;
++- List<? extends ExpressionStatementTree> forUpdate = null;
++- boolean superInvocationPresent = false;
++- boolean convertExpressionLambda = false;
++-
++- switch (parent.getKind()) {
++- case LAMBDA_EXPRESSION: {
++- LambdaExpressionTree let = (LambdaExpressionTree)parent;
++- // since it is a parent, it must be a expression lambda
++- child = let.getBody();
++- convertExpressionLambda = let.getBodyKind() == LambdaExpressionTree.BodyKind.EXPRESSION;
++- break;
++- }
++- case TRY:
++- child = ((TryTree)parent).getFinallyBlock();
++- break;
++- case IF:
++- child = position != INSERT_POS_ELSE ?
++- ((IfTree)parent).getThenStatement() :
++- ((IfTree)parent).getElseStatement();
++- break;
++- case DO_WHILE_LOOP:
++- child = ((DoWhileLoopTree)parent).getStatement();
++- break;
++- case WHILE_LOOP:
++- child = ((WhileLoopTree)parent).getStatement();
++- break;
++- case CASE:
++- // special case for now;
++- list.addAll(((CaseTree)parent).getStatements());
++- break;
++- case FOR_LOOP:
++- forInit = ((ForLoopTree)parent).getInitializer();
++- forUpdate = ((ForLoopTree)parent).getUpdate();
++- switch (position) {
++- case INSERT_POS_INIT:
++- list.addAll(forInit);
++- break;
++- case INSERT_POS_UPDATE:
++- list.addAll(forUpdate);
++- break;
++- default:
++- child = ((ForLoopTree)parent).getStatement();
++- }
++- break;
++- case ENHANCED_FOR_LOOP:
++- child = ((ForLoopTree)parent).getStatement();
++- break;
++- case BLOCK: {
++- // possible special case: if the block's parent is a constructor, the statements
++- // may start with a super constructor call:
++- List<? extends StatementTree> stats = getRealStatements(wc, parentPath);
++- if (parentBlock.getParentPath().getLeaf().getKind() == Tree.Kind.METHOD &&
++- ((MethodTree)parentBlock.getParentPath().getLeaf()).getName().contentEquals("<init>")) {
++- superInvocationPresent = !stats.isEmpty() && isSuperCtorInvocation(stats.get(0));
++- }
++- list.addAll(stats);
++- break;
++- }
++- default:
++- throw new IllegalArgumentException("Unsupported parent kind: " + parentBlock.getLeaf().getKind());
++- }
++- Tree result = null;
++- if (child == null) {
++- int indexAt = 0;
++- List<StatementTree> newList = new ArrayList<>(list.size());
++- if (anchor != null) {
++- indexAt = list.indexOf(anchor);
++- if (indexAt == -1) {
++- throw new IllegalArgumentException("Anchor not proper child of its parent");
++- }
++- } else if (superInvocationPresent && before != null) {
++- if (indexAt == 0 && !isSuperCtorInvocation(before.get(0))) {
++- indexAt = 1;
++- }
++- }
++-
++- // if no anchor is defined, either nothing, or ctor invocation will be inserted
++- newList.addAll(list.subList(0, indexAt));
++- if (before != null) {
++- newList.addAll(before);
++- }
++- if (anchor != null) {
++- newList.add((StatementTree)anchor);
++- } else {
++- newList.addAll(list.subList(indexAt, list.size()));
++- }
++- if (after != null) {
++- newList.addAll(after);
++- }
++- if (anchor != null) {
++- newList.addAll(list.subList(indexAt + 1, list.size()));
++- }
++- Tree newChild = newList.size() == 1 ?
++- newList.get(0) :
++- mk.Block(newList, false);
++- switch (parent.getKind()) {
++- case TRY:
++- switch (position) {
++- case INSERT_POS_RESOURCES:
++- wc.rewrite(parent,
++- result = mk.Try(
++- newList,
++- ((TryTree)parent).getBlock(),
++- ((TryTree)parent).getCatches(),
++- ((TryTree)parent).getFinallyBlock()
++- ));
++- break;
++- default:
++- result = mk.Try(
++- ((TryTree)parent).getResources(),
++- ((TryTree)parent).getBlock(),
++- ((TryTree)parent).getCatches(),
++- mk.Block(newList, false)
++- );
++- wc.rewrite(parent, result);
++- break;
++- }
++- break;
++- case IF:
++- switch (position) {
++- case INSERT_POS_ELSE:
++- wc.rewrite(parent,
++- result = mk.If(
++- ((IfTree)parent).getCondition(),
++- ((IfTree)parent).getThenStatement(),
++- (StatementTree)newChild
++- )
++- );
++- break;
++- default:
++- wc.rewrite(parent,
++- result = mk.If(
++- ((IfTree)parent).getCondition(),
++- (StatementTree)newChild,
++- ((IfTree)parent).getElseStatement()
++- )
++- );
++- break;
++- }
++- break;
++- case CASE:
++- wc.rewrite(parent,
++- result = mk.Case(((CaseTree)parent).getExpression(), newList)
++- );
++- break;
++- case FOR_LOOP:
++- switch (position) {
++- case INSERT_POS_INIT:
++- wc.rewrite(
++- parent,
++- result = mk.ForLoop(
++- newList,
++- ((ForLoopTree)parent).getCondition(),
++- forUpdate,
++- ((ForLoopTree)parent).getStatement()
++- ));
++- break;
++-
++- case INSERT_POS_UPDATE:
++- wc.rewrite(parent,
++- result = mk.ForLoop(
++- forInit,
++- ((ForLoopTree)parent).getCondition(),
++- (List<? extends ExpressionStatementTree>)(List)newList,
++- ((ForLoopTree)parent).getStatement()
++- ));
++- break;
++-
++- default:
++- throw new IllegalArgumentException();
++- }
++- break;
++- case BLOCK:
++- wc.rewrite(parent,
++- mk.Block(
++- newList, ((BlockTree)parent).isStatic()));
++- break;
++- default:
++- throw new IllegalArgumentException();
++- }
++- } else if (child.getKind() == Tree.Kind.BLOCK) {
++- list = (List)getRealStatements(wc, new TreePath(parentPath, child));
++- int indexAt = 0;
++- List<StatementTree> newList = new ArrayList<>(list.size());
++- if (anchor != null) {
++- indexAt = list.indexOf(anchor);
++- if (indexAt == -1) {
++- throw new IllegalArgumentException("Anchor not proper child of its parent");
++- }
++- }
++- newList.addAll(list.subList(0, indexAt));
++- if (before != null) {
++- newList.addAll(before);
++- }
++- if (anchor != null) {
++- newList.add((StatementTree)anchor);
++- } else {
++- newList.addAll(list);
++- }
++- if (after != null) {
++- newList.addAll(after);
++- }
++- Tree newChild = mk.Block(newList, false);
++- wc.rewrite(child, newChild);
++- } else {
++- Tree toRewrite = child;
++- List<StatementTree> newList = new ArrayList<>();
++- if (before != null) {
++- newList.addAll(before);
++- }
++- // special cases for expression Lambdas, which become statement ones:
++- Tree ch = child;
++- if (convertExpressionLambda) {
++- LambdaExpressionTree let = (LambdaExpressionTree)parent;
++- TypeMirror oldType = wc.getTrees().getTypeMirror(new TreePath(parentBlock, let.getBody()));
++- // replace former expression with expression statement or return
++- if (!isStatement(child)) {
++- if (oldType != null && oldType.getKind() != TypeKind.VOID) {
++- newList.add(
++- mk.asReplacementOf(
++- mk.Return((ExpressionTree)let.getBody()), child
++- ));
++- } else {
++- newList.add(
++- mk.ExpressionStatement((ExpressionTree)let.getBody())
++- );
++- }
++- }
++- } else {
++- newList.add((StatementTree)wc.resolveRewriteTarget(ch));
++- }
++- if (after != null) {
++- newList.addAll(after);
++- }
++- result = mk.Block(newList, false);
++- // special cases for expression Lambdas, which become statement ones:
++- if (convertExpressionLambda) {
++- LambdaExpressionTree let = (LambdaExpressionTree)parent;
++- toRewrite = mk.LambdaExpression(
++- let.getParameters(),
++- result
++- );
++- }
++- wc.rewrite(toRewrite, result);
++- }
++- return result;
++- }
++-
++- /**
++- * Removes the statement. If the statement is the only child statement of
++- * an if, while, do-while - replaces the statement with an empty block.
++- *
++- * @param wc working copy for creating trees
++- * @param toRemove path to the statement to be removed
++- */
++- public static Tree removeStatement(WorkingCopy wc, TreePath toRemove) {
++- return removeStatements (wc, toRemove, null);
++- }
++-
++- /**
++- * Finds the entire statement up the tree. For code nested in blocks or control
++- * flow statements, find the statement (i.e ExpressionStatement for an ExpressionTree).
++- * For initializers and update statements, find that init/update statement nested in for cycle.
++- * For expression lambdas, returns the outermost expression.
++- * <p/>
++- * Returns {@code null} if it cannot find enclosing statement.
++- *
++- * @param path where to start
++- * @return the nearest statement or entire expression
++- */
++- public static TreePath findStatementOrExpression(TreePath path) {
++- while (!isStatement(path.getLeaf())) {
++- Tree l = path.getLeaf();
++- TreePath next = path.getParentPath();
++- if (next == null) {
++- return null;
++- }
++- Tree t = next.getLeaf();
++- if (TreeUtilities.CLASS_TREE_KINDS.contains(t.getKind())) {
++- return null;
++- }
++- if (t.getKind() == Tree.Kind.LAMBDA_EXPRESSION) {
++- break;
++- }
++- path = next;
++- }
++- return path;
++- }
++-
++- public static Tree removeStatements(WorkingCopy wc, TreePath toRemove, Tree removeEnd) {
++- toRemove = findStatementOrExpression(toRemove);
++- TreePath parent = toRemove.getParentPath();
++- switch (parent.getLeaf().getKind()) {
++- case EXPRESSION_STATEMENT:
++- return removeStatement(wc, parent);
++-
++- // removing last statement from lambda may introduce an error
++- // -- missing return statement.
++- case LAMBDA_EXPRESSION:
++- case WHILE_LOOP:
++- case DO_WHILE_LOOP:
++- case FOR_LOOP:
++- case ENHANCED_FOR_LOOP:
++- case IF:
++- // since direct child was removed, we need to add an empty statement.
++- // but since semicolon itself would be nearly invisible, I add an empty block
++- // instead.
++- return replaceStatement(wc, toRemove,
++- Collections.singletonList(
++- wc.getTreeMaker().Block(Collections.emptyList(), false)
++- ));
++-
++- case BLOCK: {
++- BlockTree bt = (BlockTree)parent.getLeaf();
++- List<? extends StatementTree> stats = getRealStatements(wc, parent);
++- int index = stats.indexOf(toRemove.getLeaf());
++- if (index == -1) {
++- throw new IllegalArgumentException("Not proper child of the parent path");
++- }
++- int indexTo = index;
++- if (removeEnd != null) {
++- indexTo = stats.indexOf(indexTo);
++- if (indexTo == -1) {
++- throw new IllegalArgumentException("Not proper child of the parent path");
++- }
++- }
++- List<StatementTree> sts = new ArrayList<>(stats.size() -1);
++- if (index > 0) {
++- sts.addAll(stats.subList(0, index));
++- }
++- sts.addAll(stats.subList(indexTo + 1, stats.size()));
++-
++- BlockTree nb = wc.getTreeMaker().Block(sts, bt.isStatic());
++-
++- // TODO: special case for lambda expressions; if the block is a single return statement,
++- // the parent lambda may be rewritten to an expression lambda
++- wc.rewrite(parent.getLeaf(), nb);
++- return nb;
++- }
++- }
++- throw new IllegalArgumentException("Unknown parent type");
++- }
++-
++- private static List<? extends StatementTree> getRealStatements(CompilationInfo info, TreePath path) {
++- assert path.getLeaf().getKind() == Tree.Kind.BLOCK;
++- BlockTree bt = (BlockTree)path.getLeaf();
++- List<? extends StatementTree> stats = bt.getStatements();
++- if (stats.isEmpty()) {
++- return stats;
++- }
++- List<StatementTree> newStats = null;
++- for (int i = 0; i < stats.size(); i++) {
++- StatementTree t = stats.get(i);
++- TreePath stPath = new TreePath(path, t);
++- if (info.getTreeUtilities().isSynthetic(stPath)) {
++- newStats = new ArrayList<>(stats.size());
++- } else {
++- newStats = new ArrayList<>(stats.size());
++- newStats.addAll(stats.subList(i, stats.size()));
++- break;
++- }
++- }
++- return newStats == null ? stats : newStats;
++- }
++-
++- /**
++- * Replaces statement for one or more statements. If the replaced statement
++- * is a direct child of if, while etc, an intermediate BlockTree is created.
++- * If the replacement contains VariableTrees, the caller must ensure they do not conflict with
++- * existing declarations in scope.
++- *
++- * @param wc working copy
++- * @param tp path to replace
++- * @param stats new statements to appear at the position
++- * @return the parent of the replaced statement.
++- */
++- public static Tree replaceStatement(WorkingCopy wc,
++- TreePath tp, List<? extends StatementTree> stats) {
++- if (!isStatement(tp.getLeaf())) {
++- throw new IllegalArgumentException();
++- }
++- if (stats == null || stats.isEmpty()) {
++- return removeStatement(wc, tp);
++- }
++- return replaceStatements(wc, tp, null, stats);
++- }
++-
++- private static boolean isStatement(Tree t) {
++- return StatementTree.class.isAssignableFrom(t.getKind().asInterface());
++- }
++-
++- public static Tree replaceStatements(WorkingCopy wc,
++- TreePath tp, Tree last, List<? extends StatementTree> stats) {
++- tp = findStatementOrExpression(tp);
++- if (tp == null) {
++- throw new IllegalArgumentException();
++- }
++- if (stats == null || stats.isEmpty()) {
++- return removeStatements(wc, tp, last);
++- }
++-
++- TreeMaker make = wc.getTreeMaker();
++- List<? extends Tree> statements;
++- Tree parent = tp.getParentPath().getLeaf();
++-
++- boolean trueBranch = false;
++-
++- switch (parent.getKind()) {
++- case LAMBDA_EXPRESSION:
++- // special case: if replacing with a single replacement
++- if (stats.size() == 1) {
++- LambdaExpressionTree let = (LambdaExpressionTree)parent;
++- StatementTree st = stats.get(0);
++- if (st.getKind() == Tree.Kind.RETURN) {
++- Tree x = ((ReturnTree)st).getExpression();
++- if (let.getBodyKind() == LambdaExpressionTree.BodyKind.EXPRESSION) {
++- wc.rewrite(let.getBody(), x);
++- return let;
++- } else {
++- Tree t = make.LambdaExpression(let.getParameters(), x);
++- wc.rewrite(let, t);
++- return let;
++- }
++- }
++- // normal statement
++- if (let.getBodyKind() == LambdaExpressionTree.BodyKind.EXPRESSION) {
++- Tree t = make.LambdaExpression(let.getParameters(),
++- make.Block(stats, false));
++- wc.rewrite(let, t);
++- return let;
++- } else {
++- Tree t = make.Block(stats, false);
++- wc.rewrite(let.getBody(), t);
++- return let;
++- }
++- }
++-
++- // this must be an expression lambda
++- statements = Collections.singletonList(
++- ((LambdaExpressionTree)parent).getBody()
++- );
++- break;
++- case IF:
++- trueBranch = ((IfTree)parent).getThenStatement() == tp.getLeaf();
++- statements = Collections.singletonList(
++- trueBranch ?
++- ((IfTree)parent).getThenStatement() :
++- ((IfTree)parent).getElseStatement()
++- );
++- break;
++-
++- case WHILE_LOOP:
++- statements = Collections.singletonList(
++- ((WhileLoopTree)parent).getStatement()
++- );
++- break;
++- case DO_WHILE_LOOP:
++- statements = Collections.singletonList(
++- ((DoWhileLoopTree)parent).getStatement()
++- );
++- break;
++- case FOR_LOOP:
++- statements = Collections.singletonList(
++- ((ForLoopTree)parent).getStatement()
++- );
++- break;
++- case ENHANCED_FOR_LOOP:
++- statements = Collections.singletonList(
++- ((EnhancedForLoopTree)parent).getStatement()
++- );
++- break;
++- case BLOCK: statements = getRealStatements(wc, tp.getParentPath()); break;
++- case CASE: statements = ((CaseTree) parent).getStatements(); break;
++- case METHOD: {
++- // replacing entire body of the method
++- BlockTree methodBody;
++- if (stats.size() == 1 && stats.get(0).getKind() == Tree.Kind.BLOCK) {
++- methodBody = (BlockTree)stats.get(0);
++- } else {
++- methodBody = wc.getTreeMaker().Block(stats, false);
++- }
++- wc.rewrite(((MethodTree)parent).getBody(), methodBody);
++- return methodBody;
++- }
++- default: throw new IllegalStateException(parent.getKind().name());
++- }
++-
++- Tree var = (Tree) tp.getLeaf();
++- int current = statements.indexOf(tp.getLeaf());
++- int upTo = current;
++- if (last != null) {
++- upTo = statements.indexOf(last);
++- if (upTo == -1) {
++- throw new IllegalArgumentException();
++- }
++- }
++- List<StatementTree> newStatements = new ArrayList<>();
++-
++- newStatements.addAll((List)statements.subList(0, current));
++- newStatements.add(
++- make.asReplacementOf(stats.get(0), var)
++- );
++- newStatements.addAll(stats.subList(1, stats.size()));
++- newStatements.addAll((List)statements.subList(upTo + 1, statements.size()));
++-
++- StatementTree blockOrStat;
++-
++- Tree toRewrite = parent;
++- if (newStatements.size() == 1) {
++- Tree t = newStatements.get(0);
++- if (t.getKind() == Tree.Kind.VARIABLE) {
++- blockOrStat = make.Block((List)newStatements, false);
++- } else {
++- blockOrStat = (StatementTree)t;
++- }
++- } else {
++- blockOrStat = make.Block((List)newStatements, false);
++- }
++-
++- Tree target = blockOrStat;
++- switch (parent.getKind()) {
++- case LAMBDA_EXPRESSION: {
++- LambdaExpressionTree let = (LambdaExpressionTree)parent;
++- if (let.getBodyKind() == LambdaExpressionTree.BodyKind.EXPRESSION) {
++- target = make.LambdaExpression(let.getParameters(), blockOrStat);
++- } else {
++- toRewrite = let.getBody();
++- }
++- break;
++- }
++- case IF:
++- target = make.If(
++- ((IfTree)parent).getCondition(),
++- trueBranch ? blockOrStat : ((IfTree)parent).getThenStatement(),
++- !trueBranch ? blockOrStat : ((IfTree)parent).getElseStatement()
++- );
++- break;
++- case WHILE_LOOP:
++- target = make.WhileLoop(
++- ((WhileLoopTree)parent).getCondition(),
++- blockOrStat
++- );
++- break;
++- case DO_WHILE_LOOP:
++- target = make.DoWhileLoop(
++- ((DoWhileLoopTree)parent).getCondition(),
++- blockOrStat
++- );
++- break;
++- case FOR_LOOP:
++- target = make.ForLoop(
++- ((ForLoopTree)parent).getInitializer(),
++- ((ForLoopTree)parent).getCondition(),
++- ((ForLoopTree)parent).getUpdate(),
++- blockOrStat
++- );
++- break;
++- case ENHANCED_FOR_LOOP:
++- target = make.EnhancedForLoop(
++- ((EnhancedForLoopTree)parent).getVariable(),
++- ((EnhancedForLoopTree)parent).getExpression(),
++- blockOrStat
++- );
++- break;
++- case BLOCK: target =
++- make.Block(newStatements, ((BlockTree) parent).isStatic()); break;
++- case CASE: target =
++- make.Case(((CaseTree) parent).getExpression(), newStatements); break;
++- default: throw new IllegalStateException(parent.getKind().name());
++- }
++- StatementTree ret = (StatementTree)make.asReplacementOf(target, toRewrite);
++- wc.rewrite(toRewrite, ret);
++- return ret;
++- }
++-
++- /**
++- * Negates an expression, returns negated Tree. The `original` should be a direct child
++- * of `parent' or parent must be {@code null}. With a non-null parent, surrounding parenthesis
++- * will be added if the language syntax requires it.
++- *
++- * @param make factory for Trees, obtain from WorkingCopy
++- * @param original the tree to be negated
++- * @param parent the parent of the negated tree.
++- * @return negated expression, possibly parenthesized
++- */
++- public static ExpressionTree negate(TreeMaker make, ExpressionTree original, Tree parent) {
++- ExpressionTree newTree;
++- switch (original.getKind()) {
++- case PARENTHESIZED:
++- ExpressionTree expr = ((ParenthesizedTree) original).getExpression();
++- newTree = negate(make, expr, original);
++- break;
++- case LOGICAL_COMPLEMENT:
++- newTree = ((UnaryTree) original).getExpression();
++- while (newTree.getKind() == Kind.PARENTHESIZED && !JavaFixUtilities.requiresParenthesis(((ParenthesizedTree) newTree).getExpression(), original, parent)) {
++- newTree = ((ParenthesizedTree) newTree).getExpression();
++- }
++- break;
++- case NOT_EQUAL_TO:
++- newTree = negateBinaryOperator(make, original, Kind.EQUAL_TO, false);
++- break;
++- case EQUAL_TO:
++- newTree = negateBinaryOperator(make, original, Kind.NOT_EQUAL_TO, false);
++- break;
++- case BOOLEAN_LITERAL:
++- newTree = make.Literal(!(Boolean) ((LiteralTree) original).getValue());
++- break;
++- case CONDITIONAL_AND:
++- newTree = negateBinaryOperator(make, original, Kind.CONDITIONAL_OR, true);
++- break;
++- case CONDITIONAL_OR:
++- newTree = negateBinaryOperator(make, original, Kind.CONDITIONAL_AND, true);
++- break;
++- case LESS_THAN:
++- newTree = negateBinaryOperator(make, original, Kind.GREATER_THAN_EQUAL, false);
++- break;
++- case LESS_THAN_EQUAL:
++- newTree = negateBinaryOperator(make, original, Kind.GREATER_THAN, false);
++- break;
++- case GREATER_THAN:
++- newTree = negateBinaryOperator(make, original, Kind.LESS_THAN_EQUAL, false);
++- break;
++- case GREATER_THAN_EQUAL:
++- newTree = negateBinaryOperator(make, original, Kind.LESS_THAN, false);
++- break;
++- default:
++- newTree = make.Unary(Kind.LOGICAL_COMPLEMENT, original);
++- if (JavaFixUtilities.requiresParenthesis(original, original, newTree)) {
++- newTree = make.Unary(Kind.LOGICAL_COMPLEMENT, make.Parenthesized(original));
++- }
++- break;
++- }
++-
++- if (JavaFixUtilities.requiresParenthesis(newTree, original, parent)) {
++- newTree = make.Parenthesized(newTree);
++- }
++-
++- return newTree;
++- }
++-
++- private static ExpressionTree negateBinaryOperator(TreeMaker make, Tree original, Kind newKind, boolean negateOperands) {
++- BinaryTree bt = (BinaryTree) original;
++- ExpressionTree left = bt.getLeftOperand();
++- ExpressionTree right = bt.getRightOperand();
++- if (negateOperands) {
++- left = negate(make, left, original);
++- right = negate(make, right, original);
++- }
++- return make.Binary(newKind, left, right);
++- }
++ }
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/friendapi/SourceChangeUtils.java b/java.hints/src/org/netbeans/modules/java/hints/friendapi/SourceChangeUtils.java
++deleted file mode 100644
++index 0e5478c0e..000000000
++--- a/java.hints/src/org/netbeans/modules/java/hints/friendapi/SourceChangeUtils.java
+++++ /dev/null
++@@ -1,68 +0,0 @@
++-/*
++- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++- *
++- * Copyright 2016 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
++- *
++- * The contents of this file are subject to the terms of either the GNU
++- * General Public License Version 2 only ("GPL") or the Common
++- * Development and Distribution License("CDDL") (collectively, the
++- * "License"). You may not use this file except in compliance with the
++- * License. You can obtain a copy of the License at
++- * http://www.netbeans.org/cddl-gplv2.html
++- * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++- * specific language governing permissions and limitations under the
++- * License. When distributing the software, include this License Header
++- * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
++- * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
++- * accompanied this code. If applicable, add the following below the
++- * License Header, with the fields enclosed by brackets [] replaced by
++- * your own identifying information:
++- * "Portions Copyrighted [year] [name of copyright owner]"
++- *
++- * If you wish your version of this file to be governed by only the CDDL
++- * or only the GPL Version 2, indicate your decision by adding
++- * "[Contributor] elects to include this software in this distribution
++- * under the [CDDL or GPL Version 2] license." If you do not indicate a
++- * single choice of license, a recipient has the option to distribute
++- * your version of this file under either the CDDL, the GPL Version 2 or
++- * to extend the choice of license to its licensees as provided above.
++- * However, if you add GPL Version 2 code and therefore, elected the GPL
++- * Version 2 license, then the option applies only if the new code is
++- * made subject to such option by the copyright holder.
++- *
++- * Contributor(s):
++- *
++- * Portions Copyrighted 2016 Sun Microsystems, Inc.
++- */
++-package org.netbeans.modules.java.hints.friendapi;
++-
++-import java.util.Set;
++-import javax.lang.model.element.Element;
++-import org.netbeans.api.java.source.WorkingCopy;
++-import org.netbeans.modules.java.hints.OrganizeImports;
++-
++-/**
++- * Provides access to selected functions for friend modules. Not an official API -
++- * may be changed without further notice.
++- * @author sdedic
++- * @since 1.82
++- */
++-public class SourceChangeUtils {
++- /**
++- * Organizes imports. Adds imports according to parameters, reorganizes imports
++- * to use stars accoridng to coding style. If 'cleanImports' is true,
++- *
++- * @param copy
++- * @param addImports imports to add
++- * @param cleanImports if true, attempts to cleanup star imports
++- * @throws IllegalStateException
++- */
++- public static void doOrganizeImports(WorkingCopy copy, Set<Element> addImports, boolean cleanImports) throws IllegalStateException {
++- OrganizeImports.doOrganizeImports(copy, addImports, cleanImports);
++- }
++-}
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/infrastructure/EmbeddedHintsCollector.java b/java.hints/src/org/netbeans/modules/java/hints/infrastructure/EmbeddedHintsCollector.java
++deleted file mode 100644
++index e573d6955..000000000
++--- a/java.hints/src/org/netbeans/modules/java/hints/infrastructure/EmbeddedHintsCollector.java
+++++ /dev/null
++@@ -1,167 +0,0 @@
++-/*
++- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++- *
++- * Copyright 2016 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
++- *
++- * The contents of this file are subject to the terms of either the GNU
++- * General Public License Version 2 only ("GPL") or the Common
++- * Development and Distribution License("CDDL") (collectively, the
++- * "License"). You may not use this file except in compliance with the
++- * License. You can obtain a copy of the License at
++- * http://www.netbeans.org/cddl-gplv2.html
++- * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++- * specific language governing permissions and limitations under the
++- * License. When distributing the software, include this License Header
++- * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
++- * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
++- * accompanied this code. If applicable, add the following below the
++- * License Header, with the fields enclosed by brackets [] replaced by
++- * your own identifying information:
++- * "Portions Copyrighted [year] [name of copyright owner]"
++- *
++- * If you wish your version of this file to be governed by only the CDDL
++- * or only the GPL Version 2, indicate your decision by adding
++- * "[Contributor] elects to include this software in this distribution
++- * under the [CDDL or GPL Version 2] license." If you do not indicate a
++- * single choice of license, a recipient has the option to distribute
++- * your version of this file under either the CDDL, the GPL Version 2 or
++- * to extend the choice of license to its licensees as provided above.
++- * However, if you add GPL Version 2 code and therefore, elected the GPL
++- * Version 2 license, then the option applies only if the new code is
++- * made subject to such option by the copyright holder.
++- *
++- * Contributor(s):
++- *
++- * Portions Copyrighted 2016 Sun Microsystems, Inc.
++- */
++-package org.netbeans.modules.java.hints.infrastructure;
++-
++-import java.util.ArrayList;
++-import java.util.Collection;
++-import java.util.Collections;
++-import java.util.List;
++-import java.util.Map;
++-import java.util.WeakHashMap;
++-import org.netbeans.api.editor.mimelookup.MimeRegistration;
++-import org.netbeans.api.java.source.JavaParserResultTask;
++-import org.netbeans.api.java.source.JavaSource;
++-import org.netbeans.api.java.source.JavaSource.Phase;
++-import org.netbeans.modules.parsing.api.Snapshot;
++-import org.netbeans.modules.parsing.spi.IndexingAwareParserResultTask;
++-import org.netbeans.modules.parsing.spi.Parser;
++-import org.netbeans.modules.parsing.spi.Scheduler;
++-import org.netbeans.modules.parsing.spi.SchedulerEvent;
++-import org.netbeans.modules.parsing.spi.SchedulerTask;
++-import org.netbeans.modules.parsing.spi.TaskFactory;
++-import org.netbeans.modules.parsing.spi.TaskIndexingMode;
++-import org.netbeans.spi.editor.hints.ErrorDescription;
++-import org.netbeans.spi.editor.hints.HintsController;
++-
++-/**
++- *
++- * @author sdedic
++- */
++-
++-public class EmbeddedHintsCollector extends JavaParserResultTask<Parser.Result> {
++- private static final Map<Snapshot, List<ErrorDescription>> hints = new WeakHashMap();
++-
++- public static void setAnnotations(Snapshot snap, List<ErrorDescription> descs) {
++- if (snap.getMimePath().size() == 1) {
++- HintsController.setErrors(snap.getSource().getDocument(false), "java-hints", descs);
++- return;
++- }
++-
++- synchronized (hints) {
++- hints.put(snap, descs);
++- }
++- }
++-
++- private boolean javaFound;
++-
++- private volatile boolean cancelled;
++-
++- public EmbeddedHintsCollector() {
++- super(Phase.PARSED, TaskIndexingMode.DISALLOWED_DURING_SCAN);
++- }
++-
++- private List<ErrorDescription> allHints;
++-
++- private void collectResult(Snapshot snap) {
++- List<ErrorDescription> partial = hints.get(snap);
++- if (allHints == null) {
++- allHints = new ArrayList<>();
++- }
++- if (partial != null) {
++- allHints.addAll(partial);
++- }
++- }
++-
++- @Override
++- public void run(Parser.Result result, SchedulerEvent event) {
++- cancelled = false;
++- final Snapshot mySnapshot = result.getSnapshot();
++- if (mySnapshot.getMimePath().size() > 1) {
++- // I do not want the inner mimetype
++- return;
++- }
++- if (mySnapshot.getMimeType().equals("text/x-java")) {
++- // ignore toplevel java
++- return;
++- }
++- try {
++- synchronized (hints) {
++- for (Snapshot snap : hints.keySet()) {
++- if (snap.getSource().equals(mySnapshot.getSource())) {
++- collectResult(snap);
++- }
++- }
++- }
++- if (cancelled) {
++- return;
++- }
++- if (allHints != null) {
++- HintsController.setErrors(result.getSnapshot().getSource().getDocument(false), "java-hints", allHints);
++- }
++- } finally {
++- synchronized (hints) {
++- hints.clear();
++- allHints = null;
++- }
++- }
++- }
++-
++- @Override
++- public int getPriority() {
++- return 10000;
++- }
++-
++- @Override
++- public Class<? extends Scheduler> getSchedulerClass() {
++- return Scheduler.CURSOR_SENSITIVE_TASK_SCHEDULER;
++- }
++-
++- @Override
++- public void cancel() {
++- cancelled = true;
++- }
++-
++-
++- @MimeRegistration(service = TaskFactory.class, mimeType = "")
++- public static class Factory extends TaskFactory {
++-
++- @Override
++- public Collection<? extends SchedulerTask> create(Snapshot snapshot) {
++- if (snapshot.getMimePath().size() > 1) {
++- // I do not want the inner mimetype
++- return Collections.emptyList();
++- }
++- return Collections.singleton(new EmbeddedHintsCollector());
++- }
++-
++- }
++-}
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/infrastructure/ErrorHintsProvider.java b/java.hints/src/org/netbeans/modules/java/hints/infrastructure/ErrorHintsProvider.java
++index 1aca20950..8cb7ec43e 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/infrastructure/ErrorHintsProvider.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/infrastructure/ErrorHintsProvider.java
++@@ -63,6 +63,7 @@ import java.util.Set;
++ import java.util.logging.Level;
++ import java.util.logging.Logger;
++ import javax.lang.model.element.Element;
+++import javax.lang.model.element.PackageElement;
++ import javax.lang.model.type.TypeKind;
++ import javax.lang.model.type.TypeMirror;
++ import javax.swing.text.BadLocationException;
++@@ -71,7 +72,6 @@ import javax.swing.text.Position;
++ import javax.swing.text.Position.Bias;
++ import javax.swing.text.StyledDocument;
++ import javax.tools.Diagnostic;
++-import org.netbeans.api.editor.document.EditorDocumentUtils;
++ import org.netbeans.api.java.lexer.JavaTokenId;
++ import org.netbeans.api.java.source.CompilationInfo;
++ import org.netbeans.api.java.source.JavaParserResultTask;
++@@ -82,7 +82,7 @@ import org.netbeans.api.lexer.TokenSequence;
++ import org.netbeans.lib.editor.util.swing.DocumentUtilities;
++ import org.netbeans.modules.editor.NbEditorDocument;
++ import org.netbeans.modules.editor.java.Utilities;
++-import org.netbeans.modules.java.hints.friendapi.OverrideErrorMessage;
+++import org.netbeans.modules.java.hints.errors.OverrideErrorMessage;
++ import org.netbeans.modules.java.hints.jdk.ConvertToDiamondBulkHint;
++ import org.netbeans.modules.java.hints.jdk.ConvertToLambda;
++ import org.netbeans.modules.java.hints.legacy.spi.RulesManager;
++@@ -95,11 +95,11 @@ import org.netbeans.modules.parsing.spi.SchedulerEvent;
++ import org.netbeans.spi.editor.hints.ErrorDescription;
++ import org.netbeans.spi.editor.hints.ErrorDescriptionFactory;
++ import org.netbeans.spi.editor.hints.Fix;
+++import org.netbeans.spi.editor.hints.HintsController;
++ import org.netbeans.spi.editor.hints.LazyFixList;
++ import org.netbeans.spi.editor.hints.Severity;
++ import org.openide.ErrorManager;
++ import org.openide.cookies.LineCookie;
++-import org.openide.filesystems.FileObject;
++ import org.openide.loaders.DataObject;
++ import org.openide.text.Line;
++ import org.openide.text.NbDocument;
++@@ -141,11 +141,6 @@ public final class ErrorHintsProvider extends JavaParserResultTask {
++ ErrorDescription processRule(CompilationInfo info, Integer forPosition, Diagnostic d, String code, Map<String, List<ErrorRule>> code2Rules,
++ Map<Class, Data> data, Document doc, boolean processDefault) throws IOException {
++ List<ErrorRule> rules = code2Rules.get(code);
++- List<ErrorRule> allRules = rules == null ? new ArrayList<ErrorRule>() : new ArrayList<>(rules);
++- List<ErrorRule> catchAllRules = code2Rules.get("*");
++- if (catchAllRules != null) {
++- allRules.addAll(catchAllRules);
++- }
++
++ if (ERR.isLoggable(ErrorManager.INFORMATIONAL)) {
++ ERR.log(ErrorManager.INFORMATIONAL, "code= " + code);
++@@ -155,36 +150,29 @@ public final class ErrorHintsProvider extends JavaParserResultTask {
++ LazyFixList ehm;
++ String desc = d.getMessage(null);
++
++- int pos = (int) getPrefferedPosition(info, d);
++- TreePath path = info.getTreeUtilities().pathFor(pos + 1);
++- Data ruleData = new Data();
++-
++- int messageRuleCount = 0;
++- for (ErrorRule r : allRules) {
++- if (!(r instanceof OverrideErrorMessage)) {
++- continue;
++- }
++- OverrideErrorMessage rcm = (OverrideErrorMessage) r;
++- Data rd = data.get(rcm.getClass());
++- if (rd == null) {
++- rd = ruleData;
++- }
++- String msg = rcm.createMessage(info, d, pos, path, rd);
++- if (msg != null) {
++- if (msg.isEmpty()) {
++- // ignore the error
++- return null;
+++ if (rules != null) {
+++ int pos = (int) getPrefferedPosition(info, d);
+++ TreePath path = info.getTreeUtilities().pathFor(pos + 1);
+++ Data ruleData = new Data();
+++ for (ErrorRule r : rules) {
+++ if (!(r instanceof OverrideErrorMessage)) {
+++ continue;
+++ }
+++ OverrideErrorMessage rcm = (OverrideErrorMessage) r;
+++ String msg = rcm.createMessage(info, d.getCode(), pos, path, ruleData);
+++ if (msg != null) {
+++ if (msg.isEmpty()) {
+++ // ignore the error
+++ return null;
+++ }
+++ desc = msg;
+++ if (ruleData.getData() != null) {
+++ data.put(rcm.getClass(), ruleData);
+++ }
+++ break;
++ }
++- desc = msg;
++- break;
++- }
++- if (rd.getData() != null) {
++- data.put(rcm.getClass(), rd);
++- ruleData = new Data();
++ }
++- }
++- if (messageRuleCount < allRules.size()) {
++- ehm = new CreatorBasedLazyFixList(info.getFileObject(), code, pos, allRules, data);
+++ ehm = new CreatorBasedLazyFixList(info.getFileObject(), code, pos, rules, data);
++ } else if (processDefault) {
++ ehm = ErrorDescriptionFactory.lazyListForFixes(Collections.<Fix>emptyList());
++ } else {
++@@ -200,7 +188,7 @@ public final class ErrorHintsProvider extends JavaParserResultTask {
++ return null;
++ }
++
++- if (range == null || range[0] == null || range[1] == null) {
+++ if (range[0] == null || range[1] == null) {
++ return null;
++ }
++
++@@ -497,33 +485,15 @@ public final class ErrorHintsProvider extends JavaParserResultTask {
++ }
++
++ private void findText() {
++- final int lineNumber = NbDocument.findLineNumber(sdoc, info.getSnapshot().getOriginalOffset(startOffset));
+++ LineCookie lc = dobj.getCookie(LineCookie.class);
+++ int lineNumber = NbDocument.findLineNumber(sdoc, info.getSnapshot().getOriginalOffset(startOffset));
++ lineOffset = NbDocument.findLineOffset(sdoc, lineNumber);
++
++ if (rangePrepared) {
++ return;
++ }
++- if (dobj == null) {
++- sdoc.render(new Runnable() {
++- public void run() {
++- javax.swing.text.Element root = NbDocument.findLineRootElement(sdoc);
++- if (root.getElementCount() <= lineNumber) {
++- text = null;
++- } else{
++- try {
++- javax.swing.text.Element line = root.getElement(lineNumber);
++- text = sdoc.getText(line.getStartOffset(), line.getEndOffset() - line.getStartOffset());
++- } catch (BadLocationException ex) {
++- text = null;
++- }
++- }
++- }
++- });
++- } else {
++- LineCookie lc = dobj.getCookie(LineCookie.class);
++- Line line = lc.getLineSet().getCurrent(lineNumber);
++- text = line.getText();
++- }
+++ Line line = lc.getLineSet().getCurrent(lineNumber);
+++ text = line.getText();
++
++ if (text == null) {
++ //#116560, (according to the javadoc, means the document is closed):
++@@ -591,22 +561,18 @@ public final class ErrorHintsProvider extends JavaParserResultTask {
++
++ private Position[] getLine(CompilationInfo info, Diagnostic d, final Document doc, int startOffset, int endOffset) throws IOException {
++ StyledDocument sdoc = (StyledDocument) doc;
++- FileObject f = EditorDocumentUtils.getFileObject(doc);
++- if (f == null)
+++ DataObject dObj = (DataObject)doc.getProperty(doc.StreamDescriptionProperty );
+++ if (dObj == null)
++ return new Position[] {null, null};
++-
++- Object rawProp = doc.getProperty(doc.StreamDescriptionProperty );
++- DataObject dObj = rawProp instanceof DataObject ? (DataObject)rawProp : null;
++-
++ int originalStartOffset = info.getSnapshot().getOriginalOffset(startOffset);
++- int soff = startOffset;
+++
++ boolean rangePrepared = false;
++
++ if (INVALID_METHOD_INVOCATION.contains(d.getCode())) {
++- int[] span = translatePositions(info, handlePossibleMethodInvocation(info, d, doc, soff, endOffset));
+++ int[] span = translatePositions(info, handlePossibleMethodInvocation(info, d, doc, startOffset, endOffset));
++
++ if (span != null) {
++- soff = span[0];
+++ startOffset = span[0];
++ endOffset = span[1];
++ rangePrepared = true;
++ }
++@@ -616,7 +582,7 @@ public final class ErrorHintsProvider extends JavaParserResultTask {
++ int[] span = translatePositions(info, findUnresolvedElementSpan(info, (int) getPrefferedPosition(info, d)));
++
++ if (span != null) {
++- soff = span[0];
+++ startOffset = span[0];
++ endOffset = span[1];
++ rangePrepared = true;
++ }
++@@ -653,7 +619,7 @@ public final class ErrorHintsProvider extends JavaParserResultTask {
++ int[] span = translatePositions(info, new int[] {ts.offset(), ts.offset() + t.length()});
++
++ if (span != null) {
++- soff = span[0];
+++ startOffset = span[0];
++ endOffset = span[1];
++ rangePrepared = true;
++ }
++@@ -661,14 +627,7 @@ public final class ErrorHintsProvider extends JavaParserResultTask {
++ }
++ }
++
++- // check that the start offset and end offset map into the document
++- if (!rangePrepared && (info.getSnapshot().getOriginalOffset(startOffset) == -1 ||
++- info.getSnapshot().getOriginalOffset(endOffset) == -1)) {
++- // ignore
++- return null;
++- }
++-
++- PosExtractor ex = new PosExtractor(info, sdoc, soff, endOffset, dObj, rangePrepared);
+++ PosExtractor ex = new PosExtractor(info, sdoc, startOffset, endOffset, dObj, rangePrepared);
++ // getText also fetches lineOffset
++ final String text = ex.getText();
++ final int lineOffset = ex.lineOffset;
++@@ -681,19 +640,19 @@ public final class ErrorHintsProvider extends JavaParserResultTask {
++ int originalEndOffset = info.getSnapshot().getOriginalOffset(endOffset);
++
++ if (originalEndOffset <= lineOffset + text.length() && originalStartOffset != (-1) && originalEndOffset != (-1)) {
++- soff = originalStartOffset;
+++ startOffset = originalStartOffset;
++ endOffset = originalEndOffset;
++ rangePrepared = true;
++ }
++ }
++
++ if (!rangePrepared && USE_PROVIDED_SPAN.contains(d.getCode())) {
++- soff = originalStartOffset;
+++ startOffset = originalStartOffset;
++ endOffset = info.getSnapshot().getOriginalOffset(endOffset);
++ rangePrepared = true;
++ }
++
++- if (!rangePrepared || endOffset < soff) {
+++ if (!rangePrepared || endOffset < startOffset) {
++ int column = 0;
++ int length = text.length();
++
++@@ -704,26 +663,18 @@ public final class ErrorHintsProvider extends JavaParserResultTask {
++ length--;
++
++ if(length == 0) //whitespace only
++- soff = lineOffset;
+++ startOffset = lineOffset;
++ else
++- soff = lineOffset + column;
+++ startOffset = lineOffset + column;
++
++ endOffset = lineOffset + length;
++ }
++
++ if (ERR.isLoggable(ErrorManager.INFORMATIONAL)) {
++- ERR.log(ErrorManager.INFORMATIONAL, "startOffset = " + soff );
+++ ERR.log(ErrorManager.INFORMATIONAL, "startOffset = " + startOffset );
++ ERR.log(ErrorManager.INFORMATIONAL, "endOffset = " + endOffset );
++ }
++- if (soff < 0) {
++- LOG.log(Level.WARNING, "Incorrect offsets computed, add report to https://netbeans.org/bugzilla/show_bug.cgi?id=242191");
++- LOG.log(Level.WARNING, "Diagnostic: {0}, code: {1} ", new Object[] { d, d.getCode() });
++- LOG.log(Level.WARNING, "Start: {0}, End: {1}, Soff: {2}, RangePrepared: {3}", new Object[] { startOffset, endOffset, soff, rangePrepared });
++- LOG.log(Level.WARNING, "Source text:\n--------------------------------------------------------\n"
++- + info.getSnapshot().getText() +
++- "\n--------------------------------------------------------");
++- }
++- return ex.getResult(soff, endOffset);
+++ return ex.getResult(startOffset, endOffset);
++ }
++
++ private boolean cancel;
++@@ -767,7 +718,8 @@ public final class ErrorHintsProvider extends JavaParserResultTask {
++
++ if (errors == null) //meaning: cancelled
++ return ;
++- EmbeddedHintsCollector.setAnnotations(result.getSnapshot(), errors);
+++
+++ HintsController.setErrors(doc, ErrorHintsProvider.class.getName(), errors);
++
++ ErrorPositionRefresherHelper.setVersion(doc, errors);
++
++@@ -824,7 +776,7 @@ public final class ErrorHintsProvider extends JavaParserResultTask {
++ if (el == null || el.asType().getKind() == TypeKind.ERROR) {
++ return d.getStartPosition() - 1;
++ }
++- /*
+++
++ if (el.asType().getKind() == TypeKind.PACKAGE) {
++ //check if the package does actually exist:
++ String s = ((PackageElement) el).getQualifiedName().toString();
++@@ -833,7 +785,6 @@ public final class ErrorHintsProvider extends JavaParserResultTask {
++ return d.getStartPosition() - 1;
++ }
++ }
++- */
++
++ return d.getStartPosition();
++ }
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/introduce/Bundle.properties b/java.hints/src/org/netbeans/modules/java/hints/introduce/Bundle.properties
++index acdd27a87..c29633efd 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/introduce/Bundle.properties
+++++ b/java.hints/src/org/netbeans/modules/java/hints/introduce/Bundle.properties
++@@ -134,5 +134,3 @@ MSG_DuplicateMethodPiece=Replace this duplicate with invocation of the original
++ LBL_PickExpression=Pick expression
++ ERR_No_Valid_Expressions_Found=No valid expressions found
++ IntroduceMethodPanel.jLabel1.text=&Target Class:
++-IntroduceMethodPanel.checkRefactorExisting.text=Point existing references to original method
++-IntroduceFieldPanel.checkRefactorExisting.text=Point existing references to original field
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/introduce/ErrorLabel.java b/java.hints/src/org/netbeans/modules/java/hints/introduce/ErrorLabel.java
++new file mode 100644
++index 000000000..a81498dda
++--- /dev/null
+++++ b/java.hints/src/org/netbeans/modules/java/hints/introduce/ErrorLabel.java
++@@ -0,0 +1,141 @@
+++/*
+++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+++ *
+++ * Copyright 1997-2010 Oracle and/or its affiliates. All rights reserved.
+++ *
+++ * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
+++ * Other names may be trademarks of their respective owners.
+++ *
+++ * The contents of this file are subject to the terms of either the GNU
+++ * General Public License Version 2 only ("GPL") or the Common
+++ * Development and Distribution License("CDDL") (collectively, the
+++ * "License"). You may not use this file except in compliance with the
+++ * License. You can obtain a copy of the License at
+++ * http://www.netbeans.org/cddl-gplv2.html
+++ * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
+++ * specific language governing permissions and limitations under the
+++ * License. When distributing the software, include this License Header
+++ * Notice in each file and include the License file at
+++ * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
+++ * particular file as subject to the "Classpath" exception as provided
+++ * by Oracle in the GPL Version 2 section of the License file that
+++ * accompanied this code. If applicable, add the following below the
+++ * License Header, with the fields enclosed by brackets [] replaced by
+++ * your own identifying information:
+++ * "Portions Copyrighted [year] [name of copyright owner]"
+++ *
+++ * Contributor(s):
+++ *
+++ * The Original Software is NetBeans. The Initial Developer of the Original
+++ * Software is Sun Microsystems, Inc. Portions Copyright 1997-2007 Sun
+++ * Microsystems, Inc. All Rights Reserved.
+++ *
+++ * If you wish your version of this file to be governed by only the CDDL
+++ * or only the GPL Version 2, indicate your decision by adding
+++ * "[Contributor] elects to include this software in this distribution
+++ * under the [CDDL or GPL Version 2] license." If you do not indicate a
+++ * single choice of license, a recipient has the option to distribute
+++ * your version of this file under either the CDDL, the GPL Version 2 or
+++ * to extend the choice of license to its licensees as provided above.
+++ * However, if you add GPL Version 2 code and therefore, elected the GPL
+++ * Version 2 license, then the option applies only if the new code is
+++ * made subject to such option by the copyright holder.
+++ */
+++package org.netbeans.modules.java.hints.introduce;
+++
+++import javax.swing.Icon;
+++import javax.swing.ImageIcon;
+++import javax.swing.JLabel;
+++import javax.swing.event.DocumentEvent;
+++import javax.swing.event.DocumentListener;
+++import javax.swing.text.BadLocationException;
+++import javax.swing.text.Document;
+++import org.openide.util.ImageUtilities;
+++import org.openide.util.Utilities;
+++
+++/**
+++ * A special label that displays an error message if the text in the document it is
+++ * tracking is not valid.
+++ *
+++ * @author S. Aubrecht
+++ */
+++class ErrorLabel extends JLabel {
+++
+++ /**
+++ * Property that is fired when the valid/invalid status of the tracked text document changes.
+++ */
+++ public static final String PROP_IS_VALID = "isValid";
+++
+++ private Document document;
+++ private Validator validator;
+++ private boolean isValid = true;
+++
+++ /** Creates a new instance of InputErrorDisplayer
+++ * @param doc Document to track for editing changes, e.g. from a JTextField
+++ * @param validator The logic that decides whether the text is valid or not.
+++ */
+++ public ErrorLabel( Document doc, Validator validator ) {
+++ setText( null );
+++ setIcon( null );
+++
+++ assert null != doc;
+++ assert null != validator;
+++
+++ this.document = doc;
+++ this.validator = validator;
+++ revalidateText();
+++
+++ doc.addDocumentListener( new DocumentListener() {
+++ public void insertUpdate(DocumentEvent arg0) {
+++ revalidateText();
+++ }
+++
+++ public void removeUpdate(DocumentEvent arg0) {
+++ revalidateText();
+++ }
+++
+++ public void changedUpdate(DocumentEvent arg0) {
+++ revalidateText();
+++ }
+++ });
+++ }
+++
+++ /**
+++ * @return True if the text in the tracked document is valid.
+++ */
+++ public boolean isInputTextValid() {
+++ return isValid;
+++ }
+++
+++ protected void revalidateText() {
+++ boolean oldStatus = isValid;
+++ String errMessage = null;
+++ try {
+++ errMessage = validator.validate( document.getText( 0, document.getLength() ) );
+++ } catch (BadLocationException ex) {
+++ //ignore
+++ return;
+++ }
+++ isValid = errMessage == null;
+++ setText( errMessage );
+++ setIcon( null == errMessage || "".equals(errMessage)? null : getErrorIcon() );
+++
+++ firePropertyChange( PROP_IS_VALID, oldStatus, isValid);
+++ }
+++
+++ protected Icon getErrorIcon() {
+++ return ImageUtilities.loadImageIcon("org/netbeans/modules/java/editor/resources/error-glyph.gif", false);
+++ }
+++
+++ /**
+++ * Validates the given text.
+++ */
+++ public static interface Validator {
+++ /**
+++ * Check the given text and return error message if the text is not valid or null if there are no errors.
+++ * @param text Text to be checked for errors.
+++ * @return Error message to be displayed to the user or null if there no errors in the document.
+++ */
+++ public String validate( String text );
+++ }
+++}
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/introduce/FieldValidator.java b/java.hints/src/org/netbeans/modules/java/hints/introduce/FieldValidator.java
++deleted file mode 100644
++index da3a60c80..000000000
++--- a/java.hints/src/org/netbeans/modules/java/hints/introduce/FieldValidator.java
+++++ /dev/null
++@@ -1,179 +0,0 @@
++-/*
++- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++- *
++- * Copyright 2016 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
++- *
++- * The contents of this file are subject to the terms of either the GNU
++- * General Public License Version 2 only ("GPL") or the Common
++- * Development and Distribution License("CDDL") (collectively, the
++- * "License"). You may not use this file except in compliance with the
++- * License. You can obtain a copy of the License at
++- * http://www.netbeans.org/cddl-gplv2.html
++- * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++- * specific language governing permissions and limitations under the
++- * License. When distributing the software, include this License Header
++- * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
++- * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
++- * accompanied this code. If applicable, add the following below the
++- * License Header, with the fields enclosed by brackets [] replaced by
++- * your own identifying information:
++- * "Portions Copyrighted [year] [name of copyright owner]"
++- *
++- * If you wish your version of this file to be governed by only the CDDL
++- * or only the GPL Version 2, indicate your decision by adding
++- * "[Contributor] elects to include this software in this distribution
++- * under the [CDDL or GPL Version 2] license." If you do not indicate a
++- * single choice of license, a recipient has the option to distribute
++- * your version of this file under either the CDDL, the GPL Version 2 or
++- * to extend the choice of license to its licensees as provided above.
++- * However, if you add GPL Version 2 code and therefore, elected the GPL
++- * Version 2 license, then the option applies only if the new code is
++- * made subject to such option by the copyright holder.
++- *
++- * Contributor(s):
++- *
++- * Portions Copyrighted 2016 Sun Microsystems, Inc.
++- */
++-package org.netbeans.modules.java.hints.introduce;
++-
++-import com.sun.source.tree.Scope;
++-import com.sun.source.util.TreePath;
++-import java.io.IOException;
++-import java.util.Map;
++-import javax.lang.model.element.Element;
++-import javax.lang.model.element.ElementKind;
++-import javax.lang.model.element.TypeElement;
++-import javax.lang.model.type.DeclaredType;
++-import javax.lang.model.type.TypeMirror;
++-import org.netbeans.api.java.source.CompilationController;
++-import org.netbeans.api.java.source.CompilationInfo;
++-import org.netbeans.api.java.source.ElementHandle;
++-import org.netbeans.api.java.source.ElementUtilities.ElementAcceptor;
++-import org.netbeans.api.java.source.JavaSource;
++-import org.netbeans.api.java.source.Task;
++-import org.netbeans.api.java.source.TreePathHandle;
++-import org.netbeans.api.java.source.TypeMirrorHandle;
++-
++-/**
++- *
++- * @author sdedic
++- */
++-final class FieldValidator implements MemberValidator {
++- private final JavaSource theSource;
++- private final TypeMirrorHandle fieldTypeHandle;
++-
++- private String name;
++- private ElementHandle<Element> target;
++- private MemberSearchResult lastResult;
++-
++- public FieldValidator(JavaSource theSource, TypeMirrorHandle fieldTypeHandle) {
++- this.theSource = theSource;
++- this.fieldTypeHandle = fieldTypeHandle;
++- }
++-
++- MemberSearchResult getLastResult() {
++- return lastResult;
++- }
++-
++- @Override
++- public synchronized MemberSearchResult validateName(TreePathHandle target, String n) {
++- if ((target == target || target.equals(target)) && n.equals(name)) {
++- return lastResult;
++- }
++- SearchImpl impl = new SearchImpl(target, n);
++- try {
++- theSource.runUserActionTask(impl, true);
++- } catch (IOException ex) {
++- return null;
++- }
++-
++- return lastResult;
++- }
++-
++- private class SearchImpl implements Task<CompilationController>, ElementAcceptor {
++- private final TreePathHandle targetHandle;
++- private final String name;
++-
++- private CompilationInfo cinfo;
++- private Element target;
++- private Scope initialScope;
++-
++- public SearchImpl(TreePathHandle targetHandle, String name) {
++- this.targetHandle = targetHandle;
++- this.name = name;
++- }
++-
++- @Override
++- public void run(CompilationController parameter) throws Exception {
++- parameter.toPhase(JavaSource.Phase.RESOLVED);
++- this.cinfo = parameter;
++- if (targetHandle == null) {
++- return;
++- }
++- TreePath targetPath = targetHandle.resolve(cinfo);
++- if (target == null) {
++- return;
++- }
++- initialScope = cinfo.getTrees().getScope(targetPath);
++-
++- Map<? extends Element, Scope> visibleVariables =
++- cinfo.getElementUtilities().findElementsAndOrigins(initialScope, this);
++-
++- for (Element e : visibleVariables.keySet()) {
++- if (e.getKind() == ElementKind.FIELD ||
++- e.getKind() == ElementKind.ENUM_CONSTANT) {
++- Scope def = visibleVariables.get(e);
++- TypeElement owner = def.getEnclosingClass();
++- if (owner == null) {
++- // static import
++- lastResult = new MemberSearchResult(ElementHandle.create(e),
++- ElementHandle.create((TypeElement)e.getEnclosingElement()));
++- } else if (owner == e.getEnclosingElement()) {
++- lastResult = new MemberSearchResult(ElementHandle.create(e),
++- ElementHandle.create(owner));
++- } else {
++- // special case - hiding superclass field
++- lastResult = new MemberSearchResult(ElementHandle.create(e),
++- ElementHandle.create(owner), null);
++- }
++- } else {
++- // some locals, report a conflict since the hidden local
++- // cannot be dereferenced
++- lastResult = new MemberSearchResult(ElementHandle.create(e));
++- return;
++- }
++- }
++- }
++-
++- @Override
++- public boolean accept(Element e, TypeMirror type) {
++- boolean checkAccessible = false;
++- switch (e.getKind()) {
++- case ENUM_CONSTANT:
++- case FIELD:
++- checkAccessible = true;
++- break;
++- case PARAMETER:
++- case LOCAL_VARIABLE:
++- case EXCEPTION_PARAMETER:
++- case TYPE_PARAMETER:
++- case RESOURCE_VARIABLE:
++- break;
++- default:
++- return false;
++- }
++- if (!e.getSimpleName().contentEquals(name)) {
++- return false;
++- }
++- return !checkAccessible ||
++- type == null ||
++- cinfo.getTrees().isAccessible(initialScope, e, (DeclaredType)type);
++- }
++- }
++-
++-}
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/introduce/Flow.java b/java.hints/src/org/netbeans/modules/java/hints/introduce/Flow.java
++index 2665fd539..66f39cffd 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/introduce/Flow.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/introduce/Flow.java
++@@ -1670,10 +1670,7 @@ public class Flow {
++ }
++
++ public Boolean visitCatch(CatchTree node, ConstructorData p) {
++- inParameters = true;
++- scan(node.getParameter(), p);
++- inParameters = false;
++- scan(node.getBlock(), p);
+++ super.visitCatch(node, p);
++ return null;
++ }
++
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/introduce/InstanceRefFinder.java b/java.hints/src/org/netbeans/modules/java/hints/introduce/InstanceRefFinder.java
++index 47485068a..a1aed374b 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/introduce/InstanceRefFinder.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/introduce/InstanceRefFinder.java
++@@ -43,8 +43,10 @@ package org.netbeans.modules.java.hints.introduce;
++
++ import com.sun.source.tree.ClassTree;
++ import com.sun.source.tree.IdentifierTree;
+++import com.sun.source.tree.LambdaExpressionTree;
++ import com.sun.source.tree.MemberReferenceTree;
++ import com.sun.source.tree.MemberSelectTree;
+++import com.sun.source.tree.MethodInvocationTree;
++ import com.sun.source.tree.NewClassTree;
++ import com.sun.source.tree.Tree;
++ import com.sun.source.util.TreePath;
++@@ -57,6 +59,7 @@ import javax.lang.model.element.ElementKind;
++ import javax.lang.model.element.Modifier;
++ import javax.lang.model.element.NestingKind;
++ import javax.lang.model.element.TypeElement;
+++import javax.lang.model.element.VariableElement;
++ import javax.lang.model.type.DeclaredType;
++ import javax.lang.model.type.TypeKind;
++ import javax.lang.model.type.TypeMirror;
++@@ -242,8 +245,8 @@ public class InstanceRefFinder extends TreePathScanner {
++ }
++ switch (pt.getNestingKind()) {
++ case ANONYMOUS:
++- // the anonymous class itself may not need an enclosing instance, if its
++- // contents do not reference anything from the instance.
+++ // anonymous class can be moved, but they contain an implicit instance of this
+++ addRequiredInstance(findEnclosingType(pt));
++ break;
++
++ case LOCAL:
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceConstantFix.java b/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceConstantFix.java
++index 4ef12a8e6..b131fb01e 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceConstantFix.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceConstantFix.java
++@@ -53,7 +53,6 @@ import javax.lang.model.type.TypeKind;
++ import javax.swing.JButton;
++ import org.netbeans.api.java.source.CodeStyle;
++ import org.netbeans.api.java.source.CompilationInfo;
++-import org.netbeans.api.java.source.ElementHandle;
++ import org.netbeans.api.java.source.JavaSource;
++ import org.netbeans.api.java.source.TreePathHandle;
++ import org.netbeans.api.java.source.TreeUtilities;
++@@ -90,7 +89,7 @@ public class IntroduceConstantFix extends IntroduceFieldFix {
++ public String getText() {
++ return NbBundle.getMessage(IntroduceConstantFix.class, "FIX_IntroduceConstant");
++ }
++-
+++
++ /**
++ * Creates an 'introduce constant' fix.
++ *
++@@ -122,11 +121,7 @@ public class IntroduceConstantFix extends IntroduceFieldFix {
++ varName = Utilities.makeNameUnique(info, info.getTrees().getScope(constantTarget), proposed, cs.getStaticFieldNamePrefix(), cs.getStaticFieldNameSuffix());
++ }
++ ClassTree clazz = (ClassTree)constantTarget.getLeaf();
++- Element el = info.getTrees().getElement(constantTarget);
++- if (el == null || !(el.getKind().isClass() || el.getKind().isInterface())) {
++- return null;
++- }
++- IntroduceConstantFix fix = new IntroduceConstantFix(h, info.getJavaSource(), varName, numDuplicates, offset, TreePathHandle.create(constantTarget, info));
+++ IntroduceConstantFix fix = new IntroduceConstantFix(h, info.getJavaSource(), varName, numDuplicates, offset);
++ fix.setTargetIsInterface(clazz.getKind() == Tree.Kind.INTERFACE);
++ return fix;
++ }
++@@ -157,8 +152,8 @@ public class IntroduceConstantFix extends IntroduceFieldFix {
++ }
++ }
++
++- public IntroduceConstantFix(TreePathHandle handle, JavaSource js, String guessedName, int numDuplicates, int offset, TreePathHandle target) {
++- super(handle, js, guessedName, numDuplicates, null, true, true, offset, true, target);
+++ public IntroduceConstantFix(TreePathHandle handle, JavaSource js, String guessedName, int numDuplicates, int offset) {
+++ super(handle, js, guessedName, numDuplicates, null, true, true, offset, true);
++ }
++
++ @Override
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceExpressionBasedMethodFix.java b/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceExpressionBasedMethodFix.java
++index f6a895447..2845f0777 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceExpressionBasedMethodFix.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceExpressionBasedMethodFix.java
++@@ -43,6 +43,8 @@ package org.netbeans.modules.java.hints.introduce;
++
++ import com.sun.source.tree.ClassTree;
++ import com.sun.source.tree.ExpressionTree;
+++import com.sun.source.tree.IdentifierTree;
+++import com.sun.source.tree.MemberSelectTree;
++ import com.sun.source.tree.MethodTree;
++ import com.sun.source.tree.ModifiersTree;
++ import com.sun.source.tree.Scope;
++@@ -51,13 +53,15 @@ import com.sun.source.tree.Tree;
++ import com.sun.source.tree.TypeParameterTree;
++ import com.sun.source.tree.VariableTree;
++ import com.sun.source.util.TreePath;
+++import com.sun.source.util.TreePathScanner;
++ import java.util.ArrayList;
++-import java.util.Collection;
++ import java.util.Collections;
++ import java.util.EnumSet;
+++import java.util.HashSet;
++ import java.util.Iterator;
++ import java.util.LinkedList;
++ import java.util.List;
+++import java.util.Map;
++ import java.util.Set;
++ import java.util.concurrent.atomic.AtomicBoolean;
++ import javax.lang.model.element.Element;
++@@ -65,6 +69,7 @@ import javax.lang.model.element.ElementKind;
++ import javax.lang.model.element.Modifier;
++ import javax.lang.model.element.TypeElement;
++ import javax.lang.model.element.VariableElement;
+++import javax.lang.model.type.TypeKind;
++ import javax.lang.model.type.TypeMirror;
++ import javax.swing.JButton;
++ import javax.swing.text.Document;
++@@ -84,7 +89,6 @@ import org.netbeans.spi.editor.hints.ChangeInfo;
++ import org.netbeans.spi.editor.hints.Fix;
++ import org.openide.DialogDescriptor;
++ import org.openide.DialogDisplayer;
++-import org.openide.NotificationLineSupport;
++ import org.openide.NotifyDescriptor;
++ import org.openide.util.NbBundle;
++ import org.openide.util.Union2;
++@@ -123,11 +127,7 @@ final class IntroduceExpressionBasedMethodFix extends IntroduceFixBase implement
++ if (el != null) {
++ boolean isIface = el.getKind().isInterface();
++ if (el.getKind().isClass() || isIface) {
++- TargetDescription td = TargetDescription.create(info, (TypeElement) el,
++- acceptableParent, duplicatesAcceptable, isIface);
++- if (td.type != null && td.type.resolve(info) != null) {
++- targets.add(td);
++- }
+++ targets.add(TargetDescription.create(info, (TypeElement) el, duplicatesAcceptable, isIface));
++ allInterfaces &= isIface;
++ }
++ }
++@@ -165,25 +165,23 @@ final class IntroduceExpressionBasedMethodFix extends IntroduceFixBase implement
++ return null;
++ }
++ allInterfaces = el.getKind().isInterface();
++- targets.add(TargetDescription.create(info, (TypeElement) el, clazz, true, el.getKind().isInterface()));
+++ targets.add(TargetDescription.create(info, (TypeElement) el, true, el.getKind().isInterface()));
++ }
++ allIfaces.set(allInterfaces);
++ return targets;
++ }
++
++- private final TypeMirrorHandle returnType;
++ private final List<TreePathHandle> parameters;
++ private final Set<TypeMirrorHandle> thrownTypes;
++ private final List<TreePathHandle> typeVars;
++- private final Collection<TargetDescription> targets;
+++ private final Map<TargetDescription, Set<String>> targets;
++
++- public IntroduceExpressionBasedMethodFix(JavaSource js, TreePathHandle expression, List<TreePathHandle> parameters, TypeMirrorHandle returnType, Set<TypeMirrorHandle> thrownTypes, int duplicatesCount, List<TreePathHandle> typeVars, int offset, Collection<TargetDescription> targets) {
+++ public IntroduceExpressionBasedMethodFix(JavaSource js, TreePathHandle expression, List<TreePathHandle> parameters, Set<TypeMirrorHandle> thrownTypes, int duplicatesCount, List<TreePathHandle> typeVars, int offset, Map<TargetDescription, Set<String>> targets) {
++ super(js, expression, duplicatesCount, offset);
++ this.parameters = parameters;
++ this.thrownTypes = thrownTypes;
++ this.typeVars = typeVars;
++ this.targets = targets;
++- this.returnType = returnType;
++ }
++
++ public String getText() {
++@@ -199,13 +197,9 @@ final class IntroduceExpressionBasedMethodFix extends IntroduceFixBase implement
++ JButton btnOk = new JButton(NbBundle.getMessage(IntroduceHint.class, "LBL_Ok"));
++ JButton btnCancel = new JButton(NbBundle.getMessage(IntroduceHint.class, "LBL_Cancel"));
++ IntroduceMethodPanel panel = new IntroduceMethodPanel("", duplicatesCount, targets, targetIsInterface); //NOI18N
+++ panel.setOkButton(btnOk);
++ String caption = NbBundle.getMessage(IntroduceHint.class, "CAP_IntroduceMethod");
++ DialogDescriptor dd = new DialogDescriptor(panel, caption, true, new Object[]{btnOk, btnCancel}, btnOk, DialogDescriptor.DEFAULT_ALIGN, null, null);
++- NotificationLineSupport notifier = dd.createNotificationLineSupport();
++- MethodValidator val = new MethodValidator(js, parameters, returnType);
++- panel.setNotifier(notifier);
++- panel.setValidator(val);
++- panel.setOkButton(btnOk);
++ if (DialogDisplayer.getDefault().notify(dd) != btnOk) {
++ return null; //cancel
++ }
++@@ -213,8 +207,6 @@ final class IntroduceExpressionBasedMethodFix extends IntroduceFixBase implement
++ final Set<Modifier> access = panel.getAccess();
++ final boolean replaceOther = panel.getReplaceOther();
++ final TargetDescription target = panel.getSelectedTarget();
++- final MemberSearchResult searchResult = val.getResult();
++- final boolean redoReferences = panel.isRefactorExisting();
++ js.runModificationTask(new Task<WorkingCopy>() {
++ public void run(WorkingCopy copy) throws Exception {
++ copy.toPhase(JavaSource.Phase.RESOLVED);
++@@ -231,7 +223,7 @@ final class IntroduceExpressionBasedMethodFix extends IntroduceFixBase implement
++ if (expression == null || returnType == null) {
++ return; //TODO...
++ }
++- returnType = Utilities.convertIfAnonymous(Utilities.resolveTypeForDeclaration(copy, returnType));
+++ returnType = Utilities.convertIfAnonymous(Utilities.resolveCapturedType(copy, returnType));
++ final TreeMaker make = copy.getTreeMaker();
++ Tree returnTypeTree = make.Type(returnType);
++ List<VariableElement> parameters = IntroduceHint.resolveVariables(copy, IntroduceExpressionBasedMethodFix.this.parameters);
++@@ -294,7 +286,7 @@ final class IntroduceExpressionBasedMethodFix extends IntroduceFixBase implement
++
++ if (target.iface) {
++ modifiers.add(Modifier.DEFAULT);
++- } else if (isStatic && target.canStatic) {
+++ } else if (isStatic) {
++ modifiers.add(Modifier.STATIC);
++ }
++ modifiers.addAll(access);
++@@ -302,13 +294,6 @@ final class IntroduceExpressionBasedMethodFix extends IntroduceFixBase implement
++ MethodTree method = make.Method(mods, name, returnTypeTree, typeVars, formalArguments, thrown, make.Block(methodStatements, false), null);
++ ClassTree nueClass = IntroduceHint.INSERT_CLASS_MEMBER.insertClassMember(copy, (ClassTree) pathToClass.getLeaf(), method, offset);
++ copy.rewrite(pathToClass.getLeaf(), nueClass);
++-
++- if (redoReferences) {
++- new ReferenceTransformer(
++- copy, ElementKind.METHOD, searchResult,
++- name,
++- targetType).scan(pathToClass, null);
++- }
++ }
++ }).commit();
++ return null;
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceFieldFix.java b/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceFieldFix.java
++index c9a924859..3dbb58966 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceFieldFix.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceFieldFix.java
++@@ -68,12 +68,10 @@ import java.util.concurrent.atomic.AtomicBoolean;
++ import javax.lang.model.element.Element;
++ import javax.lang.model.element.ElementKind;
++ import javax.lang.model.element.Modifier;
++-import javax.lang.model.element.TypeElement;
++ import javax.lang.model.type.ArrayType;
++ import javax.lang.model.type.TypeMirror;
++ import javax.swing.JButton;
++ import javax.swing.text.BadLocationException;
++-import org.netbeans.api.java.source.ElementHandle;
++ import org.netbeans.api.java.source.JavaSource;
++ import org.netbeans.api.java.source.SourceUtils;
++ import org.netbeans.api.java.source.Task;
++@@ -99,7 +97,6 @@ class IntroduceFieldFix extends IntroduceFixBase implements Fix {
++ private final boolean statik;
++ private final boolean allowFinalInCurrentMethod;
++ private final boolean permitDuplicates;
++- private final TreePathHandle targetHandle;
++
++ /**
++ * Initializes the fix
++@@ -113,19 +110,18 @@ class IntroduceFieldFix extends IntroduceFixBase implements Fix {
++ * @param offset caret offset
++ */
++ public IntroduceFieldFix(TreePathHandle handle, JavaSource js, String guessedName,
++- int numDuplicates, int[] initilizeIn, boolean statik, boolean allowFinalInCurrentMethod, int offset, TreePathHandle target) {
++- this(handle, js, guessedName, numDuplicates, initilizeIn, statik, allowFinalInCurrentMethod, offset, false, target);
+++ int numDuplicates, int[] initilizeIn, boolean statik, boolean allowFinalInCurrentMethod, int offset) {
+++ this(handle, js, guessedName, numDuplicates, initilizeIn, statik, allowFinalInCurrentMethod, offset, false);
++ }
++
++ public IntroduceFieldFix(TreePathHandle handle, JavaSource js, String guessedName,
++- int numDuplicates, int[] initilizeIn, boolean statik, boolean allowFinalInCurrentMethod, int offset, boolean allowDuplicates, TreePathHandle target) {
+++ int numDuplicates, int[] initilizeIn, boolean statik, boolean allowFinalInCurrentMethod, int offset, boolean allowDuplicates) {
++ super(js, handle, numDuplicates, offset);
++ this.guessedName = guessedName;
++ this.initilizeIn = initilizeIn;
++ this.statik = statik;
++ this.allowFinalInCurrentMethod = allowFinalInCurrentMethod;
++ this.permitDuplicates = allowDuplicates;
++- this.targetHandle = target;
++ }
++
++ public String getText() {
++@@ -164,22 +160,15 @@ class IntroduceFieldFix extends IntroduceFixBase implements Fix {
++ JButton btnCancel = new JButton(NbBundle.getMessage(IntroduceHint.class, "LBL_Cancel"));
++ btnCancel.getAccessibleContext().setAccessibleDescription(NbBundle.getMessage(IntroduceHint.class, "AD_IntrHint_Cancel"));
++ IntroduceFieldPanel panel = createPanel(btnOk);
++- FieldValidator fv = new FieldValidator(js, null);
++ if (targetIsInterface) {
++ panel.setAllowAccess(false);
++ }
++ DialogDescriptor dd = new DialogDescriptor(panel, getCaption(), true, new Object[]{btnOk, btnCancel}, btnOk, DialogDescriptor.DEFAULT_ALIGN, null, null);
++- panel.setNotifier(dd.createNotificationLineSupport());
++- panel.setTarget(targetHandle);
++- panel.setValidator(fv);
++-
++ if (DialogDisplayer.getDefault().notify(dd) != btnOk) {
++ return null; //cancel
++ }
++ js.runModificationTask(new Worker(panel.getFieldName(), permitDuplicates && panel.isReplaceAll(),
++- panel.isDeclareFinal(), panel.getAccess(), panel.getInitializeIn(),
++- fv.getLastResult(),
++- panel.isRefactorExisting())).commit();
+++ panel.isDeclareFinal(), panel.getAccess(), panel.getInitializeIn())).commit();
++ return null;
++ }
++
++@@ -193,22 +182,18 @@ class IntroduceFieldFix extends IntroduceFixBase implements Fix {
++ final boolean declareFinal;
++ final Set<Modifier> access;
++ final int initializeIn;
++- final boolean refactorExisting;
++- final MemberSearchResult searchResult;
++
++ private ClassTree nueClass;
++ private TreePath toRemoveFromParent;
++ private boolean variableRewrite;
++ private boolean expressionStatementRewrite;
++
++- public Worker(String name, boolean replaceAll, boolean declareFinal, Set<Modifier> access, int initializeIn, MemberSearchResult searchResult, boolean refactorExisting) {
+++ public Worker(String name, boolean replaceAll, boolean declareFinal, Set<Modifier> access, int initializeIn) {
++ this.name = name;
++ this.replaceAll = replaceAll;
++ this.declareFinal = declareFinal;
++ this.access = access;
++ this.initializeIn = initializeIn;
++- this.refactorExisting = refactorExisting;
++- this.searchResult = searchResult;
++ }
++
++ private boolean initializeFromMethod(WorkingCopy parameter, TreePath resolved,
++@@ -228,7 +213,7 @@ class IntroduceFieldFix extends IntroduceFixBase implements Fix {
++ //really strange...
++ return false;
++ }
++- insertStatement(parameter, statementPath.getParentPath(), statement, assignment, true);
+++ insertStatement(parameter, statementPath.getParentPath(), index, assignment, true);
++ return true;
++ }
++
++@@ -264,7 +249,7 @@ class IntroduceFieldFix extends IntroduceFixBase implements Fix {
++ ExpressionTree reference = hasParameterOfTheSameName ? make.MemberSelect(make.Identifier("this"), name) : make.Identifier(name); // NOI18N
++ ExpressionStatementTree assignment = make.ExpressionStatement(make.Assignment(reference, expression));
++ // insert as the 2nd statement, after potential super call.
++- insertStatement(parameter, new TreePath(constructor, constr.getBody()), null,
+++ insertStatement(parameter, new TreePath(constructor, constr.getBody()), 1,
++ assignment, constructor.getLeaf() == method.getLeaf());
++ }
++ return true;
++@@ -278,12 +263,29 @@ class IntroduceFieldFix extends IntroduceFixBase implements Fix {
++ * @param assignment
++ */
++ private void insertStatement(WorkingCopy parameter,
++- TreePath target, Tree anchor, StatementTree assignment, boolean replace) {
+++ TreePath target, int index, StatementTree assignment, boolean replace) {
+++ TreeMaker make = parameter.getTreeMaker();
+++
++ if ((variableRewrite || expressionStatementRewrite) && replace) {
++ parameter.rewrite(toRemoveFromParent.getLeaf(), assignment);
++ toRemoveFromParent = null;
++ } else {
++- Utilities.insertStatement(parameter, target, anchor, Collections.singletonList(assignment), null, 0);
+++ BlockTree origBody = (BlockTree)target.getLeaf();
+++ List<StatementTree> nueStatements = new LinkedList<StatementTree>();
+++ List<? extends StatementTree> origStatements = origBody.getStatements();
+++ StatementTree canBeSuper = origStatements.get(0);
+++ int from = 0;
+++ // for constructor
+++ if (parameter.getTreeUtilities().isSynthetic(TreePath.getPath(target, canBeSuper))) {
+++ from = 1;
+++ }
+++ nueStatements.addAll(origStatements.subList(from, index));
+++ nueStatements.add(assignment);
+++ if (index < origStatements.size()) {
+++ nueStatements.addAll(origStatements.subList(index, origStatements.size()));
+++ }
+++ BlockTree nueBlock = make.Block(nueStatements, false);
+++ parameter.rewrite(origBody, nueBlock);
++ }
++ }
++
++@@ -297,7 +299,7 @@ class IntroduceFieldFix extends IntroduceFixBase implements Fix {
++ if (tm == null) {
++ return; //TODO...
++ }
++- tm = Utilities.convertIfAnonymous(Utilities.resolveTypeForDeclaration(parameter, tm));
+++ tm = Utilities.convertIfAnonymous(Utilities.resolveCapturedType(parameter, tm));
++ TreePath pathToClass = findTargetClass(parameter, resolved);
++ if (pathToClass == null) {
++ return; //TODO...
++@@ -385,10 +387,6 @@ class IntroduceFieldFix extends IntroduceFixBase implements Fix {
++ if (toRemoveFromParent != null) {
++ IntroduceHint.removeFromParent(parameter, toRemoveFromParent);
++ }
++- if (refactorExisting) {
++- new ReferenceTransformer(parameter, ElementKind.FIELD, searchResult, name,
++- parameter.getTrees().getElement(pathToClass)).scan(pathToClass, null);
++- }
++ parameter.rewrite(pathToClass.getLeaf(), nueClass);
++ }
++ }
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceFieldPanel.form b/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceFieldPanel.form
++index 8a5eb813c..f540a1fc6 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceFieldPanel.form
+++++ b/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceFieldPanel.form
++@@ -27,9 +27,10 @@
++ <Layout>
++ <DimensionLayout dim="0">
++ <Group type="103" groupAlignment="0" attributes="0">
++- <Group type="102" attributes="0">
+++ <Group type="102" alignment="0" attributes="0">
++ <EmptySpace max="-2" attributes="0"/>
++ <Group type="103" groupAlignment="0" attributes="0">
+++ <Component id="errLabel" alignment="0" pref="483" max="32767" attributes="0"/>
++ <Group type="102" alignment="0" attributes="0">
++ <Group type="103" groupAlignment="0" attributes="0">
++ <Component id="lblAccess" min="-2" max="-2" attributes="0"/>
++@@ -49,22 +50,16 @@
++ </Group>
++ </Group>
++ </Group>
++- <Group type="102" attributes="0">
+++ <Component id="declareFinal" alignment="0" min="-2" max="-2" attributes="0"/>
+++ <Component id="replaceAll" alignment="0" min="-2" max="-2" attributes="0"/>
+++ <Group type="102" alignment="0" attributes="0">
+++ <Component id="lblInitializeIn" min="-2" max="-2" attributes="0"/>
+++ <EmptySpace max="-2" attributes="0"/>
++ <Group type="103" groupAlignment="0" attributes="0">
++- <Component id="declareFinal" alignment="0" min="-2" max="-2" attributes="0"/>
++- <Component id="replaceAll" alignment="0" min="-2" max="-2" attributes="0"/>
++- <Group type="102" alignment="0" attributes="0">
++- <Component id="lblInitializeIn" min="-2" max="-2" attributes="0"/>
++- <EmptySpace max="-2" attributes="0"/>
++- <Group type="103" groupAlignment="0" attributes="0">
++- <Component id="initConstructors" alignment="0" min="-2" max="-2" attributes="0"/>
++- <Component id="initField" alignment="0" min="-2" max="-2" attributes="0"/>
++- <Component id="initMethod" alignment="0" min="-2" max="-2" attributes="0"/>
++- </Group>
++- </Group>
++- <Component id="checkRefactorExisting" alignment="0" min="-2" max="-2" attributes="0"/>
+++ <Component id="initConstructors" alignment="0" min="-2" max="-2" attributes="0"/>
+++ <Component id="initField" alignment="0" min="-2" max="-2" attributes="0"/>
+++ <Component id="initMethod" alignment="0" min="-2" max="-2" attributes="0"/>
++ </Group>
++- <EmptySpace min="0" pref="0" max="32767" attributes="0"/>
++ </Group>
++ </Group>
++ <EmptySpace max="-2" attributes="0"/>
++@@ -102,9 +97,9 @@
++ <Component id="initConstructors" min="-2" max="-2" attributes="0"/>
++ </Group>
++ </Group>
+++ <EmptySpace pref="18" max="32767" attributes="0"/>
+++ <Component id="errLabel" min="-2" max="-2" attributes="0"/>
++ <EmptySpace max="-2" attributes="0"/>
++- <Component id="checkRefactorExisting" min="-2" max="-2" attributes="0"/>
++- <EmptySpace pref="20" max="32767" attributes="0"/>
++ </Group>
++ </Group>
++ </DimensionLayout>
++@@ -364,16 +359,13 @@
++ </Property>
++ </AccessibilityProperties>
++ </Component>
++- <Component class="javax.swing.JCheckBox" name="checkRefactorExisting">
+++ <Component class="javax.swing.JLabel" name="errLabel">
++ <Properties>
++- <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
++- <ResourceString bundle="org/netbeans/modules/java/hints/introduce/Bundle.properties" key="IntroduceFieldPanel.checkRefactorExisting.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
++- </Property>
++- <Property name="enabled" type="boolean" value="false"/>
+++ <Property name="text" type="java.lang.String" value="jLabel1"/>
++ </Properties>
++- <Events>
++- <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="checkRefactorExistingActionPerformed"/>
++- </Events>
+++ <AuxValues>
+++ <AuxValue name="JavaCodeGenerator_CreateCodeCustom" type="java.lang.String" value="createErrorLabel()"/>
+++ </AuxValues>
++ </Component>
++ </SubComponents>
++ </Form>
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceFieldPanel.java b/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceFieldPanel.java
++index 824d63baa..bdb3bca55 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceFieldPanel.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceFieldPanel.java
++@@ -36,19 +36,9 @@ import java.util.Collections;
++ import java.util.EnumSet;
++ import java.util.Set;
++ import java.util.prefs.Preferences;
++-import javax.lang.model.element.Element;
++-import javax.lang.model.element.ElementKind;
++ import javax.lang.model.element.Modifier;
++-import javax.lang.model.element.TypeElement;
++ import javax.swing.JButton;
++ import javax.swing.JLabel;
++-import javax.swing.JTextField;
++-import javax.swing.event.ChangeEvent;
++-import javax.swing.event.ChangeListener;
++-import org.netbeans.api.java.source.ElementHandle;
++-import org.netbeans.api.java.source.TreePathHandle;
++-import org.openide.NotificationLineSupport;
++-import org.openide.util.NbBundle;
++ import org.openide.util.NbPreferences;
++ import org.openide.util.Utilities;
++
++@@ -62,7 +52,7 @@ import org.openide.util.Utilities;
++ *
++ * @author Jan Lahoda
++ */
++-public class IntroduceFieldPanel extends javax.swing.JPanel implements ChangeListener {
+++public class IntroduceFieldPanel extends javax.swing.JPanel {
++ public static final int FIELD = 0;
++ public static final int CONSTANT = 1;
++ public static final int VARIABLE = 2;
++@@ -88,12 +78,6 @@ public class IntroduceFieldPanel extends javax.swing.JPanel implements ChangeLis
++ */
++ private boolean allowAccess = true;
++
++- private NameChangeSupport changeSupport;
++-
++- private NotificationLineSupport notifier;
++-
++- private boolean refactorExisting;
++-
++ /**
++ * Constructs the dialog.
++ *
++@@ -107,8 +91,7 @@ public class IntroduceFieldPanel extends javax.swing.JPanel implements ChangeLis
++ * @param type field/constant/variable
++ * @param btnOk confirm button, to hook callbacks
++ */
++- public IntroduceFieldPanel(String name, int[] allowInitMethods, int numOccurrences, boolean allowFinalInCurrentMethod,
++- boolean variableRewrite, int type, String prefNode, JButton btnOk) {
+++ public IntroduceFieldPanel(String name, int[] allowInitMethods, int numOccurrences, boolean allowFinalInCurrentMethod, boolean variableRewrite, int type, String prefNode, JButton btnOk) {
++ this.elementType = type;
++ this.btnOk = btnOk;
++
++@@ -171,87 +154,12 @@ public class IntroduceFieldPanel extends javax.swing.JPanel implements ChangeLis
++ accessDefault.setVisible(false);
++ accessPrivate.setVisible(false);
++ }
++-
++- changeSupport = new FieldNameSupport();
++ resetAccess();
++ resetInit();
++ adjustInitializeIn();
++ adjustFinal();
++ }
++
++- public void setTarget(TreePathHandle target) {
++- changeSupport.setTarget(target);
++- }
++-
++- public void setValidator(MemberValidator v) {
++- changeSupport.setValidator(v);
++- }
++-
++- public void setNotifier(NotificationLineSupport notifier) {
++- this.notifier = notifier;
++- }
++-
++- @NbBundle.Messages({
++- "ERR_LocalVarOrParameterHidden=Field would hide a local symbol of an enclosing method",
++- "ERR_ConflictingField=Field with that name already exists",
++- "WARN_InheritedFieldHidden=Inherited field will be hidden, class behaviour may change",
++- "INFO_FieldHidden=A variable, field or import will be hidden"
++- })
++- private class FieldNameSupport extends NameChangeSupport {
++-
++- public FieldNameSupport() {
++- super(name);
++- }
++-
++- @Override
++- protected boolean updateUI(MemberSearchResult result) {
++- if (notifier == null) {
++- return false;
++- }
++- boolean ok = false;
++- boolean refactor = false;
++- if (result == null) {
++- ok = true;
++- } else if (result.getConflicting() != null) {
++- if (result.getConflicting().getKind() != ElementKind.FIELD) {
++- notifier.setErrorMessage(Bundle.ERR_LocalVarOrParameterHidden());
++- } else {
++- notifier.setErrorMessage(Bundle.ERR_ConflictingField());
++- }
++- } else if (result.getOverriden() != null) {
++- // fields are not really overriden, but introducing a field which shadows
++- // a superclass may affect outside code.
++- notifier.setWarningMessage(Bundle.WARN_InheritedFieldHidden());
++- } else if (result.getShadowed() != null) {
++- notifier.setInformationMessage(Bundle.INFO_FieldHidden());
++- refactor = true;
++- } else {
++- ok = true;
++- }
++- if (ok) {
++- notifier.clearMessages();
++- }
++- if (refactor) {
++- checkRefactorExisting.setEnabled(true);
++- checkRefactorExisting.setSelected(refactor);
++- } else {
++- checkRefactorExisting.setEnabled(false);
++- checkRefactorExisting.setSelected(false);
++- }
++- return true;
++- }
++-
++- @Override
++- protected void notifyNameError(String msg) {
++- if (notifier != null) {
++- notifier.setErrorMessage(msg);
++- btnOk.setEnabled(false);
++- }
++- }
++-
++-
++- }
++-
++ private void resetInit() {
++ if (supportsInit()) {
++ int init = preferences.getInt( "initMethod", INIT_METHOD ); //NOI18N
++@@ -374,14 +282,26 @@ public class IntroduceFieldPanel extends javax.swing.JPanel implements ChangeLis
++ }
++ }
++
++- public boolean isRefactorExisting() {
++- return checkRefactorExisting.isEnabled() && checkRefactorExisting.isSelected();
++- }
++-
++-
++- @Override
++- public void stateChanged(ChangeEvent e) {
++- btnOk.setEnabled(changeSupport.isValid());
+++
+++ private JLabel createErrorLabel() {
+++ ErrorLabel.Validator validator = new ErrorLabel.Validator() {
+++
+++ public String validate(String text) {
+++ if( null == text
+++ || text.length() == 0 ) return "";
+++ if (!Utilities.isJavaIdentifier(text))
+++ return getDefaultErrorMessage( text );
+++ return null;
+++ }
+++ };
+++
+++ final ErrorLabel errorLabel = new ErrorLabel( name.getDocument(), validator );
+++ errorLabel.addPropertyChangeListener( ErrorLabel.PROP_IS_VALID,new PropertyChangeListener() {
+++ public void propertyChange(PropertyChangeEvent e) {
+++ btnOk.setEnabled(errorLabel.isInputTextValid());
+++ }
+++ });
+++ return errorLabel;
++ }
++
++ String getDefaultErrorMessage( String inputText ) {
++@@ -411,7 +331,7 @@ public class IntroduceFieldPanel extends javax.swing.JPanel implements ChangeLis
++ accessProtected = new javax.swing.JRadioButton();
++ accessDefault = new javax.swing.JRadioButton();
++ accessPrivate = new javax.swing.JRadioButton();
++- checkRefactorExisting = new javax.swing.JCheckBox();
+++ errLabel = createErrorLabel();
++
++ lblName.setLabelFor(name);
++ org.openide.awt.Mnemonics.setLocalizedText(lblName, org.openide.util.NbBundle.getBundle(IntroduceFieldPanel.class).getString("LBL_Name")); // NOI18N
++@@ -492,13 +412,7 @@ public class IntroduceFieldPanel extends javax.swing.JPanel implements ChangeLis
++ accessPrivate.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0));
++ accessPrivate.setMargin(new java.awt.Insets(0, 0, 0, 0));
++
++- org.openide.awt.Mnemonics.setLocalizedText(checkRefactorExisting, org.openide.util.NbBundle.getMessage(IntroduceFieldPanel.class, "IntroduceFieldPanel.checkRefactorExisting.text")); // NOI18N
++- checkRefactorExisting.setEnabled(false);
++- checkRefactorExisting.addActionListener(new java.awt.event.ActionListener() {
++- public void actionPerformed(java.awt.event.ActionEvent evt) {
++- checkRefactorExistingActionPerformed(evt);
++- }
++- });
+++ org.openide.awt.Mnemonics.setLocalizedText(errLabel, "jLabel1");
++
++ javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
++ this.setLayout(layout);
++@@ -507,6 +421,7 @@ public class IntroduceFieldPanel extends javax.swing.JPanel implements ChangeLis
++ .addGroup(layout.createSequentialGroup()
++ .addContainerGap()
++ .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+++ .addComponent(errLabel, javax.swing.GroupLayout.DEFAULT_SIZE, 483, Short.MAX_VALUE)
++ .addGroup(layout.createSequentialGroup()
++ .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
++ .addComponent(lblAccess)
++@@ -522,19 +437,15 @@ public class IntroduceFieldPanel extends javax.swing.JPanel implements ChangeLis
++ .addComponent(accessDefault)
++ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
++ .addComponent(accessPrivate))))
+++ .addComponent(declareFinal)
+++ .addComponent(replaceAll)
++ .addGroup(layout.createSequentialGroup()
+++ .addComponent(lblInitializeIn)
+++ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
++ .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
++- .addComponent(declareFinal)
++- .addComponent(replaceAll)
++- .addGroup(layout.createSequentialGroup()
++- .addComponent(lblInitializeIn)
++- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
++- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
++- .addComponent(initConstructors)
++- .addComponent(initField)
++- .addComponent(initMethod)))
++- .addComponent(checkRefactorExisting))
++- .addGap(0, 0, Short.MAX_VALUE)))
+++ .addComponent(initConstructors)
+++ .addComponent(initField)
+++ .addComponent(initMethod))))
++ .addContainerGap())
++ );
++ layout.setVerticalGroup(
++@@ -564,9 +475,9 @@ public class IntroduceFieldPanel extends javax.swing.JPanel implements ChangeLis
++ .addComponent(initField)
++ .addGap(7, 7, 7)
++ .addComponent(initConstructors)))
++- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
++- .addComponent(checkRefactorExisting)
++- .addContainerGap(20, Short.MAX_VALUE))
+++ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 18, Short.MAX_VALUE)
+++ .addComponent(errLabel)
+++ .addContainerGap())
++ );
++
++ lblName.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(IntroduceFieldPanel.class, "AD_IntrFld_Name")); // NOI18N
++@@ -602,12 +513,6 @@ private void initMethodActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FI
++ private void replaceAllActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_replaceAllActionPerformed
++ adjustInitializeIn();
++ }//GEN-LAST:event_replaceAllActionPerformed
++-
++- private void checkRefactorExistingActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_checkRefactorExistingActionPerformed
++- if (checkRefactorExisting.isEnabled()) {
++- refactorExisting = checkRefactorExisting.isSelected();
++- }
++- }//GEN-LAST:event_checkRefactorExistingActionPerformed
++
++
++ // Variables declaration - do not modify//GEN-BEGIN:variables
++@@ -616,8 +521,8 @@ private void replaceAllActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FI
++ private javax.swing.JRadioButton accessPrivate;
++ private javax.swing.JRadioButton accessProtected;
++ private javax.swing.JRadioButton accessPublic;
++- private javax.swing.JCheckBox checkRefactorExisting;
++ private javax.swing.JCheckBox declareFinal;
+++ private javax.swing.JLabel errLabel;
++ private javax.swing.JRadioButton initConstructors;
++ private javax.swing.JRadioButton initField;
++ private javax.swing.JRadioButton initMethod;
++@@ -689,9 +594,6 @@ private void replaceAllActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FI
++
++ public boolean isDeclareFinal() {
++ if (declareFinalTest != null) return declareFinalTest;
++- if (isConstant()) {
++- return true;
++- }
++ boolean ret = declareFinal.isSelected();
++ getPreferences().putBoolean( "declareFinal", ret ); //NOI18N
++ return ret;
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceHint.java b/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceHint.java
++index 8517f9aa6..3f36411dd 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceHint.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceHint.java
++@@ -104,8 +104,6 @@ import org.netbeans.api.editor.settings.AttributesUtilities;
++ import org.netbeans.api.java.source.CancellableTask;
++ import org.netbeans.api.java.source.CodeStyle;
++ import org.netbeans.api.java.source.CompilationInfo;
++-import org.netbeans.api.java.source.ElementHandle;
++-import org.netbeans.api.java.source.ElementUtilities.ElementAcceptor;
++ import org.netbeans.api.java.source.SourceUtils;
++ import org.netbeans.api.java.source.TreeMaker;
++ import org.netbeans.api.java.source.TreePathHandle;
++@@ -279,11 +277,8 @@ public class IntroduceHint implements CancellableTask<CompilationInfo> {
++ if (guessedName == null) guessedName = "name"; // NOI18N
++ Scope s = info.getTrees().getScope(resolved);
++ CodeStyle cs = CodeStyle.getDefault(info.getFileObject());
++- Fix variable = isVariable ? new IntroduceVariableFix(h, info.getJavaSource(),
++- variableRewrite ?
++- guessedName :
++- Utilities.makeNameUnique(info, s, guessedName, cs.getLocalVarNamePrefix(), cs.getLocalVarNameSuffix()),
++- duplicatesForVariable.size() + 1, IntroduceKind.CREATE_VARIABLE, TreePathHandle.create(method, info), end) : null;
+++
+++ Fix variable = isVariable ? new IntroduceVariableFix(h, info.getJavaSource(), variableRewrite ? guessedName : Utilities.makeNameUnique(info, s, guessedName, cs.getLocalVarNamePrefix(), cs.getLocalVarNameSuffix()), duplicatesForVariable.size() + 1, IntroduceKind.CREATE_VARIABLE, end) : null;
++ Fix constant = IntroduceConstantFix.createConstant(resolved, info, value, guessedName,
++ duplicatesForConstant.size() + 1, end, variableRewrite, cancel);
++
++@@ -320,21 +315,21 @@ public class IntroduceHint implements CancellableTask<CompilationInfo> {
++ statik ? cs.getStaticFieldNameSuffix() : cs.getFieldNameSuffix());
++ }
++ }
++- Element el = info.getTrees().getElement(pathToClass);
++- if (pathToClass != null && el != null && (el.getKind().isClass() || el.getKind().isInterface())) {
++- field = new IntroduceFieldFix(h, info.getJavaSource(), guessedName, duplicatesForConstant.size() + 1, initilizeIn,
++- statik, allowFinalInCurrentMethod, end, !variableRewrite, TreePathHandle.create(pathToClass, info));
+++
+++ if (pathToClass == null || (pathToClass.getLeaf().getKind() == Tree.Kind.CLASS || pathToClass.getLeaf().getKind() == Tree.Kind.ENUM)) {
+++ field = new IntroduceFieldFix(h, info.getJavaSource(), guessedName, duplicatesForConstant.size() + 1, initilizeIn, statik, allowFinalInCurrentMethod, end, !variableRewrite);
++ }
++
++ if (!variableRewrite) {
++ //introduce method based on expression:
+++ Element methodEl = info.getTrees().getElement(method);
++ Map<TypeMirror, TreePathHandle> typeVar2Def = new HashMap<TypeMirror, TreePathHandle>();
++ List<TreePathHandle> typeVars = new LinkedList<TreePathHandle>();
++
++ prepareTypeVars(method, info, typeVar2Def, typeVars);
++
++ ScanStatement scanner = new ScanStatement(info, resolved.getLeaf(), resolved.getLeaf(), typeVar2Def, Collections.<Tree, Iterable<? extends TreePath>>emptyMap(), cancel);
++- Element methodEl = info.getTrees().getElement(method);
+++
++ if (methodEl != null && (methodEl.getKind() == ElementKind.METHOD || methodEl.getKind() == ElementKind.CONSTRUCTOR)) {
++ ExecutableElement ee = (ExecutableElement) methodEl;
++
++@@ -372,16 +367,37 @@ public class IntroduceHint implements CancellableTask<CompilationInfo> {
++ typeVars.retainAll(scanner.usedTypeVariables);
++
++ AtomicBoolean allIfaces = new AtomicBoolean();
+++ Map<TargetDescription, Set<String>> targets = new LinkedHashMap<>();
++ List<TargetDescription> viableTargets = IntroduceExpressionBasedMethodFix.computeViableTargets(info, resolved.getParentPath(),
++ Collections.singleton(resolved.getLeaf()), duplicates, cancel, allIfaces);
++ if (viableTargets != null && !viableTargets.isEmpty()) {
++- TypeMirror returnType =
++- Utilities.convertIfAnonymous(Utilities.resolveCapturedType(info,
++- resolveType(info, resolved)));
++- methodFix = new IntroduceExpressionBasedMethodFix(info.getJavaSource(),
++- h, params, TypeMirrorHandle.create(returnType),
++- exceptionHandles, duplicatesCount, typeVars, end,
++- viableTargets);
+++ for (TargetDescription target : viableTargets) {
+++ Set<String> cNames = new HashSet<>();
+++ if (target.type == null) {
+++ // could not create a handle for a type ??
+++ continue;
+++ }
+++ Element parent = target.type.resolve(info);
+++ // resolve may result in null ptr
+++ if (parent == null) {
+++ continue;
+++ }
+++ outer: for (ExecutableElement ee : ElementFilter.methodsIn(parent.getEnclosedElements())) {
+++ List<? extends TypeMirror> pTypes = ((ExecutableType) ee.asType()).getParameterTypes();
+++ if (pTypes.size() == scanner.usedLocalVariables.keySet().size()) {
+++ Iterator<? extends TypeMirror> pTypesIt = pTypes.iterator();
+++ Iterator<VariableElement> pVarsIt = scanner.usedLocalVariables.keySet().iterator();
+++ while (pTypesIt.hasNext() && pVarsIt.hasNext()) {
+++ if (!info.getTypes().isSameType(pTypesIt.next(), pVarsIt.next().asType())) {
+++ continue outer;
+++ }
+++ }
+++ cNames.add(ee.getSimpleName().toString());
+++ }
+++ }
+++ targets.put(target, cNames);
+++ }
+++ methodFix = new IntroduceExpressionBasedMethodFix(info.getJavaSource(), h, params, exceptionHandles, duplicatesCount, typeVars, end, targets);
++ methodFix.setTargetIsInterface(allIfaces.get());
++ }
++ }
++@@ -895,6 +911,51 @@ public class IntroduceHint implements CancellableTask<CompilationInfo> {
++
++ static final AttributeSet DUPE = AttributesUtilities.createImmutable(StyleConstants.Background, Color.GRAY);
++
+++ // used by IntroduceHint, from @doReplaceInBlockCatchSingleStatement
+++ static Tree resolveRewritten(Map<Tree, Tree> rewritten, Tree t) {
+++ while (rewritten.containsKey(t)) {
+++ t = rewritten.get(t);
+++ }
+++
+++ return t;
+++ }
+++
+++ // used from IntroduceHint / Variable, IntroduceMethodFix
+++ static void doReplaceInBlockCatchSingleStatement(WorkingCopy copy, Map<Tree, Tree> rewritten, TreePath firstLeaf, List<? extends StatementTree> newStatements) {
+++ TreeMaker make = copy.getTreeMaker();
+++ Tree toReplace = resolveRewritten(rewritten, firstLeaf.getParentPath().getLeaf());
+++ Tree nueTree;
+++
+++ switch (toReplace.getKind()) {
+++ case METHOD:
+++ toReplace = ((MethodTree) toReplace).getBody();
+++ if (toReplace == null) {
+++ return;
+++ }
+++ //intentional fall-through
+++ case BLOCK:
+++ nueTree = make.Block(newStatements, ((BlockTree) toReplace).isStatic());
+++ break;
+++ case CASE:
+++ nueTree = make.Case(((CaseTree) toReplace).getExpression(), newStatements);
+++ break;
+++ case LAMBDA_EXPRESSION: {
+++ LambdaExpressionTree let = (LambdaExpressionTree)toReplace;
+++ nueTree = make.LambdaExpression(let.getParameters(), make.Block(newStatements, false));
+++ break;
+++ }
+++ default:
+++ assert getStatements(firstLeaf).size() == 1 : getStatements(firstLeaf).toString();
+++ assert newStatements.size() == 1 : newStatements.toString();
+++ toReplace = firstLeaf.getLeaf();
+++ nueTree = newStatements.get(0);
+++ break;
+++ }
+++
+++ copy.rewrite(toReplace, nueTree);
+++ rewritten.put(toReplace, nueTree);
+++ }
+++
++ // used by IntroduceMethod Fix / IntroduceExpressionBasedMethodFix; should be used by all, duplicates are
++ // everywhere.
++ static boolean shouldReplaceDuplicate(final Document doc, final int startOff, final int endOff) {
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceMethodFix.java b/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceMethodFix.java
++index ed5a7a3d3..51b3ae131 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceMethodFix.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceMethodFix.java
++@@ -52,14 +52,12 @@ import com.sun.source.tree.MethodTree;
++ import com.sun.source.tree.ModifiersTree;
++ import com.sun.source.tree.PrimitiveTypeTree;
++ import com.sun.source.tree.ReturnTree;
++-import com.sun.source.tree.Scope;
++ import com.sun.source.tree.StatementTree;
++ import com.sun.source.tree.Tree;
++ import com.sun.source.tree.TypeParameterTree;
++ import com.sun.source.tree.VariableTree;
++ import com.sun.source.util.SourcePositions;
++ import com.sun.source.util.TreePath;
++-import java.io.IOException;
++ import java.util.ArrayList;
++ import java.util.Collection;
++ import java.util.Collections;
++@@ -75,23 +73,22 @@ import java.util.LinkedList;
++ import java.util.List;
++ import java.util.Map;
++ import java.util.Set;
+++import java.util.concurrent.Callable;
++ import java.util.concurrent.atomic.AtomicBoolean;
++ import javax.lang.model.element.Element;
++ import javax.lang.model.element.ElementKind;
++ import javax.lang.model.element.ExecutableElement;
++ import javax.lang.model.element.Modifier;
+++import javax.lang.model.element.Name;
++ import javax.lang.model.element.TypeElement;
++ import javax.lang.model.element.VariableElement;
++-import javax.lang.model.type.DeclaredType;
++ import javax.lang.model.type.ExecutableType;
++ import javax.lang.model.type.TypeKind;
++ import javax.lang.model.type.TypeMirror;
+++import javax.lang.model.util.ElementFilter;
++ import javax.swing.JButton;
++ import javax.swing.text.Document;
++-import org.netbeans.api.java.source.CompilationController;
++ import org.netbeans.api.java.source.CompilationInfo;
++-import org.netbeans.api.java.source.ElementHandle;
++-import org.netbeans.api.java.source.ElementUtilities.ElementAcceptor;
++ import org.netbeans.api.java.source.GeneratorUtilities;
++ import org.netbeans.api.java.source.JavaSource;
++ import org.netbeans.api.java.source.Task;
++@@ -108,8 +105,6 @@ import org.netbeans.spi.editor.hints.ChangeInfo;
++ import org.netbeans.spi.editor.hints.Fix;
++ import org.openide.DialogDescriptor;
++ import org.openide.DialogDisplayer;
++-import org.openide.NotificationLineSupport;
++-import org.openide.NotifyDescriptor;
++ import org.openide.util.NbBundle;
++ import org.openide.util.Union2;
++
++@@ -224,7 +219,7 @@ public final class IntroduceMethodFix extends IntroduceFixBase implements Fix {
++ List<TypeMirrorHandle> additionaLocalTypes = new LinkedList<TypeMirrorHandle>();
++ List<String> additionaLocalNames = new LinkedList<String>();
++ for (VariableElement ve : additionalLocalVariables) {
++- TypeMirror vt = Utilities.resolveTypeForDeclaration(info, ve.asType());
+++ TypeMirror vt = Utilities.resolveCapturedType(info, ve.asType());
++ additionaLocalTypes.add(TypeMirrorHandle.create(vt));
++ additionaLocalNames.add(ve.getSimpleName().toString());
++ }
++@@ -274,7 +269,7 @@ public final class IntroduceMethodFix extends IntroduceFixBase implements Fix {
++ int duplicatesCount = duplicates.size();
++ if (!scanner.usedAfterSelection.isEmpty()) {
++ VariableElement result = scanner.usedAfterSelection.keySet().iterator().next();
++- returnType = Utilities.resolveTypeForDeclaration(info, result.asType());
+++ returnType = Utilities.resolveCapturedType(info, result.asType());
++ returnAssignTo = TreePathHandle.create(info.getTrees().getPath(result), info);
++ declareVariableForReturnValue = scanner.selectionLocalVariables.contains(result);
++ } else {
++@@ -299,11 +294,36 @@ public final class IntroduceMethodFix extends IntroduceFixBase implements Fix {
++ exceptionHandles.add(TypeMirrorHandle.create(tm));
++ }
++ AtomicBoolean allIfaces = new AtomicBoolean();
+++ Map<TargetDescription, Set<String>> targets = new LinkedHashMap<>();
++ List<TargetDescription> viableTargets = IntroduceExpressionBasedMethodFix.computeViableTargets(info, block, statementsToWrap, duplicates, cancel, allIfaces);
++ IntroduceMethodFix imf = null;
++ if (viableTargets != null && !viableTargets.isEmpty()) {
+++ for (TargetDescription target : viableTargets) {
+++ if (target.type == null) {
+++ continue;
+++ }
+++ final TypeElement resolvedType = target.type.resolve(info);
+++ if (resolvedType == null) {
+++ continue;
+++ }
+++ Set<String> cNames = new HashSet<>();
+++ outer: for (ExecutableElement ee : ElementFilter.methodsIn(resolvedType.getEnclosedElements())) {
+++ List<? extends TypeMirror> pTypes = ((ExecutableType) ee.asType()).getParameterTypes();
+++ if (pTypes.size() == paramsVariables.size()) {
+++ Iterator<? extends TypeMirror> pTypesIt = pTypes.iterator();
+++ Iterator<VariableElement> pVarsIt = paramsVariables.iterator();
+++ while (pTypesIt.hasNext() && pVarsIt.hasNext()) {
+++ if (!info.getTypes().isSameType(pTypesIt.next(), pVarsIt.next().asType())) {
+++ continue outer;
+++ }
+++ }
+++ cNames.add(ee.getSimpleName().toString());
+++ }
+++ }
+++ targets.put(target, cNames);
+++ }
++ imf = new IntroduceMethodFix(info.getJavaSource(), h, params, additionaLocalTypes, additionaLocalNames, TypeMirrorHandle.create(returnType), returnAssignTo, declareVariableForReturnValue, exceptionHandles, exits, exitsFromAllBranches, statements[0], statements[1],
++- duplicatesCount, scanner.getUsedTypeVars(), end, viableTargets);
+++ duplicatesCount, scanner.getUsedTypeVars(), end, targets);
++ imf.setTargetIsInterface(allIfaces.get());
++ }
++ return imf;
++@@ -414,9 +434,9 @@ public final class IntroduceMethodFix extends IntroduceFixBase implements Fix {
++ private final int from;
++ private final int to;
++ private final List<TreePathHandle> typeVars;
++- private final Collection<TargetDescription> targets;
+++ private final Map<TargetDescription, Set<String>> targets;
++
++- public IntroduceMethodFix(JavaSource js, TreePathHandle parentBlock, List<TreePathHandle> parameters, List<TypeMirrorHandle> additionalLocalTypes, List<String> additionalLocalNames, TypeMirrorHandle returnType, TreePathHandle returnAssignTo, boolean declareVariableForReturnValue, Set<TypeMirrorHandle> thrownTypes, List<TreePathHandle> exists, boolean exitsFromAllBranches, int from, int to, int duplicatesCount, List<TreePathHandle> typeVars, int offset, Collection<TargetDescription> [...]
+++ public IntroduceMethodFix(JavaSource js, TreePathHandle parentBlock, List<TreePathHandle> parameters, List<TypeMirrorHandle> additionalLocalTypes, List<String> additionalLocalNames, TypeMirrorHandle returnType, TreePathHandle returnAssignTo, boolean declareVariableForReturnValue, Set<TypeMirrorHandle> thrownTypes, List<TreePathHandle> exists, boolean exitsFromAllBranches, int from, int to, int duplicatesCount, List<TreePathHandle> typeVars, int offset, Map<TargetDescription, Set<St [...]
++ super(js, parentBlock, duplicatesCount, offset);
++ this.parameters = parameters;
++ this.additionalLocalTypes = additionalLocalTypes;
++@@ -445,22 +465,17 @@ public final class IntroduceMethodFix extends IntroduceFixBase implements Fix {
++ JButton btnOk = new JButton(NbBundle.getMessage(IntroduceHint.class, "LBL_Ok"));
++ JButton btnCancel = new JButton(NbBundle.getMessage(IntroduceHint.class, "LBL_Cancel"));
++ IntroduceMethodPanel panel = new IntroduceMethodPanel("", duplicatesCount, targets, targetIsInterface); //NOI18N
+++ panel.setOkButton(btnOk);
++ String caption = NbBundle.getMessage(IntroduceHint.class, "CAP_IntroduceMethod");
++ DialogDescriptor dd = new DialogDescriptor(panel, caption, true, new Object[]{btnOk, btnCancel}, btnOk, DialogDescriptor.DEFAULT_ALIGN, null, null);
++- NotificationLineSupport notifier = dd.createNotificationLineSupport();
++- MethodValidator val = new MethodValidator(js, parameters, returnType);
++- panel.setNotifier(notifier);
++- panel.setValidator(val);
++- panel.setOkButton(btnOk);
++ if (DialogDisplayer.getDefault().notify(dd) != btnOk) {
++ return null; //cancel
++ }
++- boolean redoReferences = panel.isRefactorExisting();
++ final String name = panel.getMethodName();
++ final Set<Modifier> access = panel.getAccess();
++ final boolean replaceOther = panel.getReplaceOther();
++ final TargetDescription target = panel.getSelectedTarget();
++- js.runModificationTask(new TaskImpl(access, name, target, replaceOther, val.getResult(), redoReferences)).commit();
+++ js.runModificationTask(new TaskImpl(access, name, target, replaceOther)).commit();
++ return null;
++ }
++
++@@ -530,18 +545,12 @@ public final class IntroduceMethodFix extends IntroduceFixBase implements Fix {
++ List<TreePath> resolvedExits;
++
++ TreePath pathToClass;
++-
++- MemberSearchResult searchResult;
++-
++- boolean redoReferences;
++
++- public TaskImpl(Set<Modifier> access, String name, TargetDescription target, boolean replaceOther, MemberSearchResult searchResult, boolean redoReferences) {
+++ public TaskImpl(Set<Modifier> access, String name, TargetDescription target, boolean replaceOther) {
++ this.access = access;
++ this.name = name;
++ this.target = target;
++ this.replaceOther = replaceOther;
++- this.searchResult = searchResult;
++- this.redoReferences = redoReferences;
++ }
++
++ private void generateMethodContents(List<StatementTree> methodStatements) {
++@@ -812,33 +821,22 @@ public final class IntroduceMethodFix extends IntroduceFixBase implements Fix {
++ return;
++ }
++ final Map<Tree, Tree> rewritten = new IdentityHashMap<Tree, Tree>();
++-
++- InstanceRefFinder finder = new InstanceRefFinder(copy, firstStatement);
++- for (TreePath stp : statementPaths) {
++- finder.process(stp);
++- }
++- if (finder.containsLocalReferences()) {
++- NotifyDescriptor dd = new NotifyDescriptor.Message(Bundle.MSG_ExpressionContainsLocalReferences(), NotifyDescriptor.ERROR_MESSAGE);
++- DialogDisplayer.getDefault().notifyLater(dd);
++- return;
++- }
+++
+++ // generate new version of the statement list, with the method invocation.
+++ List<StatementTree> nueStatements = new LinkedList<StatementTree>();
+++ nueStatements.addAll(statements.subList(0, from));
+++ generateMethodInvocation(nueStatements, IntroduceHint.realArguments(make, parameters), null);
+++ nueStatements.addAll(statements.subList(to + 1, statements.size()));
+++ IntroduceHint.doReplaceInBlockCatchSingleStatement(copy, rewritten, firstStatement, nueStatements);
+++ addReplacement(firstStatement.getParentPath().getLeaf(), from, to);
++ TypeElement targetType = target.type.resolve(copy);
++ pathToClass = targetType != null ? copy.getTrees().getPath(targetType) : null;
++ if (pathToClass == null) {
++ pathToClass = TreeUtils.findClass(firstStatement);
++ }
++ assert pathToClass != null;
++-
++- boolean referencesInstances = finder.containsInstanceReferences();
++- boolean isStatic = IntroduceHint.needsStaticRelativeTo(copy, pathToClass, firstStatement);
++-
++- // generate new version of the statement list, with the method invocation.
++- List<StatementTree> nueStatements = new LinkedList<StatementTree>();
++- generateMethodInvocation(nueStatements, IntroduceHint.realArguments(make, parameters), null);
++-
++- Utilities.replaceStatements(copy, firstStatement, statements.get(to), nueStatements);
++
++- addReplacement(firstStatement.getParentPath().getLeaf(), from, to);
+++ boolean isStatic = IntroduceHint.needsStaticRelativeTo(copy, pathToClass, firstStatement);
++ if (replaceOther) {
++ //handle duplicates
++ Document doc = copy.getDocument();
++@@ -856,10 +854,7 @@ public final class IntroduceMethodFix extends IntroduceFixBase implements Fix {
++ continue;
++ }
++ // FIXME - does this really work, in case of `case' contents ? Check on case X: stmt; and case X: { stmts; }
++- Tree mapped = copy.resolveRewriteTarget(firstLeaf.getParentPath().getLeaf());
++- TreePath mappedPath = new TreePath(new TreePath(firstLeaf.getParentPath().getParentPath(),
++- mapped), firstLeaf.getLeaf());
++- List<? extends StatementTree> parentStatements = IntroduceHint.getStatements(mappedPath);
+++ List<? extends StatementTree> parentStatements = IntroduceHint.getStatements(new TreePath(new TreePath(firstLeaf.getParentPath().getParentPath(), IntroduceHint.resolveRewritten(rewritten, firstLeaf.getParentPath().getLeaf())), firstLeaf.getLeaf()));
++ int dupeStart = parentStatements.indexOf(firstLeaf.getLeaf());
++ assert dupeStart > -1;
++ int dupeLast = dupeStart + statementsPaths.size() - 1;
++@@ -889,8 +884,10 @@ public final class IntroduceMethodFix extends IntroduceFixBase implements Fix {
++ continue;
++ }
++ List<StatementTree> newStatements = new LinkedList<StatementTree>();
+++ newStatements.addAll(parentStatements.subList(0, dupeStart));
++ generateMethodInvocation(newStatements, makeArgumentsForDuplicate(desc), desc);
++- Utilities.replaceStatements(copy, mappedPath, lastSt, newStatements);
+++ newStatements.addAll(parentStatements.subList(dupeStart + statementsPaths.size(), parentStatements.size()));
+++ IntroduceHint.doReplaceInBlockCatchSingleStatement(copy, rewritten, firstLeaf, newStatements);
++ addReplacement(firstLeaf.getParentPath().getLeaf(), dupeStart, dupeLast);
++
++ isStatic |= IntroduceHint.needsStaticRelativeTo(copy, pathToClass, firstLeaf);
++@@ -898,18 +895,9 @@ public final class IntroduceMethodFix extends IntroduceFixBase implements Fix {
++ IntroduceHint.introduceBag(doc).clear();
++ //handle duplicates end
++ }
++- isStatic &= !referencesInstances & target.canStatic;
++ MethodTree method = createMethodDefinition(isStatic);
++ ClassTree nueClass = IntroduceHint.INSERT_CLASS_MEMBER.insertClassMember(copy, (ClassTree) pathToClass.getLeaf(), method, offset);
++ copy.rewrite(pathToClass.getLeaf(), nueClass);
++-
++- if (redoReferences) {
++- new ReferenceTransformer(
++- copy, ElementKind.METHOD,
++- searchResult,
++- name,
++- targetType).scan(pathToClass, null);
++- }
++ }
++ }
++ }
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceMethodPanel.form b/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceMethodPanel.form
++index 403e9f134..18828c576 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceMethodPanel.form
+++++ b/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceMethodPanel.form
++@@ -27,7 +27,7 @@
++ <Layout>
++ <DimensionLayout dim="0">
++ <Group type="103" groupAlignment="0" attributes="0">
++- <Group type="102" alignment="0" attributes="0">
+++ <Group type="102" attributes="0">
++ <EmptySpace max="-2" attributes="0"/>
++ <Group type="103" groupAlignment="0" attributes="0">
++ <Group type="102" alignment="0" attributes="0">
++@@ -49,18 +49,16 @@
++ </Group>
++ </Group>
++ </Group>
+++ <Component id="errorLabel" alignment="0" pref="491" max="32767" attributes="0"/>
+++ <Group type="102" attributes="0">
+++ <Component id="duplicates" min="-2" max="-2" attributes="0"/>
+++ <EmptySpace min="0" pref="0" max="32767" attributes="0"/>
+++ </Group>
++ <Group type="102" alignment="0" attributes="0">
++ <Component id="jLabel1" min="-2" max="-2" attributes="0"/>
++ <EmptySpace max="-2" attributes="0"/>
++ <Component id="target" max="32767" attributes="0"/>
++ </Group>
++- <Group type="102" attributes="0">
++- <Group type="103" groupAlignment="0" attributes="0">
++- <Component id="checkRefactorExisting" min="-2" max="-2" attributes="0"/>
++- <Component id="duplicates" min="-2" max="-2" attributes="0"/>
++- </Group>
++- <EmptySpace min="0" pref="0" max="32767" attributes="0"/>
++- </Group>
++ </Group>
++ <EmptySpace max="-2" attributes="0"/>
++ </Group>
++@@ -89,9 +87,9 @@
++ <Component id="jLabel1" alignment="3" min="-2" max="-2" attributes="0"/>
++ <Component id="target" alignment="3" min="-2" max="-2" attributes="0"/>
++ </Group>
++- <EmptySpace type="unrelated" max="-2" attributes="0"/>
++- <Component id="checkRefactorExisting" min="-2" max="-2" attributes="0"/>
++- <EmptySpace max="32767" attributes="0"/>
+++ <EmptySpace pref="54" max="32767" attributes="0"/>
+++ <Component id="errorLabel" min="-2" max="-2" attributes="0"/>
+++ <EmptySpace max="-2" attributes="0"/>
++ </Group>
++ </Group>
++ </DimensionLayout>
++@@ -223,6 +221,11 @@
++ </Property>
++ </AccessibilityProperties>
++ </Component>
+++ <Component class="javax.swing.JLabel" name="errorLabel">
+++ <AuxValues>
+++ <AuxValue name="JavaCodeGenerator_CreateCodeCustom" type="java.lang.String" value="createErrorLabel();"/>
+++ </AuxValues>
+++ </Component>
++ <Component class="javax.swing.JCheckBox" name="duplicates">
++ <Properties>
++ <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
++@@ -250,17 +253,5 @@
++ </Property>
++ </Properties>
++ </Component>
++- <Component class="javax.swing.JCheckBox" name="checkRefactorExisting">
++- <Properties>
++- <Property name="selected" type="boolean" value="true"/>
++- <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
++- <ResourceString bundle="org/netbeans/modules/java/hints/introduce/Bundle.properties" key="IntroduceMethodPanel.checkRefactorExisting.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
++- </Property>
++- <Property name="enabled" type="boolean" value="false"/>
++- </Properties>
++- <Events>
++- <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="checkRefactorExistingActionPerformed"/>
++- </Events>
++- </Component>
++ </SubComponents>
++ </Form>
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceMethodPanel.java b/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceMethodPanel.java
++index 21d0547af..25c54a9d6 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceMethodPanel.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceMethodPanel.java
++@@ -32,7 +32,8 @@ package org.netbeans.modules.java.hints.introduce;
++
++ import java.awt.event.ItemEvent;
++ import java.awt.event.ItemListener;
++-import java.util.Collection;
+++import java.beans.PropertyChangeEvent;
+++import java.beans.PropertyChangeListener;
++ import java.util.Collections;
++ import java.util.EnumSet;
++ import java.util.Map;
++@@ -41,26 +42,15 @@ import java.util.prefs.Preferences;
++ import javax.lang.model.element.Modifier;
++ import javax.swing.DefaultComboBoxModel;
++ import javax.swing.JButton;
++-import javax.swing.JComponent;
++-import javax.swing.JTextField;
++-import javax.swing.event.ChangeEvent;
++-import javax.swing.event.ChangeListener;
++-import org.openide.NotificationLineSupport;
++-import org.openide.util.NbBundle;
+++import javax.swing.JLabel;
++ import org.openide.util.NbPreferences;
+++import org.openide.util.Utilities;
++
++ /**
++ *
++ * @author Jan Lahoda
++ */
++- at NbBundle.Messages({
++- "ERR_MethodExistsOrConflict=A conflicting method already exists in the target class, or its supertypes",
++- "INFO_MethodWillShadow=The method will shadow an existing one.",
++- "WARN_OverridesRestrictedAccess=The method will override a method from supertype",
++- "ERR_MethodNameEmpty=The method name is empty",
++- "ERR_InvalidMethodName=The method name is not a Java identifier"
++-})
++-public class IntroduceMethodPanel extends CommonMembersPanel implements ChangeListener {
+++public class IntroduceMethodPanel extends CommonMembersPanel {
++
++ public static final int INIT_METHOD = 1;
++ public static final int INIT_FIELD = 2;
++@@ -77,22 +67,20 @@ public class IntroduceMethodPanel extends CommonMembersPanel implements ChangeLi
++ * True, if the target is an interface.
++ */
++ private boolean targetInterface;
++- private NameChangeSupport changeSupport;
++- private NotificationLineSupport notifier;
+++ private final Map<TargetDescription, Set<String>> targets2conflictingNames;
++
++- public IntroduceMethodPanel(String name, int duplicatesCount, Collection<TargetDescription> targets, boolean targetInterface) {
++- super(targets);
+++ public IntroduceMethodPanel(String name, int duplicatesCount, Map<TargetDescription, Set<String>> targets2conflictingNames, boolean targetInterface) {
+++ super(targets2conflictingNames.keySet());
++ initComponents();
++
++ this.targetInterface = targetInterface;
+++ this.targets2conflictingNames = targets2conflictingNames;
++ this.name.setText(name);
++ if ( name != null && name.trim().length() > 0 ) {
++ this.name.setCaretPosition(name.length());
++ this.name.setSelectionStart(0);
++ this.name.setSelectionEnd(name.length());
++ }
++- this.changeSupport = new MethodNameSupport(this.name);
++- this.changeSupport.setChangeListener(this);
++
++ Preferences pref = getPreferences();
++
++@@ -124,8 +112,9 @@ public class IntroduceMethodPanel extends CommonMembersPanel implements ChangeLi
++ duplicates.setSelected(true); //from pref
++ duplicates.setText(duplicates.getText() + " (" + duplicatesCount + ")");
++ }
+++
++ initialize(target, duplicates);
++- updateTargetChange();
+++
++ target.addItemListener(new ItemListener() {
++ @Override
++ public void itemStateChanged(ItemEvent e) {
++@@ -133,88 +122,6 @@ public class IntroduceMethodPanel extends CommonMembersPanel implements ChangeLi
++ }
++ });
++ }
++-
++- public void setNotifier(NotificationLineSupport notifier) {
++- this.notifier = notifier;
++- }
++-
++- private class MethodNameSupport extends NameChangeSupport {
++- public MethodNameSupport(JTextField control) {
++- super(control);
++- }
++-
++- @Override
++- protected void notifyNameError(String msg) {
++- notifier.setErrorMessage(msg);
++- }
++-
++- @Override
++- protected boolean updateUI(MemberSearchResult result) {
++- if (result == null) {
++- notifier.clearMessages();
++- return true;
++- }
++- if (result.getConflicting() != null) {
++- notifier.setErrorMessage(Bundle.ERR_MethodExistsOrConflict());
++- } else if (result.getRequiredModifier() != null) {
++- notifier.setWarningMessage(Bundle.WARN_OverridesRestrictedAccess());
++- } else if (result.getShadowed() != null) {
++- notifier.setInformationMessage(Bundle.INFO_MethodWillShadow());
++- } else {
++- notifier.clearMessages();
++- }
++- return result.getConflicting() == null;
++- }
++- }
++-
++- public void setValidator(MemberValidator validator) {
++- changeSupport.setValidator(validator);
++- }
++-
++- @Override
++- public void stateChanged(ChangeEvent e) {
++- Modifier mustMod = changeSupport.getMinAccess();
++- if (changeSupport.isValid()) {
++- if (mustMod == null) {
++- if (accessPublic.isVisible()) {
++- accessPublic.setEnabled(true);
++- }
++- if (accessProtected.isVisible()) {
++- accessProtected.setEnabled(true);
++- }
++- if (accessPrivate.isVisible()) {
++- accessPrivate.setEnabled(true);
++- }
++- if (accessDefault.isVisible()) {
++- accessDefault.setEnabled(true);
++- }
++- checkRefactorExisting.setEnabled(false);
++- checkRefactorExisting.setSelected(false);
++- } else {
++- switch (mustMod) {
++- case PUBLIC:
++- accessProtected.setEnabled(false);
++- accessPrivate.setEnabled(false);
++- accessDefault.setEnabled(false);
++- break;
++- case DEFAULT:
++- accessProtected.setEnabled(false);
++- accessDefault.setEnabled(false);
++- accessPrivate.setEnabled(false);
++- break;
++-
++- case PROTECTED:
++- accessDefault.setEnabled(false);
++- accessPrivate.setEnabled(false);
++- break;
++- }
++- checkRefactorExisting.setEnabled(true);
++- checkRefactorExisting.setSelected(refactorExisting);
++- }
++- updateAccessSelection();
++- }
++- btnOk.setEnabled(changeSupport.isValid());
++- }
++
++ private void updateTargetChange() {
++ int index = target.getSelectedIndex();
++@@ -224,7 +131,6 @@ public class IntroduceMethodPanel extends CommonMembersPanel implements ChangeLi
++ }
++ TargetDescription desc = (TargetDescription)target.getModel().getSelectedItem();
++ updateAccessVisible(!desc.iface);
++- changeSupport.setTarget(desc.pathHandle);
++ }
++
++ private void updateAccessVisible(boolean v) {
++@@ -233,31 +139,6 @@ public class IntroduceMethodPanel extends CommonMembersPanel implements ChangeLi
++ accessDefault.setVisible(v);
++ accessPrivate.setVisible(v);
++ accessProtected.setVisible(v);
++- updateAccessSelection();
++- }
++-
++- private boolean isAvailable(JComponent c) {
++- return c.isVisible() && c.isEnabled();
++- }
++-
++- private void updateAccessSelection() {
++- boolean check = accessPrivate.isSelected();
++- if (isAvailable(accessPrivate)) {
++- return;
++- }
++- check |= accessProtected.isSelected();
++- if (isAvailable(accessProtected)) {
++- accessProtected.setSelected(check);
++- return;
++- }
++- check |= accessDefault.isSelected();
++- if (isAvailable(accessDefault)) {
++- accessDefault.setSelected(check);
++- return;
++- }
++- if (check) {
++- accessPublic.setSelected(true);
++- }
++ }
++
++ private Preferences getPreferences() {
++@@ -266,11 +147,39 @@ public class IntroduceMethodPanel extends CommonMembersPanel implements ChangeLi
++
++ public void setOkButton( JButton btn ) {
++ this.btnOk = btn;
++- btnOk.setEnabled(changeSupport.isValid());
+++ btnOk.setEnabled(((ErrorLabel)errorLabel).isInputTextValid());
+++ }
+++
+++ private JLabel createErrorLabel() {
+++ ErrorLabel.Validator validator = new ErrorLabel.Validator() {
+++
+++ public String validate(String text) {
+++ if( null == text
+++ || text.length() == 0 ) return "";
+++ if (!Utilities.isJavaIdentifier(text))
+++ return getDefaultErrorMessage( text );
+++ Set<String> blackList = targets2conflictingNames.get((TargetDescription)target.getModel().getSelectedItem());
+++ if (blackList != null && blackList.contains(text))
+++ return getConflictErrorMessage(text);
+++ return null;
+++ }
+++ };
+++
+++ final ErrorLabel eLabel = new ErrorLabel( name.getDocument(), validator );
+++ eLabel.addPropertyChangeListener( ErrorLabel.PROP_IS_VALID, new PropertyChangeListener() {
+++ public void propertyChange(PropertyChangeEvent e) {
+++ btnOk.setEnabled(eLabel.isInputTextValid());
+++ }
+++ });
+++ return eLabel;
+++ }
+++
+++ String getDefaultErrorMessage( String inputText ) {
+++ return "'" + inputText +"' is not a valid identifier";
++ }
++
++- public boolean isRefactorExisting() {
++- return checkRefactorExisting.isEnabled() && checkRefactorExisting.isVisible() && checkRefactorExisting.isSelected();
+++ String getConflictErrorMessage( String inputText ) {
+++ return "'" + inputText +"' method already exists";
++ }
++
++ /** This method is called from within the constructor to
++@@ -290,10 +199,10 @@ public class IntroduceMethodPanel extends CommonMembersPanel implements ChangeLi
++ accessProtected = new javax.swing.JRadioButton();
++ accessDefault = new javax.swing.JRadioButton();
++ accessPrivate = new javax.swing.JRadioButton();
+++ errorLabel = createErrorLabel();
++ duplicates = new javax.swing.JCheckBox();
++ jLabel1 = new javax.swing.JLabel();
++ target = new javax.swing.JComboBox();
++- checkRefactorExisting = new javax.swing.JCheckBox();
++
++ lblName.setLabelFor(name);
++ org.openide.awt.Mnemonics.setLocalizedText(lblName, org.openide.util.NbBundle.getBundle(IntroduceMethodPanel.class).getString("LBL_Name")); // NOI18N
++@@ -332,15 +241,6 @@ public class IntroduceMethodPanel extends CommonMembersPanel implements ChangeLi
++ target.setModel(new DefaultComboBoxModel());
++ target.setRenderer(new TargetsRendererImpl());
++
++- checkRefactorExisting.setSelected(true);
++- org.openide.awt.Mnemonics.setLocalizedText(checkRefactorExisting, org.openide.util.NbBundle.getMessage(IntroduceMethodPanel.class, "IntroduceMethodPanel.checkRefactorExisting.text")); // NOI18N
++- checkRefactorExisting.setEnabled(false);
++- checkRefactorExisting.addActionListener(new java.awt.event.ActionListener() {
++- public void actionPerformed(java.awt.event.ActionEvent evt) {
++- checkRefactorExistingActionPerformed(evt);
++- }
++- });
++-
++ javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
++ this.setLayout(layout);
++ layout.setHorizontalGroup(
++@@ -363,15 +263,14 @@ public class IntroduceMethodPanel extends CommonMembersPanel implements ChangeLi
++ .addComponent(accessDefault)
++ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
++ .addComponent(accessPrivate))))
+++ .addComponent(errorLabel, javax.swing.GroupLayout.DEFAULT_SIZE, 491, Short.MAX_VALUE)
+++ .addGroup(layout.createSequentialGroup()
+++ .addComponent(duplicates)
+++ .addGap(0, 0, Short.MAX_VALUE))
++ .addGroup(layout.createSequentialGroup()
++ .addComponent(jLabel1)
++ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
++- .addComponent(target, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
++- .addGroup(layout.createSequentialGroup()
++- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
++- .addComponent(checkRefactorExisting)
++- .addComponent(duplicates))
++- .addGap(0, 0, Short.MAX_VALUE)))
+++ .addComponent(target, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
++ .addContainerGap())
++ );
++ layout.setVerticalGroup(
++@@ -394,9 +293,9 @@ public class IntroduceMethodPanel extends CommonMembersPanel implements ChangeLi
++ .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
++ .addComponent(jLabel1)
++ .addComponent(target, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
++- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
++- .addComponent(checkRefactorExisting)
++- .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+++ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 54, Short.MAX_VALUE)
+++ .addComponent(errorLabel)
+++ .addContainerGap())
++ );
++
++ name.getAccessibleContext().setAccessibleName(org.openide.util.NbBundle.getMessage(IntroduceMethodPanel.class, "AN_IntrMethod_Name")); // NOI18N
++@@ -408,14 +307,7 @@ public class IntroduceMethodPanel extends CommonMembersPanel implements ChangeLi
++
++ getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(IntroduceMethodPanel.class, "AD_IntrMethod_Dialog")); // NOI18N
++ }// </editor-fold>//GEN-END:initComponents
++-
++- private void checkRefactorExistingActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_checkRefactorExistingActionPerformed
++- if (checkRefactorExisting.isEnabled()) {
++- refactorExisting = checkRefactorExisting.isSelected();
++- }
++- }//GEN-LAST:event_checkRefactorExistingActionPerformed
++
++- private boolean refactorExisting = true; // PENDING: perhaps save default value in Preferences ?
++
++ // Variables declaration - do not modify//GEN-BEGIN:variables
++ private javax.swing.JRadioButton accessDefault;
++@@ -423,8 +315,8 @@ public class IntroduceMethodPanel extends CommonMembersPanel implements ChangeLi
++ private javax.swing.JRadioButton accessPrivate;
++ private javax.swing.JRadioButton accessProtected;
++ private javax.swing.JRadioButton accessPublic;
++- private javax.swing.JCheckBox checkRefactorExisting;
++ private javax.swing.JCheckBox duplicates;
+++ private javax.swing.JLabel errorLabel;
++ private javax.swing.ButtonGroup initilizeIn;
++ private javax.swing.JLabel jLabel1;
++ private javax.swing.JLabel lblAccess;
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceVariableFix.java b/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceVariableFix.java
++index 11da457db..29bdf2adc 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceVariableFix.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceVariableFix.java
++@@ -57,14 +57,11 @@ import java.util.LinkedList;
++ import java.util.List;
++ import java.util.Set;
++ import java.util.concurrent.atomic.AtomicBoolean;
++-import javax.lang.model.element.Element;
++-import javax.lang.model.element.ElementKind;
++ import javax.lang.model.element.Modifier;
++ import javax.lang.model.type.TypeMirror;
++ import javax.swing.JButton;
++ import javax.swing.text.BadLocationException;
++ import org.netbeans.api.java.source.CompilationInfo;
++-import org.netbeans.api.java.source.ElementHandle;
++ import org.netbeans.api.java.source.GeneratorUtilities;
++ import org.netbeans.api.java.source.JavaSource;
++ import org.netbeans.api.java.source.SourceUtils;
++@@ -125,13 +122,10 @@ final class IntroduceVariableFix extends IntroduceFixBase implements Fix {
++ return statement;
++ }
++ private final String guessedName;
++- private final TreePathHandle targetHandle;
++
++- public IntroduceVariableFix(TreePathHandle handle, JavaSource js, String guessedName, int numDuplicates, IntroduceKind kind,
++- TreePathHandle methodHandle, int offset) {
+++ public IntroduceVariableFix(TreePathHandle handle, JavaSource js, String guessedName, int numDuplicates, IntroduceKind kind, int offset) {
++ super(js, handle, numDuplicates, offset);
++ this.guessedName = guessedName;
++- this.targetHandle = methodHandle;
++ }
++
++ @Override
++@@ -156,18 +150,12 @@ final class IntroduceVariableFix extends IntroduceFixBase implements Fix {
++ "introduceVariable", btnOk);
++ String caption = NbBundle.getMessage(IntroduceHint.class, "CAP_" + getKeyExt()); //NOI18N
++ DialogDescriptor dd = new DialogDescriptor(panel, caption, true, new Object[]{btnOk, btnCancel}, btnOk, DialogDescriptor.DEFAULT_ALIGN, null, null);
++- FieldValidator val = new FieldValidator(js, null);
++- panel.setNotifier(dd.createNotificationLineSupport());
++- panel.setValidator(val);
++- panel.setTarget(targetHandle);
++ if (DialogDisplayer.getDefault().notify(dd) != btnOk) {
++ return null; //cancel
++ }
++- final boolean refactor = panel.isRefactorExisting();
++ final String name = panel.getFieldName();
++ final boolean replaceAll = panel.isReplaceAll();
++ final boolean declareFinal = panel.isDeclareFinal();
++- final MemberSearchResult search = val.getLastResult();
++ js.runModificationTask(new Task<WorkingCopy>() {
++ public void run(WorkingCopy parameter) throws Exception {
++ parameter.toPhase(JavaSource.Phase.RESOLVED);
++@@ -179,26 +167,10 @@ final class IntroduceVariableFix extends IntroduceFixBase implements Fix {
++ if (tm == null) {
++ return; //TODO...
++ }
++- tm = Utilities.convertIfAnonymous(Utilities.resolveTypeForDeclaration(parameter, tm));
+++ tm = Utilities.convertIfAnonymous(Utilities.resolveCapturedType(parameter, tm));
++ if (!Utilities.isValidType(tm)) {
++ return; // TODO...
++ }
++- Element targetEl = null;
++- TreePath targetPath = null;
++- if (targetHandle != null) {
++- targetPath = targetHandle.resolve(parameter);
++- if (targetPath == null) {
++- return;
++- }
++- targetPath = TreeUtils.findClass(targetPath);
++- if (targetPath == null) {
++- return;
++- }
++- targetEl = parameter.getTrees().getElement(targetPath);
++- if (targetEl == null || !(targetEl.getKind().isClass() || targetEl.getKind().isInterface())) {
++- return;
++- }
++- }
++ Tree original = resolved.getLeaf();
++ boolean variableRewrite = original.getKind() == Tree.Kind.VARIABLE;
++ ExpressionTree expression = !variableRewrite ? (ExpressionTree) resolved.getLeaf() : ((VariableTree) original).getInitializer();
++@@ -233,28 +205,28 @@ final class IntroduceVariableFix extends IntroduceFixBase implements Fix {
++ }
++ // handle lambda of expression BodyKind
++ List<StatementTree> nueStatements;
+++ if (statement.getParentPath().getLeaf().getKind() == Tree.Kind.LAMBDA_EXPRESSION) {
+++ nueStatements = new ArrayList<>();
+++ nueStatements.add(
+++ make.Return((ExpressionTree)statement.getLeaf()));
+++ } else {
+++ nueStatements = new LinkedList<StatementTree>(IntroduceHint.getStatements(statement));
+++ }
++ GeneratorUtilities.get(parameter).importComments(IntroduceHint.getStatementOrBlock(statement).getLeaf(), parameter.getCompilationUnit());
++ mods = make.Modifiers(declareFinal ? EnumSet.of(Modifier.FINAL) : EnumSet.noneOf(Modifier.class));
++ VariableTree newVariable = make.Variable(mods, name, make.Type(tm), expression);
++- nueStatements = new ArrayList<>();
++- nueStatements.add(make.asReplacementOf(newVariable, resolved.getLeaf(), true));
+++ nueStatements.add(index, make.asReplacementOf(newVariable, resolved.getLeaf(), true));
++ if (expressionStatement) {
++- Utilities.replaceStatements(parameter, statement, null, nueStatements);
++- } else {
++- Utilities.insertStatement(parameter, statement, nueStatements, null);
+++ make.asReplacementOf(newVariable, resolved.getParentPath().getLeaf());
+++ nueStatements.remove(resolved.getParentPath().getLeaf());
++ }
++-
+++ IntroduceHint.doReplaceInBlockCatchSingleStatement(parameter, new HashMap<Tree, Tree>(), statement, nueStatements);
++ if (!expressionStatement) {
++ Tree origParent = resolved.getParentPath().getLeaf();
++ Tree newParent = parameter.getTreeUtilities().translate(origParent, Collections.singletonMap(resolved.getLeaf(),
++ make.asNew(make.Identifier(name))));
++ parameter.rewrite(origParent, newParent);
++ }
++-
++- if (refactor) {
++- new ReferenceTransformer(parameter, ElementKind.LOCAL_VARIABLE,
++- search, name, targetEl).scan(statement.getParentPath(), null);
++- }
++ }
++ }).commit();
++ return null;
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/introduce/MemberSearchResult.java b/java.hints/src/org/netbeans/modules/java/hints/introduce/MemberSearchResult.java
++deleted file mode 100644
++index b436456ba..000000000
++--- a/java.hints/src/org/netbeans/modules/java/hints/introduce/MemberSearchResult.java
+++++ /dev/null
++@@ -1,126 +0,0 @@
++-/*
++- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++- *
++- * Copyright 2016 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
++- *
++- * The contents of this file are subject to the terms of either the GNU
++- * General Public License Version 2 only ("GPL") or the Common
++- * Development and Distribution License("CDDL") (collectively, the
++- * "License"). You may not use this file except in compliance with the
++- * License. You can obtain a copy of the License at
++- * http://www.netbeans.org/cddl-gplv2.html
++- * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++- * specific language governing permissions and limitations under the
++- * License. When distributing the software, include this License Header
++- * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
++- * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
++- * accompanied this code. If applicable, add the following below the
++- * License Header, with the fields enclosed by brackets [] replaced by
++- * your own identifying information:
++- * "Portions Copyrighted [year] [name of copyright owner]"
++- *
++- * If you wish your version of this file to be governed by only the CDDL
++- * or only the GPL Version 2, indicate your decision by adding
++- * "[Contributor] elects to include this software in this distribution
++- * under the [CDDL or GPL Version 2] license." If you do not indicate a
++- * single choice of license, a recipient has the option to distribute
++- * your version of this file under either the CDDL, the GPL Version 2 or
++- * to extend the choice of license to its licensees as provided above.
++- * However, if you add GPL Version 2 code and therefore, elected the GPL
++- * Version 2 license, then the option applies only if the new code is
++- * made subject to such option by the copyright holder.
++- *
++- * Contributor(s):
++- *
++- * Portions Copyrighted 2016 Sun Microsystems, Inc.
++- */
++-package org.netbeans.modules.java.hints.introduce;
++-
++-import javax.lang.model.element.Element;
++-import javax.lang.model.element.Modifier;
++-import javax.lang.model.element.TypeElement;
++-import org.netbeans.api.java.source.ElementHandle;
++-
++-/**
++- *
++- * @author sdedic
++- */
++-public class MemberSearchResult {
++-
++- /**
++- * A conflicting element
++- */
++- private final ElementHandle<? extends Element> conflicting;
++- /**
++- * Shadowed element, if any
++- */
++- private final ElementHandle<? extends Element> shadowed;
++- /**
++- * Type which introduced the to-be-shadowed element; useful for
++- * refactoring to proper references.
++- */
++- private final ElementHandle<? extends TypeElement> shadowedGate;
++- /**
++- * Inherited element is shadowed; use super qualifier.
++- */
++- private final boolean gateSuper;
++- /**
++- * The required access modifier. Note that {@link Modifier#DEFAULT} is (mis)used
++- * to indicate package-level access.
++- */
++- private final Modifier requiredModifier;
++-
++- public MemberSearchResult(ElementHandle<? extends Element> conflicting) {
++- this.conflicting = conflicting;
++- this.shadowed = null;
++- this.shadowedGate = null;
++- this.gateSuper = false;
++- this.requiredModifier = null;
++- }
++-
++- public MemberSearchResult(ElementHandle<? extends Element> shadowed, ElementHandle<? extends TypeElement> shadowedGate) {
++- this.shadowed = shadowed;
++- this.shadowedGate = shadowedGate;
++- this.gateSuper = false;
++- this.conflicting = null;
++- this.requiredModifier = null;
++- }
++-
++- public MemberSearchResult(ElementHandle<? extends Element> shadowed, ElementHandle<? extends TypeElement> shadowedGate, Modifier requiredModifier) {
++- this.shadowed = shadowed;
++- this.shadowedGate = shadowedGate;
++- this.requiredModifier = requiredModifier;
++- this.gateSuper = true;
++- this.conflicting = null;
++- }
++-
++- public ElementHandle<? extends Element> getOverriden() {
++- return requiredModifier != null ? shadowed : null;
++- }
++-
++- public ElementHandle<? extends Element> getConflicting() {
++- return conflicting;
++- }
++-
++- public ElementHandle<? extends Element> getShadowed() {
++- return requiredModifier == null ? shadowed : null;
++- }
++-
++- public ElementHandle<? extends TypeElement> getShadowedGate() {
++- return shadowedGate;
++- }
++-
++- public boolean isGateSuper() {
++- return gateSuper;
++- }
++-
++- public Modifier getRequiredModifier() {
++- return requiredModifier;
++- }
++-
++-}
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/introduce/MemberValidator.java b/java.hints/src/org/netbeans/modules/java/hints/introduce/MemberValidator.java
++deleted file mode 100644
++index 7e00614a3..000000000
++--- a/java.hints/src/org/netbeans/modules/java/hints/introduce/MemberValidator.java
+++++ /dev/null
++@@ -1,69 +0,0 @@
++-/*
++- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++- *
++- * Copyright 2016 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
++- *
++- * The contents of this file are subject to the terms of either the GNU
++- * General Public License Version 2 only ("GPL") or the Common
++- * Development and Distribution License("CDDL") (collectively, the
++- * "License"). You may not use this file except in compliance with the
++- * License. You can obtain a copy of the License at
++- * http://www.netbeans.org/cddl-gplv2.html
++- * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++- * specific language governing permissions and limitations under the
++- * License. When distributing the software, include this License Header
++- * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
++- * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
++- * accompanied this code. If applicable, add the following below the
++- * License Header, with the fields enclosed by brackets [] replaced by
++- * your own identifying information:
++- * "Portions Copyrighted [year] [name of copyright owner]"
++- *
++- * If you wish your version of this file to be governed by only the CDDL
++- * or only the GPL Version 2, indicate your decision by adding
++- * "[Contributor] elects to include this software in this distribution
++- * under the [CDDL or GPL Version 2] license." If you do not indicate a
++- * single choice of license, a recipient has the option to distribute
++- * your version of this file under either the CDDL, the GPL Version 2 or
++- * to extend the choice of license to its licensees as provided above.
++- * However, if you add GPL Version 2 code and therefore, elected the GPL
++- * Version 2 license, then the option applies only if the new code is
++- * made subject to such option by the copyright holder.
++- *
++- * Contributor(s):
++- *
++- * Portions Copyrighted 2016 Sun Microsystems, Inc.
++- */
++-package org.netbeans.modules.java.hints.introduce;
++-
++-import javax.lang.model.element.Element;
++-import javax.lang.model.element.Modifier;
++-import javax.lang.model.element.TypeElement;
++-import org.netbeans.api.java.source.ElementHandle;
++-import org.netbeans.api.java.source.TreePathHandle;
++-
++-/**
++- *
++- * @author sdedic
++- */
++-public interface MemberValidator {
++- /**
++- * Validates whether that the entered name is correct, and that it does
++- * not conflict with other members of the target.
++- * <p/>
++- * If the declaration overrides other accessible one, the method may return
++- * minimum access modifiers; UI will restrict the choice.
++- * <p/>
++- * The Validator should issue an information message in that case.
++- *
++- * @param target the target type
++- * @param n the requested name
++- * @return minimum access modifiers
++- */
++- public MemberSearchResult validateName(TreePathHandle target, String n);
++-}
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/introduce/MethodValidator.java b/java.hints/src/org/netbeans/modules/java/hints/introduce/MethodValidator.java
++deleted file mode 100644
++index 5d83760a2..000000000
++--- a/java.hints/src/org/netbeans/modules/java/hints/introduce/MethodValidator.java
+++++ /dev/null
++@@ -1,253 +0,0 @@
++-/*
++- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++- *
++- * Copyright 2016 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
++- *
++- * The contents of this file are subject to the terms of either the GNU
++- * General Public License Version 2 only ("GPL") or the Common
++- * Development and Distribution License("CDDL") (collectively, the
++- * "License"). You may not use this file except in compliance with the
++- * License. You can obtain a copy of the License at
++- * http://www.netbeans.org/cddl-gplv2.html
++- * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++- * specific language governing permissions and limitations under the
++- * License. When distributing the software, include this License Header
++- * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
++- * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
++- * accompanied this code. If applicable, add the following below the
++- * License Header, with the fields enclosed by brackets [] replaced by
++- * your own identifying information:
++- * "Portions Copyrighted [year] [name of copyright owner]"
++- *
++- * If you wish your version of this file to be governed by only the CDDL
++- * or only the GPL Version 2, indicate your decision by adding
++- * "[Contributor] elects to include this software in this distribution
++- * under the [CDDL or GPL Version 2] license." If you do not indicate a
++- * single choice of license, a recipient has the option to distribute
++- * your version of this file under either the CDDL, the GPL Version 2 or
++- * to extend the choice of license to its licensees as provided above.
++- * However, if you add GPL Version 2 code and therefore, elected the GPL
++- * Version 2 license, then the option applies only if the new code is
++- * made subject to such option by the copyright holder.
++- *
++- * Contributor(s):
++- *
++- * Portions Copyrighted 2016 Sun Microsystems, Inc.
++- */
++-package org.netbeans.modules.java.hints.introduce;
++-
++-import com.sun.source.tree.Scope;
++-import com.sun.source.util.TreePath;
++-import java.io.IOException;
++-import java.util.ArrayList;
++-import java.util.Collection;
++-import java.util.HashSet;
++-import java.util.List;
++-import java.util.Map;
++-import java.util.Set;
++-import javax.lang.model.element.Element;
++-import javax.lang.model.element.ElementKind;
++-import javax.lang.model.element.ExecutableElement;
++-import javax.lang.model.element.Modifier;
++-import javax.lang.model.element.TypeElement;
++-import javax.lang.model.type.DeclaredType;
++-import javax.lang.model.type.ExecutableType;
++-import javax.lang.model.type.TypeKind;
++-import javax.lang.model.type.TypeMirror;
++-import org.netbeans.api.java.source.CompilationController;
++-import org.netbeans.api.java.source.CompilationInfo;
++-import org.netbeans.api.java.source.ElementHandle;
++-import org.netbeans.api.java.source.ElementUtilities.ElementAcceptor;
++-import org.netbeans.api.java.source.JavaSource;
++-import org.netbeans.api.java.source.Task;
++-import org.netbeans.api.java.source.TreePathHandle;
++-import org.netbeans.api.java.source.TypeMirrorHandle;
++-
++-/**
++- * Validates that method is not in conflict with other one, or that it does not shadow
++- * another one.
++- *
++- * @author sdedic
++- */
++-final class MethodValidator implements MemberValidator {
++- private TreePathHandle target;
++- private String name;
++- private final JavaSource theSource;
++- private final List<TreePathHandle> parameters;
++- private final TypeMirrorHandle returnType;
++- private MemberSearchResult result;
++-
++- public MethodValidator(JavaSource theSource, List<TreePathHandle> parameters, TypeMirrorHandle returnType) {
++- this.theSource = theSource;
++- this.parameters = parameters;
++- this.returnType = returnType;
++- }
++-
++- public MemberSearchResult getResult() {
++- return result;
++- }
++-
++- @Override
++- public synchronized MemberSearchResult validateName(TreePathHandle type, String n) {
++- if (!(type.equals(target) && n.equals(name))) {
++- SearchWorker wrk = new SearchWorker(type, n);
++- try {
++- theSource.runUserActionTask(wrk, true);
++- } catch (IOException ex) {
++- }
++- this.result = wrk.result;
++- this.name = n;
++- }
++- return result;
++- }
++-
++- private class SearchWorker implements Task<CompilationController>, ElementAcceptor {
++- private final TreePathHandle targetHandle;
++- private final String name;
++- private MemberSearchResult result;
++- private CompilationInfo cinfo;
++- private Scope initialScope;
++-
++- private TypeElement target;
++- private DeclaredType targetType;
++- private List<TypeMirror> paramTypes;
++- private Collection<Element> erasures = new HashSet<>();
++- private TypeMirror returnType;
++-
++- public SearchWorker(TreePathHandle type, String name) {
++- this.targetHandle = type;
++- this.name = name;
++- }
++-
++- @Override
++- public void run(CompilationController parameter) throws Exception {
++- parameter.toPhase(JavaSource.Phase.RESOLVED);
++- this.cinfo = parameter;
++- TreePath targetPath = targetHandle.resolve(cinfo);
++- if (targetPath == null) {
++- return;
++- }
++- Element te = cinfo.getTrees().getElement(targetPath);
++- if (te == null || !(te.getKind().isClass() || te.getKind().isInterface())) {
++- return;
++- }
++- target = (TypeElement)te;
++- TypeMirror m = target.asType();
++- if (m.getKind() != TypeKind.DECLARED) {
++- return;
++- }
++- targetType = (DeclaredType)m;
++- this.returnType = MethodValidator.this.returnType.resolve(cinfo);
++- if (returnType == null) {
++- return;
++- }
++- paramTypes = new ArrayList<>(parameters.size());
++- for (TreePathHandle tph : parameters) {
++- Element el = tph.resolveElement(cinfo);
++- if (el == null
++- || !(el.getKind() == ElementKind.PARAMETER || el.getKind() == ElementKind.LOCAL_VARIABLE
++- || el.getKind() == ElementKind.RESOURCE_VARIABLE || el.getKind() == ElementKind.EXCEPTION_PARAMETER)) {
++- return;
++- }
++- paramTypes.add(el.asType());
++- }
++-
++- final DeclaredType targetType = (DeclaredType) target.asType();
++- final Scope scope = cinfo.getTrees().getScope(targetPath);
++- this.initialScope = scope;
++-
++- Map<? extends Element, Scope> visibleMethods = cinfo.getElementUtilities().findElementsAndOrigins(scope, this);
++- for (Element e : visibleMethods.keySet()) {
++- // only methods will pass the ElementAcceptor.
++- ExecutableElement ee = (ExecutableElement)e;
++- Element owner = visibleMethods.get(e).getEnclosingClass();
++- // note - owner MAY be null, indicating that the method was static-imported
++- Element clazz = e.getEnclosingElement();
++- if (clazz == target ||
++- // null owner (= no enclosing class for scope) means static import
++- owner == null ||
++- // possible clash on erasure on inherited
++- (owner == target && erasures.contains(e)) ||
++- // possible clash on return type
++- (!cinfo.getTypes().isSubtype(returnType, ee.getReturnType()))) {
++- // either same signature, or same erasure.
++- result = new MemberSearchResult(ElementHandle.create(ee));
++- return;
++- } else {
++- Modifier mod = null;
++- if (!(owner.getKind().isClass() || owner.getKind().isInterface())) {
++- // FIXME !!
++- continue;
++- }
++- ElementHandle<? extends TypeElement> ownerHandle = ElementHandle.create((TypeElement)owner);
++- if (!e.getModifiers().contains(Modifier.STATIC) && owner == target) {
++- Set<Modifier> mods = ee.getModifiers();
++- if (mods.contains(Modifier.PUBLIC)) {
++- mod = Modifier.PUBLIC;
++- } else if (mods.contains(Modifier.PROTECTED)) {
++- mod = Modifier.PROTECTED;
++- } else if (!mods.contains(Modifier.PRIVATE)) {
++- mod = Modifier.DEFAULT;
++- }
++- result = new MemberSearchResult(ElementHandle.create(ee), ownerHandle, mod);
++- return;
++- } else {
++- result = new MemberSearchResult(ElementHandle.create(ee), ownerHandle);
++- }
++- }
++- }
++- }
++-
++- @Override
++- public boolean accept(Element e, TypeMirror type) {
++- if (e.getKind() != ElementKind.METHOD) {
++- return false;
++- }
++- ExecutableElement ee = (ExecutableElement) e;
++- // the same number of parameters
++- if (ee.getParameters().size() != parameters.size()) {
++- return false;
++- }
++- if (!ee.getSimpleName().contentEquals(name)) {
++- return false;
++- }
++- // visibility
++- if (type != null && !cinfo.getTrees().isAccessible(initialScope, ee, (DeclaredType)type)) {
++- return false;
++- }
++- ExecutableType eeType = (ExecutableType) cinfo.getTypes().asMemberOf((DeclaredType)type, ee);
++- boolean checkErasure = false;
++- DeclaredType parentType = (DeclaredType)ee.getEnclosingElement().asType();// DeclaredType) cinfo.getTypes().asMemberOf(targetType, ee.getEnclosingElement());
++- if (parentType != null && cinfo.getTypes().isSubtype(targetType, parentType)) {
++- checkErasure = true;
++- }
++- boolean erasureUsed = false;
++- for (int i = 0; i < paramTypes.size(); i++) {
++- TypeMirror existing = eeType.getParameterTypes().get(i);
++- TypeMirror pt = paramTypes.get(i);
++- if (!cinfo.getTypes().isSubtype(pt, existing)) {
++- if (!checkErasure) {
++- return false;
++- }
++- if (checkErasure) {
++- TypeMirror e1 = cinfo.getTypes().erasure(pt);
++- TypeMirror e2 = cinfo.getTypes().erasure(existing);
++- if (!cinfo.getTypes().isSameType(e1, e2)) {
++- return false;
++- }
++- erasureUsed = true;
++- }
++- }
++- }
++- if (erasureUsed) {
++- erasures.add(ee);
++- }
++- return true;
++- }
++- }
++-}
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/introduce/NameChangeSupport.java b/java.hints/src/org/netbeans/modules/java/hints/introduce/NameChangeSupport.java
++deleted file mode 100644
++index 48665328f..000000000
++--- a/java.hints/src/org/netbeans/modules/java/hints/introduce/NameChangeSupport.java
+++++ /dev/null
++@@ -1,200 +0,0 @@
++-/*
++- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++- *
++- * Copyright 2016 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
++- *
++- * The contents of this file are subject to the terms of either the GNU
++- * General Public License Version 2 only ("GPL") or the Common
++- * Development and Distribution License("CDDL") (collectively, the
++- * "License"). You may not use this file except in compliance with the
++- * License. You can obtain a copy of the License at
++- * http://www.netbeans.org/cddl-gplv2.html
++- * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++- * specific language governing permissions and limitations under the
++- * License. When distributing the software, include this License Header
++- * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
++- * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
++- * accompanied this code. If applicable, add the following below the
++- * License Header, with the fields enclosed by brackets [] replaced by
++- * your own identifying information:
++- * "Portions Copyrighted [year] [name of copyright owner]"
++- *
++- * If you wish your version of this file to be governed by only the CDDL
++- * or only the GPL Version 2, indicate your decision by adding
++- * "[Contributor] elects to include this software in this distribution
++- * under the [CDDL or GPL Version 2] license." If you do not indicate a
++- * single choice of license, a recipient has the option to distribute
++- * your version of this file under either the CDDL, the GPL Version 2 or
++- * to extend the choice of license to its licensees as provided above.
++- * However, if you add GPL Version 2 code and therefore, elected the GPL
++- * Version 2 license, then the option applies only if the new code is
++- * made subject to such option by the copyright holder.
++- *
++- * Contributor(s):
++- *
++- * Portions Copyrighted 2016 Sun Microsystems, Inc.
++- */
++-package org.netbeans.modules.java.hints.introduce;
++-
++-import java.awt.event.FocusAdapter;
++-import java.awt.event.FocusEvent;
++-import java.lang.reflect.InvocationTargetException;
++-import javax.lang.model.element.Element;
++-import javax.lang.model.element.Modifier;
++-import javax.lang.model.element.TypeElement;
++-import javax.swing.JTextField;
++-import javax.swing.SwingUtilities;
++-import javax.swing.event.ChangeEvent;
++-import javax.swing.event.ChangeListener;
++-import javax.swing.event.DocumentEvent;
++-import javax.swing.event.DocumentListener;
++-import org.netbeans.api.java.source.ElementHandle;
++-import org.netbeans.api.java.source.TreePathHandle;
++-import org.openide.NotificationLineSupport;
++-import org.openide.util.Exceptions;
++-import org.openide.util.NbBundle;
++-import org.openide.util.RequestProcessor;
++-import org.openide.util.Utilities;
++-
++-/**
++- * Provides support for name changes in Introduce dialogs. Will delay validation
++- * so that user can fast type. In case of focus lost event, performs validation
++- * synchronously if the doc was changed from the last validation.
++- *
++- * @author sdedic
++- */
++-class NameChangeSupport extends FocusAdapter implements DocumentListener, Runnable {
++- private static final RequestProcessor CHANGE_RP = new RequestProcessor(NameChangeSupport.class);
++-
++- private final JTextField control;
++- private MemberValidator validator;
++- private RequestProcessor.Task validateTask = CHANGE_RP.create(this, true);
++- private ChangeListener listener;
++- private TreePathHandle target;
++- private Modifier minAccess;
++- private boolean valid;
++- private String validateName;
++-
++- public NameChangeSupport(JTextField control) {
++- this.control = control;
++- control.getDocument().addDocumentListener(this);
++- control.addFocusListener(this);
++- }
++-
++- public synchronized void setChangeListener(ChangeListener l) {
++- assert listener == null;
++- this.listener = l;
++- }
++-
++- public synchronized void setValidator(MemberValidator val) {
++- this.validator = val;
++- }
++-
++- @Override
++- public void focusLost(FocusEvent e) {
++- // must revalidate immediately
++- if (validateTask.cancel()) {
++- this.validateName = control.getText().trim();
++- run();
++- }
++- }
++-
++- public void setTarget(TreePathHandle target) {
++- this.validateName = control.getText().trim();
++- this.target = target;
++- validateTask.run();
++- }
++-
++- public synchronized Modifier getMinAccess() {
++- return minAccess;
++- }
++-
++- @Override
++- public void insertUpdate(DocumentEvent e) {
++- this.validateName = control.getText().trim();
++- validateTask.schedule(200);
++- }
++-
++- @Override
++- public void removeUpdate(DocumentEvent e) {
++- insertUpdate(e);
++- }
++-
++- @Override
++- public void changedUpdate(DocumentEvent e) {}
++-
++- public boolean isValid() {
++- return validator == null ? true : valid;
++- }
++-
++- @NbBundle.Messages({
++- "ERR_NameIsEmpty=Name is empty",
++- "ERR_NameIsNotValid=Name is not a vallid java identifier"
++- })
++- @Override
++- public void run() {
++- TreePathHandle t;
++- MemberValidator v;
++- synchronized (this) {
++- if (validateName == null) {
++- return;
++- }
++- if (validator == null) {
++- return;
++- }
++- t = target;
++- v = validator;
++- }
++- boolean nv = false;
++- Modifier mod = null;
++- final ChangeListener l;
++-
++- if (validateName.isEmpty()) {
++- notifyNameError(Bundle.ERR_NameIsEmpty());
++- nv = false;
++- } else if (!Utilities.isJavaIdentifier(validateName)) {
++- notifyNameError(Bundle.ERR_NameIsNotValid());
++- nv = false;
++- } else {
++- MemberSearchResult res = v.validateName(t, control.getText().trim());
++- nv = updateUI(res);
++- mod = res == null ? null : res.getRequiredModifier();
++- }
++- synchronized (this) {
++- if (minAccess == mod && nv == valid) {
++- return;
++- }
++- this.valid = nv;
++- if (nv) {
++- minAccess = mod;
++- }
++- l = listener;
++- }
++- if (l != null) {
++- SwingUtilities.invokeLater(new Runnable() {
++- public void run() {
++- l.stateChanged(new ChangeEvent(this));
++- }
++- });
++- }
++- }
++-
++- /**
++- * Should update the UI with messages appropriate for the search. The return value
++- * informs whether the entry is valid
++- * @param result
++- * @return
++- */
++- protected boolean updateUI(MemberSearchResult result) {
++- return true;
++- }
++-
++- protected void notifyNameError(String msg) {
++- }
++-
++-}
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/introduce/ReferenceTransformer.java b/java.hints/src/org/netbeans/modules/java/hints/introduce/ReferenceTransformer.java
++deleted file mode 100644
++index 12c1da73b..000000000
++--- a/java.hints/src/org/netbeans/modules/java/hints/introduce/ReferenceTransformer.java
+++++ /dev/null
++@@ -1,148 +0,0 @@
++-/*
++- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++- *
++- * Copyright 2016 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
++- *
++- * The contents of this file are subject to the terms of either the GNU
++- * General Public License Version 2 only ("GPL") or the Common
++- * Development and Distribution License("CDDL") (collectively, the
++- * "License"). You may not use this file except in compliance with the
++- * License. You can obtain a copy of the License at
++- * http://www.netbeans.org/cddl-gplv2.html
++- * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++- * specific language governing permissions and limitations under the
++- * License. When distributing the software, include this License Header
++- * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
++- * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
++- * accompanied this code. If applicable, add the following below the
++- * License Header, with the fields enclosed by brackets [] replaced by
++- * your own identifying information:
++- * "Portions Copyrighted [year] [name of copyright owner]"
++- *
++- * If you wish your version of this file to be governed by only the CDDL
++- * or only the GPL Version 2, indicate your decision by adding
++- * "[Contributor] elects to include this software in this distribution
++- * under the [CDDL or GPL Version 2] license." If you do not indicate a
++- * single choice of license, a recipient has the option to distribute
++- * your version of this file under either the CDDL, the GPL Version 2 or
++- * to extend the choice of license to its licensees as provided above.
++- * However, if you add GPL Version 2 code and therefore, elected the GPL
++- * Version 2 license, then the option applies only if the new code is
++- * made subject to such option by the copyright holder.
++- *
++- * Contributor(s):
++- *
++- * Portions Copyrighted 2016 Sun Microsystems, Inc.
++- */
++-package org.netbeans.modules.java.hints.introduce;
++-
++-import com.sun.source.tree.IdentifierTree;
++-import com.sun.source.tree.MemberSelectTree;
++-import com.sun.source.tree.Tree;
++-import com.sun.source.util.TreePath;
++-import com.sun.source.util.TreePathScanner;
++-import javax.lang.model.element.Element;
++-import javax.lang.model.element.ElementKind;
++-import javax.lang.model.element.Modifier;
++-import javax.lang.model.element.Name;
++-import org.netbeans.api.java.source.ElementHandle;
++-import org.netbeans.api.java.source.TreeMaker;
++-import org.netbeans.api.java.source.WorkingCopy;
++-
++-/**
++- *
++- * @author sdedic
++- */
++-final class ReferenceTransformer extends TreePathScanner {
++- private final ElementKind kind;
++- private final String name;
++- private final WorkingCopy copy;
++- private final Element target;
++- private Element shadowed;
++- private Element shadowedGate;
++-
++- public ReferenceTransformer(WorkingCopy info, ElementKind kind,
++- MemberSearchResult result, String name, Element target) {
++- this.kind = kind;
++- this.name = name;
++- this.copy = info;
++- this.target = target;
++- if (result != null) {
++- ElementHandle<? extends Element> s = result.getShadowed();
++- if (s == null) {
++- s = result.getOverriden();
++- }
++- if (s != null) {
++- this.shadowed = s.resolve(info);
++- }
++- s = result.getShadowedGate();
++- if (s != null) {
++- this.shadowedGate = result.getShadowedGate().resolve(info);
++- }
++- }
++- }
++-
++- @Override
++- public Object scan(TreePath path, Object p) {
++- if (shadowed == null || shadowedGate == null) {
++- return null;
++- }
++- return super.scan(path, p);
++- }
++-
++- @Override
++- public Object visitMemberSelect(MemberSelectTree node, Object p) {
++- Object o = scan(node.getExpression(), p);
++- if (o == Boolean.TRUE) {
++- handleIdentifier(node, node.getIdentifier());
++- }
++- return null;
++- }
++-
++- private void handleIdentifier(Tree node, Name id) {
++- TreeMaker mk = copy.getTreeMaker();
++- String nn = id.toString();
++- if (nn.equals(name)) {
++- Element res = copy.getTrees().getElement(getCurrentPath());
++- if (res != null && res == shadowed) {
++- if (res.getModifiers().contains(Modifier.STATIC)) {
++- copy.rewrite(node,
++- mk.MemberSelect(
++- mk.Identifier(shadowedGate), // NOI18N
++- res.getSimpleName().toString()
++- )
++- );
++- } else if (shadowedGate == target) {
++- copy.rewrite(node,
++- mk.MemberSelect(
++- mk.MemberSelect(mk.Identifier(target), "super"), // NOI18N
++- res.getSimpleName().toString()
++- )
++- );
++- } else {
++- copy.rewrite(node,
++- mk.MemberSelect(
++- mk.MemberSelect(mk.Identifier(shadowedGate), "this"), // NOI18N
++- res.getSimpleName().toString()
++- )
++- );
++- }
++- }
++- }
++- }
++-
++- @Override
++- public Object visitIdentifier(IdentifierTree node, Object p) {
++- String nn = node.getName().toString();
++- if (nn.equals("this")) {
++- return true;
++- }
++- handleIdentifier(node, node.getName());
++- return null;
++- }
++-}
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/introduce/TargetDescription.java b/java.hints/src/org/netbeans/modules/java/hints/introduce/TargetDescription.java
++index 54d7f91c3..e9f0c6542 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/introduce/TargetDescription.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/introduce/TargetDescription.java
++@@ -41,13 +41,9 @@
++ */
++ package org.netbeans.modules.java.hints.introduce;
++
++-import com.sun.source.util.TreePath;
++-import javax.lang.model.element.Modifier;
++-import javax.lang.model.element.NestingKind;
++ import javax.lang.model.element.TypeElement;
++ import org.netbeans.api.java.source.CompilationInfo;
++ import org.netbeans.api.java.source.ElementHandle;
++-import org.netbeans.api.java.source.TreePathHandle;
++ import org.netbeans.modules.java.hints.errors.Utilities;
++
++ /**
++@@ -61,36 +57,17 @@ public final class TargetDescription {
++ public final boolean allowForDuplicates;
++ public final boolean anonymous;
++ public final boolean iface;
++- public final boolean canStatic;
++- public final TreePathHandle pathHandle;
++
++- private TargetDescription(String displayName, ElementHandle<TypeElement> type, TreePathHandle pathHandle, boolean allowForDuplicates, boolean anonymous, boolean iface, boolean canStatic) {
+++ private TargetDescription(String displayName, ElementHandle<TypeElement> type, boolean allowForDuplicates, boolean anonymous, boolean iface) {
++ this.displayName = displayName;
++ this.type = type;
++ this.allowForDuplicates = allowForDuplicates;
++ this.anonymous = anonymous;
++ this.iface = iface;
++- this.canStatic = canStatic;
++- this.pathHandle = pathHandle;
++ }
++
++- public static TargetDescription create(CompilationInfo info, TypeElement type, TreePath path, boolean allowForDuplicates, boolean iface) {
++- boolean canStatic = true;
++- if (iface) {
++- // interface cannot have static methods
++- canStatic = false;
++- } else {
++- if (type.getNestingKind() == NestingKind.ANONYMOUS ||
++- type.getNestingKind() == NestingKind.LOCAL ||
++- (type.getNestingKind() != NestingKind.TOP_LEVEL && !type.getModifiers().contains(Modifier.STATIC))) {
++- canStatic = false;
++- }
++- }
++- return new TargetDescription(Utilities.target2String(type),
++- ElementHandle.create(type),
++- TreePathHandle.create(path, info),
++- allowForDuplicates,
++- type.getSimpleName().length() == 0, iface, canStatic);
+++ public static TargetDescription create(CompilationInfo info, TypeElement type, boolean allowForDuplicates, boolean iface) {
+++ return new TargetDescription(Utilities.target2String(type), ElementHandle.create(type), allowForDuplicates, type.getSimpleName().length() == 0, iface);
++ }
++
++ public String toDebugString() {
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/jackpot/hintsimpl/LoggerStringConcat.java b/java.hints/src/org/netbeans/modules/java/hints/jackpot/hintsimpl/LoggerStringConcat.java
++index 1e79be568..853809e52 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/jackpot/hintsimpl/LoggerStringConcat.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/jackpot/hintsimpl/LoggerStringConcat.java
++@@ -199,13 +199,6 @@ public class LoggerStringConcat {
++
++ return ErrorDescriptionFactory.forTree(ctx, message, NbBundle.getMessage(LoggerStringConcat.class, "MSG_LoggerStringConcat"), fix.toEditorFix());
++ }
++-
++- private static String literalToMessageFormat(String v) {
++- String fmtValue = v.replaceAll("'", "''");
++- fmtValue = fmtValue.replaceAll(Pattern.quote("{"), Matcher.quoteReplacement("'{'"));
++- fmtValue = fmtValue.replaceAll(Pattern.quote("}"), Matcher.quoteReplacement("'}'"));
++- return fmtValue;
++- }
++
++ private static void rewrite(WorkingCopy wc, ExpressionTree level, MethodInvocationTree invocation, TreePath message) {
++ List<List<TreePath>> sorted = Utilities.splitStringConcatenationToElements(wc, message);
++@@ -214,50 +207,14 @@ public class LoggerStringConcat {
++ List<ExpressionTree> newParams = new LinkedList<ExpressionTree>();
++ int variablesCount = 0;
++ TreeMaker make = wc.getTreeMaker();
++- Tree singleLeaf = null;
++-
+++
++ for (List<TreePath> element : sorted) {
++- if (element.size() == 1 &&
++- !Utilities.isConstantString(wc, element.get(0), true)) {
++- workingLiteral.append("{");
++- workingLiteral.append(Integer.toString(variablesCount++));
++- workingLiteral.append("}");
++- newParams.add((ExpressionTree) element.get(0).getLeaf());
++- } else {
++- // the cluster is a series of literals and compile-time
++- // constants (which must remain independent)
++- for (TreePath p : element) {
++- Tree l = p.getLeaf();
++- if (Utilities.isStringOrCharLiteral(l)) {
++- if (workingLiteral.length() == 0) {
++- // will overwrite each other if there are multiple consecutive zero-length
++- // strings, but that does not matter, the value is the same
++- // and so is the type. Remind expressions like "" + 5
++- singleLeaf = l;
++- } else {
++- singleLeaf = null;
++- }
++- workingLiteral.append(
++- literalToMessageFormat(
++- ((LiteralTree)l).getValue().toString()
++- )
++- );
++- } else {
++- // must join, some const-reference which must be preserved
++- if (singleLeaf != null) {
++- newMessage.add(singleLeaf);
++- workingLiteral = new StringBuilder();
++- } else if (workingLiteral.length() > 0) {
++- newMessage.add(make.Literal(workingLiteral.toString()));
++- workingLiteral = new StringBuilder();
++- }
++- newMessage.add(l);
++- }
++- }
++- }
++- /*
++ if (element.size() == 1 && Utilities.isStringOrCharLiteral(element.get(0).getLeaf())) {
++- String literalValue = literalToMessageFormat(((LiteralTree) element.get(0).getLeaf()).getValue().toString());
+++ String literalValue = ((LiteralTree) element.get(0).getLeaf()).getValue().toString();
+++
+++ literalValue = literalValue.replaceAll("'", "''");
+++ literalValue = literalValue.replaceAll(Pattern.quote("{"), Matcher.quoteReplacement("'{'"));
+++ literalValue = literalValue.replaceAll(Pattern.quote("}"), Matcher.quoteReplacement("'}'"));
++ workingLiteral.append(literalValue);
++ } else {
++ if (element.size() == 1 && !Utilities.isConstantString(wc, element.get(0), true)) {
++@@ -299,7 +256,6 @@ public class LoggerStringConcat {
++ }
++ }
++ }
++- */
++ }
++
++ if (workingLiteral.length() > 0) {
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/jdk/AddUnderscores.java b/java.hints/src/org/netbeans/modules/java/hints/jdk/AddUnderscores.java
++index d504ce3b7..668d31d26 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/jdk/AddUnderscores.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/jdk/AddUnderscores.java
++@@ -66,13 +66,14 @@ import org.openide.util.NbBundle;
++ *
++ * @author lahvac
++ */
++- at Hint(displayName = "#DN_org.netbeans.modules.java.hints.jdk.AddUnderscores", description = "#DESC_org.netbeans.modules.java.hints.jdk.AddUnderscores", id=AddUnderscores.ID, category="rules15", enabled=false, severity=Severity.HINT, customizerProvider=CustomizerProviderImpl.class,
++- minSourceVersion = "7")
+++ at Hint(displayName = "#DN_org.netbeans.modules.java.hints.jdk.AddUnderscores", description = "#DESC_org.netbeans.modules.java.hints.jdk.AddUnderscores", id=AddUnderscores.ID, category="rules15", enabled=false, severity=Severity.HINT, customizerProvider=CustomizerProviderImpl.class)
++ public class AddUnderscores {
++ public static final String ID = "org.netbeans.modules.java.hints.jdk.AddUnderscores";
++
++ @TriggerTreeKind({Kind.INT_LITERAL, Kind.LONG_LITERAL})
++ public static ErrorDescription hint(HintContext ctx) {
+++ if (ctx.getInfo().getSourceVersion().compareTo(SourceVersion.RELEASE_7) < 0) return null;
+++
++ TreePath tp = ctx.getPath();
++ int end = (int) ctx.getInfo().getTrees().getSourcePositions().getEndPosition(tp.getCompilationUnit(), tp.getLeaf());
++ int start = (int) ctx.getInfo().getTrees().getSourcePositions().getStartPosition(tp.getCompilationUnit(), tp.getLeaf());
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/jdk/Bundle.properties b/java.hints/src/org/netbeans/modules/java/hints/jdk/Bundle.properties
++index c98da1f95..0cba2d38e 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/jdk/Bundle.properties
+++++ b/java.hints/src/org/netbeans/modules/java/hints/jdk/Bundle.properties
++@@ -70,7 +70,6 @@ DESC_org.netbeans.modules.java.hints.jdk.UseSpecificCatch=Converts catch (Throwa
++ ERR_UseSpecificCatch=Can be replaced with multicatch or several catch clauses catching specific exceptions
++ FIX_UseSpecificCatch=Replace with multicatch catching specific exceptions
++ FIX_UseSpecificCatchSplit=Generate catch handlers for specific exceptions
++-FIX_UseSpecificCatchSingle=Replace with catch({0})
++
++ DN_org.netbeans.modules.java.hints.jdk.ConvertToARM=Convert to try-with-resources
++ DESC_org.netbeans.modules.java.hints.jdk.ConvertToARM=Converts try finally block to try-with-resources
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/jdk/ConvertToARM.java b/java.hints/src/org/netbeans/modules/java/hints/jdk/ConvertToARM.java
++index f8b785880..e47c30669 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/jdk/ConvertToARM.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/jdk/ConvertToARM.java
++@@ -61,7 +61,6 @@ import com.sun.source.util.Trees;
++ import java.util.ArrayList;
++ import java.util.Collection;
++ import java.util.Collections;
++-import java.util.EnumSet;
++ import java.util.HashMap;
++ import java.util.HashSet;
++ import java.util.Iterator;
++@@ -72,7 +71,6 @@ import java.util.Set;
++ import java.util.logging.Level;
++ import java.util.logging.Logger;
++ import javax.lang.model.element.Element;
++-import javax.lang.model.element.ElementKind;
++ import javax.lang.model.element.Modifier;
++ import javax.lang.model.element.VariableElement;
++ import javax.lang.model.type.TypeKind;
++@@ -100,22 +98,18 @@ import org.openide.util.Parameters;
++ *
++ * @author Tomas Zezula
++ */
++- at Hint(displayName = "#DN_org.netbeans.modules.java.hints.jdk.ConvertToARM", description = "#DESC_org.netbeans.modules.java.hints.jdk.ConvertToARM", category="rules15", suppressWarnings="ConvertToTryWithResources",
++- minSourceVersion = "7") //NOI18N
+++ at Hint(displayName = "#DN_org.netbeans.modules.java.hints.jdk.ConvertToARM", description = "#DESC_org.netbeans.modules.java.hints.jdk.ConvertToARM", category="rules15", suppressWarnings="ConvertToTryWithResources") //NOI18N
++ public class ConvertToARM {
++
++ private static final Logger LOG = Logger.getLogger(ConvertToARMFix.class.getName());
++ private static final SpecificationVersion JDK_17 = new SpecificationVersion("1.7"); //NOI18N
++- private static final SpecificationVersion JDK_9 = new SpecificationVersion("9"); //NOI18N
++
++ private static final String AUTO_CLOSEABLE = "java.lang.AutoCloseable"; //NOI18N
++
++ private static final String PTR_ENC_NONE_NO_TRY = "$CV $var = $init; $stms$; $var.close();"; //NOI18N
++ private static final String PTR_ENC_NONE_NO_TRY_FIN = "final $CV $var = $init; $stms$; $var.close();"; //NOI18N
++- private static final String PTR_ENC_NONE_NO_TRY_EFIN = "$stms$; $var.close();"; //NOI18N
++ private static final String PTR_ENC_NONE_TRY = "$CV $var = $init; try { $stms$; } catch $catches$ finally {$var.close(); $finstms$;}"; //NOI18N
++ private static final String PTR_ENC_NONE_TRY_FIN = "final $CV $var = $init; try { $stms$; } catch $catches$ finally {$var.close(); $finstms$;}"; //NOI18N
++- private static final String PTR_ENC_NONE_TRY_EFIN = "try { $stms$; } catch $catches$ finally {$var.close(); $finstms$;}"; //NOI18N
++ private static final String PTR_ENC_NONE_TRY_NULL = "$CV $var = null; try { $var = $init; $stms$; } catch $catches$ finally {if ($var != null) $var.close(); $finstms$;}"; //NOI18N
++ private static final String PTR_ENC_NONE_TRY_NULL2 = "$CV $var = null; try { $var = $init; $stms$; } catch $catches$ finally {$var.close(); $finstms$;}"; //NOI18N
++ private static final String PTR_ENC_NONE_TRY_NULL2_SHADOW = "$CV_x $var_x = null; try { $var_x = $init_x; $stms_x$; } catch $catches_x$ finally {$var_x.close(); $finstms_x$;}"; //NOI18N
++@@ -138,14 +132,10 @@ public class ConvertToARM {
++ private static final String PTR_ENC_OUT_NO_TRY_SHADOW = "$CV_x $var_x = $init_x; try($armres_x$) {$stms_x$;} $var_s.close();"; //NOI18N
++ private static final String PTR_ENC_OUT_NO_TRY_FIN = "final $CV $var = $init; try($armres$) {$stms$;} $var.close();"; //NOI18N
++ private static final String PTR_ENC_OUT_NO_TRY_FIN_SHADOW = "final $CV_x $var_x = $init_x; try($armres_x$) {$stms_x$;} $var_x.close();"; //NOI18N
++- private static final String PTR_ENC_OUT_NO_TRY_EFIN = "try($armres$) {$stms$;} $var.close();"; //NOI18N
++- private static final String PTR_ENC_OUT_NO_TRY_EFIN_SHADOW = "try($armres_x$) {$stms_x$;} $var_x.close();"; //NOI18N
++ private static final String PTR_ENC_OUT_TRY = "$CV $var = $init; try { try($armres$) {$stms$;} } catch $catches$ finally {$var.close(); $finstms$;}"; //NOI18N
++ private static final String PTR_ENC_OUT_TRY_SHADOW = "$CV_x $var_x = $init_x; try { try($armres_x$) {$stms_x$;} } catch $catches_x$ finally {$var_x.close(); $finstms_x$;}"; //NOI18N
++ private static final String PTR_ENC_OUT_TRY_FIN = "final $CV $var = $init; try { try($armres$) {$stms$;} } catch $catches$ finally {$var.close(); $finstms$;}"; //NOI18N
++ private static final String PTR_ENC_OUT_TRY_FIN_SHADOW = "final $CV_x $var_x = $init_x; try { try($armres_x$) {$stms_x$;} } catch $catches_x$ finally {$var_x.close(); $finstms_x$;}"; //NOI18N
++- private static final String PTR_ENC_OUT_TRY_EFIN = "try { try($armres$) {$stms$;} } catch $catches$ finally {$var.close(); $finstms$;}"; //NOI18N
++- private static final String PTR_ENC_OUT_TRY_EFIN_SHADOW = "try { try($armres_x$) {$stms_x$;} } catch $catches_x$ finally {$var_x.close(); $finstms_x$;}"; //NOI18N
++ private static final String PTR_ENC_OUT_TRY_NULL = "$CV $var = null; try { $var = $init; try($armres$) {$stms$;} } catch $catches$ finally {if ($var != null) $var.close(); $finstms$;}"; //NOI18N
++ private static final String PTR_ENC_OUT_TRY_NULL_SHADOW = "$CV_x $var_x = null; try { $var_x = $init_x; try($armres_x$) {$stms_x$;} } catch $catches_x$ finally {if ($var_x != null) $var_x.close(); $finstms_x$;}"; //NOI18N
++
++@@ -155,24 +145,16 @@ public class ConvertToARM {
++ private static final String PTR_ENC_IN_NO_TRY2_SHADOW = "try($armres_x$) {$CV_x $var_x = $init_x; $stms_x$; $var_x.close();} catch $catches_x$ finally {$finstms_x$;}";
++ private static final String PTR_ENC_IN_NO_TRY_FIN = "try($armres$) {final $CV $var = $init; $stms$; $var.close(); $suff$;} catch $catches$";
++ private static final String PTR_ENC_IN_NO_TRY_FIN_SHADOW = "try($armres_x$) {final $CV_x $var_x = $init_x; $stms_x$; $var_x.close();} catch $catches_x$";
++- private static final String PTR_ENC_IN_NO_TRY_EFIN = "try($armres$) {$stms$; $var.close(); $suff$;} catch $catches$";
++- private static final String PTR_ENC_IN_NO_TRY_EFIN_SHADOW = "try($armres_x$) {$stms_x$; $var_x.close();} catch $catches_x$";
++ private static final String PTR_ENC_IN_NO_TRY2_FIN = "try($armres$) {final $CV $var = $init; $stms$; $var.close(); $suff$;} catch $catches$ finally {$finstms$;}";
++ private static final String PTR_ENC_IN_NO_TRY2_FIN_SHADOW = "try($armres_x$) {$CV_x $var_x = $init_x; $stms_x$; $var_x.close();} catch $catches_x$ finally {$finstms_x$;}";
++- private static final String PTR_ENC_IN_NO_TRY2_EFIN = "try($armres$) {$stms$; $var.close(); $suff$;} catch $catches$ finally {$finstms$;}";
++- private static final String PTR_ENC_IN_NO_TRY2_EFIN_SHADOW = "try($armres_x$) {$stms_x$; $var_x.close();} catch $catches_x$ finally {$finstms_x$;}";
++ private static final String PTR_ENC_IN_TRY = "try($armres$) { $CV $var = $init; try { $stms$; } finally {$var.close();}} catch $catches$"; //NOI18N
++ private static final String PTR_ENC_IN_TRY_SHADOW = "try($armres_x$) { $CV_x $var_x = $init_x; try { $stms_x$; } finally {$var_x.close();}} catch $catches_x$"; //NOI18N
++ private static final String PTR_ENC_IN_TRY2 = "try($armres$) { $CV $var = $init; try { $stms$; } finally {$var.close();}} catch $catches$ finally {$finstms$;}"; //NOI18N
++ private static final String PTR_ENC_IN_TRY2_SHADOW = "try($armres_x$) { $CV_x $var_x = $init_x; try { $stms_x$; } finally {$var_x.close();}} catch $catches_x$ finally {$finstms_x$;}"; //NOI18N
++ private static final String PTR_ENC_IN_TRY_FIN = "try($armres$) { final $CV $var = $init; try { $stms$; } finally {$var.close();}} catch $catches$"; //NOI18N
++ private static final String PTR_ENC_IN_TRY_FIN_SHADOW = "try($armres_x$) { final $CV_x $var_x = $init_x; try { $stms_x$; } finally {$var_x.close();}} catch $catches_x$"; //NOI18N
++- private static final String PTR_ENC_IN_TRY_EFIN = "try($armres$) {try { $stms$; } finally {$var.close();}} catch $catches$"; //NOI18N
++- private static final String PTR_ENC_IN_TRY_EFIN_SHADOW = "try($armres_x$) {try { $stms_x$; } finally {$var_x.close();}} catch $catches_x$"; //NOI18N
++ private static final String PTR_ENC_IN_TRY2_FIN = "try($armres$) { final $CV $var = $init; try { $stms$; } finally {$var.close();}} catch $catches$ finally {$finstms$;}"; //NOI18N
++ private static final String PTR_ENC_IN_TRY2_FIN_SHADOW = "try($armres_x$) { final $CV_x $var_x = $init_x; try { $stms_x$; } finally {$var_x.close();}} catch $catches_x$ finally {$finstms_x$;}"; //NOI18N
++- private static final String PTR_ENC_IN_TRY2_EFIN = "try($armres$) {try { $stms$; } finally {$var.close();}} catch $catches$ finally {$finstms$;}"; //NOI18N
++- private static final String PTR_ENC_IN_TRY2_EFIN_SHADOW = "try($armres_x$) {try { $stms_x$; } finally {$var_x.close();}} catch $catches_x$ finally {$finstms_x$;}"; //NOI18N
++ private static final String PTR_ENC_IN_TRY_NULL = "try($armres$) { $CV $var = null; try { $var = $init; $stms$; } finally {if ($var != null) $var.close();}} catch $catches$"; //NOI18N
++ private static final String PTR_ENC_IN_TRY_NULL_SHADOW = "try($armres_x$) { $CV_x $var_x = null; try { $var_x = $init_x; $stms_x$; } finally {if ($var_x != null) $var_x.close();}} catch $catches_x$"; //NOI18N
++ private static final String PTR_ENC_IN_TRY_NULL2 = "try($armres$) { $CV $var = null; try { $var = $init; $stms$; } finally {if ($var != null) $var.close();}} catch $catches$ finally {$finstms$;}"; //NOI18N
++@@ -206,10 +188,8 @@ public class ConvertToARM {
++ {
++ @TriggerPattern(value=PTR_ENC_NONE_NO_TRY),
++ @TriggerPattern(value=PTR_ENC_NONE_NO_TRY_FIN),
++- @TriggerPattern(value=PTR_ENC_NONE_NO_TRY_EFIN),
++ @TriggerPattern(value=PTR_ENC_NONE_TRY),
++ @TriggerPattern(value=PTR_ENC_NONE_TRY_FIN),
++- @TriggerPattern(value=PTR_ENC_NONE_TRY_EFIN),
++ @TriggerPattern(value=PTR_ENC_NONE_TRY_NULL)
++ }
++ )
++@@ -233,29 +213,17 @@ public class ConvertToARM {
++ public static List<ErrorDescription> hint1Impl(HintContext ctx, boolean secondRule, String fixKey) {
++ if (!MatcherUtilities.matches(ctx, ctx.getPath(), PTR_ENC_OUT_NO_TRY_SHADOW) &&
++ !MatcherUtilities.matches(ctx, ctx.getPath(), PTR_ENC_OUT_NO_TRY_FIN_SHADOW) &&
++- !(MatcherUtilities.matches(ctx, ctx.getPath(), PTR_ENC_OUT_NO_TRY_EFIN_SHADOW) && isEffectivelyFinal(ctx)) &&
++- !(MatcherUtilities.matches(ctx, ctx.getPath().getParentPath(), PTR_ENC_OUT_NO_TRY_EFIN_SHADOW) && isEffectivelyFinal(ctx)) &&
++ !MatcherUtilities.matches(ctx, ctx.getPath(), PTR_ENC_OUT_TRY_SHADOW) &&
++ !MatcherUtilities.matches(ctx, ctx.getPath(), PTR_ENC_OUT_TRY_FIN_SHADOW) &&
++- !(MatcherUtilities.matches(ctx, ctx.getPath(), PTR_ENC_OUT_TRY_EFIN_SHADOW) && isEffectivelyFinal(ctx)) &&
++- !(MatcherUtilities.matches(ctx, ctx.getPath().getParentPath(), PTR_ENC_OUT_TRY_EFIN_SHADOW) && isEffectivelyFinal(ctx)) &&
++ !MatcherUtilities.matches(ctx, ctx.getPath(), PTR_ENC_OUT_TRY_NULL_SHADOW) &&
++ !(MatcherUtilities.matches(ctx, ctx.getPath().getParentPath(), PTR_ENC_IN_NO_TRY_SHADOW) && insideARM(ctx)) &&
++ !(MatcherUtilities.matches(ctx, ctx.getPath().getParentPath(), PTR_ENC_IN_NO_TRY2_SHADOW) && insideARM(ctx)) &&
++ !(MatcherUtilities.matches(ctx, ctx.getPath().getParentPath(), PTR_ENC_IN_NO_TRY_FIN_SHADOW) && insideARM(ctx)) &&
++- !(MatcherUtilities.matches(ctx, ctx.getPath().getParentPath(), PTR_ENC_IN_NO_TRY_EFIN_SHADOW) && isEffectivelyFinal(ctx) && insideARM(ctx)) &&
++- !(MatcherUtilities.matches(ctx, ctx.getPath().getParentPath().getParentPath(), PTR_ENC_IN_NO_TRY_EFIN_SHADOW) && isEffectivelyFinal(ctx) && insideARM(ctx)) &&
++ !(MatcherUtilities.matches(ctx, ctx.getPath().getParentPath(), PTR_ENC_IN_NO_TRY2_FIN_SHADOW) && insideARM(ctx)) &&
++- !(MatcherUtilities.matches(ctx, ctx.getPath().getParentPath(), PTR_ENC_IN_NO_TRY2_EFIN_SHADOW) && isEffectivelyFinal(ctx) && insideARM(ctx)) &&
++- !(MatcherUtilities.matches(ctx, ctx.getPath().getParentPath().getParentPath(), PTR_ENC_IN_NO_TRY2_EFIN_SHADOW) && isEffectivelyFinal(ctx) && insideARM(ctx)) &&
++ !(MatcherUtilities.matches(ctx, ctx.getPath().getParentPath(), PTR_ENC_IN_TRY_SHADOW) && insideARM(ctx)) &&
++ !(MatcherUtilities.matches(ctx, ctx.getPath().getParentPath(), PTR_ENC_IN_TRY2_SHADOW) && insideARM(ctx)) &&
++ !(MatcherUtilities.matches(ctx, ctx.getPath().getParentPath(), PTR_ENC_IN_TRY_FIN_SHADOW) && insideARM(ctx)) &&
++- !(MatcherUtilities.matches(ctx, ctx.getPath().getParentPath(), PTR_ENC_IN_TRY_EFIN_SHADOW) && isEffectivelyFinal(ctx) && insideARM(ctx)) &&
++- !(MatcherUtilities.matches(ctx, ctx.getPath().getParentPath().getParentPath(), PTR_ENC_IN_TRY_EFIN_SHADOW) && isEffectivelyFinal(ctx) && insideARM(ctx)) &&
++ !(MatcherUtilities.matches(ctx, ctx.getPath().getParentPath(), PTR_ENC_IN_TRY2_FIN_SHADOW) && insideARM(ctx)) &&
++- !(MatcherUtilities.matches(ctx, ctx.getPath().getParentPath(), PTR_ENC_IN_TRY2_EFIN_SHADOW) && isEffectivelyFinal(ctx) && insideARM(ctx)) &&
++- !(MatcherUtilities.matches(ctx, ctx.getPath().getParentPath().getParentPath(), PTR_ENC_IN_TRY2_EFIN_SHADOW) && isEffectivelyFinal(ctx) && insideARM(ctx)) &&
++ !(MatcherUtilities.matches(ctx, ctx.getPath().getParentPath(), PTR_ENC_IN_TRY_NULL_SHADOW) && insideARM(ctx)) &&
++ !(MatcherUtilities.matches(ctx, ctx.getPath().getParentPath(), PTR_ENC_IN_TRY_NULL2_SHADOW) && insideARM(ctx))) {
++ if (!secondRule && MatcherUtilities.matches(ctx, ctx.getPath(), PTR_ENC_NONE_TRY_NULL2_SHADOW)) {
++@@ -274,10 +242,8 @@ public class ConvertToARM {
++ {
++ @TriggerPattern(value=PTR_ENC_OUT_NO_TRY),
++ @TriggerPattern(value=PTR_ENC_OUT_NO_TRY_FIN),
++- @TriggerPattern(value=PTR_ENC_OUT_NO_TRY_EFIN),
++ @TriggerPattern(value=PTR_ENC_OUT_TRY),
++ @TriggerPattern(value=PTR_ENC_OUT_TRY_FIN),
++- @TriggerPattern(value=PTR_ENC_OUT_TRY_EFIN),
++ @TriggerPattern(value=PTR_ENC_OUT_TRY_NULL)
++ }
++ )
++@@ -290,15 +256,11 @@ public class ConvertToARM {
++ @TriggerPattern(value=PTR_ENC_IN_NO_TRY),
++ @TriggerPattern(value=PTR_ENC_IN_NO_TRY2),
++ @TriggerPattern(value=PTR_ENC_IN_NO_TRY_FIN),
++- @TriggerPattern(value=PTR_ENC_IN_NO_TRY_EFIN),
++ @TriggerPattern(value=PTR_ENC_IN_NO_TRY2_FIN),
++- @TriggerPattern(value=PTR_ENC_IN_NO_TRY2_EFIN),
++ @TriggerPattern(value=PTR_ENC_IN_TRY),
++ @TriggerPattern(value=PTR_ENC_IN_TRY2),
++ @TriggerPattern(value=PTR_ENC_IN_TRY_FIN),
++- @TriggerPattern(value=PTR_ENC_IN_TRY_EFIN),
++ @TriggerPattern(value=PTR_ENC_IN_TRY2_FIN),
++- @TriggerPattern(value=PTR_ENC_IN_TRY2_EFIN),
++ @TriggerPattern(value=PTR_ENC_IN_TRY_NULL),
++ @TriggerPattern(value=PTR_ENC_IN_TRY_NULL2)
++ }
++@@ -314,60 +276,49 @@ public class ConvertToARM {
++ private static List<ErrorDescription> hintImpl(final HintContext ctx, final NestingKind nestingKind, String key) {
++ Parameters.notNull("ctx", ctx); //NOI18N
++ final Map<String,TreePath> vars = ctx.getVariables();
++- final TreePath varVar = vars.get("$var"); //NOI18N
+++ final TreePath varVar = vars.get("$var"); //NOI18N
++ assert varVar != null;
++- final CompilationInfo info = ctx.getInfo();
++- final Trees trees = info.getTrees();
++- final TypeMirror type = trees.getTypeMirror(varVar);
++- final List<ErrorDescription> result = new ArrayList<>(1);
+++ final TreePath typeVar = vars.get("$CV"); //NOI18N
+++ assert typeVar != null;
+++ final CompilationInfo info = ctx.getInfo();
+++ final TypeMirror type = info.getTrees().getTypeMirror(typeVar);
+++ final List<ErrorDescription> result = new ArrayList<ErrorDescription>(1);
++ if (type != null && type.getKind() == TypeKind.DECLARED) {
++ final Element autoCloseable = info.getElements().getTypeElement(AUTO_CLOSEABLE);
++- if (isSupportedSourceLevel(info.getFileObject(), JDK_17) && (!checkAutoCloseable || (autoCloseable != null && info.getTypes().isSubtype(type, autoCloseable.asType())))) {
++- final Element element = trees.getElement(varVar);
++- if (element != null && EnumSet.of(ElementKind.FIELD, ElementKind.PARAMETER, ElementKind.LOCAL_VARIABLE).contains(element.getKind())) {
++- final TreePath typeVar = vars.get("$CV"); //NOI18N
++- final VariableElement resElement = (VariableElement) element;
++- if (typeVar != null || isSupportedSourceLevel(info.getFileObject(), JDK_9) && resElement.getKind() != ElementKind.LOCAL_VARIABLE && info.getElementUtilities().isEffectivelyFinal(resElement)) {
++- final Map<String,Collection<? extends TreePath>> multiVars = ctx.getMultiVariables();
++- final Collection<? extends TreePath> stms = multiVars.get("$stms$"); //NOI18N
++- if (!stms.isEmpty() && !isAssigned(resElement, stms, trees)) {
++- final Collection<? extends TreePath> tail;
++-
++- if (multiVars.containsKey("$suff$")) {
++- tail = multiVars.get("$suff$"); // NOI18N
++- } else {
++- tail = multiVars.get("$$2$"); //NOI18N
++- }
++- final Collection<? extends TreePath> usages = findResourceUsages(resElement, tail, trees);
++- final Collection<TreePath> cleanUpStatements = new LinkedList<>();
++- if (!hasNonCleanUpUsages(usages, cleanUpStatements) && !splitVariablesClash(stms, tail, trees)) {
++- TreePath path = varVar;
++- if (typeVar == null) {
++- final Iterator<? extends TreePath> paths = findResourceUsages(resElement, stms, trees).iterator();
++- if (paths.hasNext()) {
++- path = paths.next();
++- }
++- }
++- result.add(ErrorDescriptionFactory.forName(
++- ctx,
++- path,
++- NbBundle.getMessage(ConvertToARM.class, "TXT_ConvertToARM"),
++- new ConvertToARMFix(
++- info,
++- key,
++- ctx.getPath(),
++- nestingKind,
++- varVar,
++- vars.get("$init"), //NOI18N
++- multiVars.get("$armres$"), //NOI18N
++- stms,
++- multiVars.get("$catches$"), //NOI18N
++- multiVars.get("$finstms$"), //NOI18N
++- tail,
++- cleanUpStatements).toEditorFix()
++- ));
++- }
++- }
+++ if (isSupportedSourceLevel(ctx.getInfo().getFileObject()) && (!checkAutoCloseable || (autoCloseable != null && info.getTypes().isSubtype(type, autoCloseable.asType())))) {
+++ final Map<String,Collection<? extends TreePath>> multiVars = ctx.getMultiVariables();
+++ final Collection<? extends TreePath> stms = multiVars.get("$stms$"); //NOI18N
+++ final Trees trees = ctx.getInfo().getTrees();
+++ final VariableElement resElement = (VariableElement) trees.getElement(varVar);
+++ if (resElement != null && !stms.isEmpty() && !isAssigned(resElement, stms, trees)) {
+++ final Collection<? extends TreePath> tail;
+++
+++ if (multiVars.containsKey("$suff$")) {
+++ tail = multiVars.get("$suff$"); // NOI18N
+++ } else {
+++ tail = multiVars.get("$$2$"); //NOI18N
+++ }
+++ final Collection<? extends TreePath> usages = findResourceUsagesAfterClose(resElement, tail, varVar.getCompilationUnit(), trees);
+++ final Collection<TreePath> cleanUpStatements = new LinkedList<TreePath>();
+++ if (!hasNonCleanUpUsages(usages, cleanUpStatements) && !splitVariablesClash(stms, tail, trees)) {
+++ result.add(ErrorDescriptionFactory.forName(
+++ ctx,
+++ varVar,
+++ NbBundle.getMessage(ConvertToARM.class, "TXT_ConvertToARM"),
+++ new ConvertToARMFix(
+++info,
+++key,
+++ctx.getPath(),
+++nestingKind,
+++varVar,
+++vars.get("$init"), //NOI18N
+++multiVars.get("$armres$"), //NOI18N
+++stms,
+++multiVars.get("$catches$"), //NOI18N
+++multiVars.get("$finstms$"), //NOI18N
+++tail,
+++cleanUpStatements).toEditorFix()
+++ ));
++ }
++ }
++ }
++@@ -453,8 +404,12 @@ public class ConvertToARM {
++ @Override
++ protected void performRewrite(TransformationContext ctx) {
++ final WorkingCopy wc = ctx.getWorkingCopy();
++- TreePath tp = ctx.getPath();
++- final TreePath init = this.initHandle != null ? this.initHandle.resolve(wc) : null;
+++ final TreePath tp = ctx.getPath();
+++ final TreePath init = this.initHandle.resolve(wc);
+++ if (init == null) {
+++ LOG.log(Level.FINE, "Cannot resolve TreePathHandle: {0}", this.initHandle.toString());
+++ return ;
+++ }
++ final TreePath var = this.varHandle.resolve(wc);
++ if (var == null) {
++ LOG.log(Level.FINE, "Cannot resolve TreePathHandle: {0}", this.varHandle.toString());
++@@ -510,49 +465,34 @@ public class ConvertToARM {
++ final List<StatementTree> filteredStatements = new LinkedList<StatementTree>(statements);
++ filteredStatements.removeAll(removedVars);
++ final BlockTree block = tm.Block(filteredStatements, false);
++- final Tree resTree = var.getLeaf().getKind() == Tree.Kind.VARIABLE
++- ? addInit(wc, removeFinal(wc, (VariableTree)var.getLeaf()),(ExpressionTree)init.getLeaf())
++- : var.getLeaf();
+++ final VariableTree varTree = addInit(wc,
+++ removeFinal(wc, (VariableTree)var.getLeaf()),
+++ (ExpressionTree)init.getLeaf());
++ final TryTree tryTree = tm.Try(
++- Collections.singletonList(resTree),
+++ Collections.singletonList(varTree),
++ block,
++ ConvertToARMFix.<CatchTree>asList(catchesPaths),
++ rewriteFinallyBlock(tm,finStatementsPath));
++- StatementTree stat = null;
++- if (tp.getLeaf().getKind() == Tree.Kind.TRY) {
++- stat = (StatementTree) tp.getLeaf();
++- tp = tp.getParentPath();
++- } else if (var.getLeaf().getKind() == Tree.Kind.VARIABLE) {
++- stat = (StatementTree)var.getLeaf();
++- }
++ rewriteCopyComments(wc, tp.getLeaf(), rewriteOwnerBlock(gen,
++ tm,
++ ((BlockTree)tp.getLeaf()).getStatements(),
++- stat,
+++ (StatementTree)var.getLeaf(),
++ additionalVars,
++ tryTree,
++ statements,
++ nonNeededStms));
++ } else if (nestingKind == NestingKind.OUT) {
++- StatementTree stat = null;
++- if (tp.getLeaf().getKind() == Tree.Kind.TRY) {
++- stat = (StatementTree) tp.getLeaf();
++- tp = tp.getParentPath();
++- } else if (var.getLeaf().getKind() == Tree.Kind.VARIABLE) {
++- stat = (StatementTree)var.getLeaf();
++- }
++ final TryTree oldTry = findNestedARM(
++ ((BlockTree)tp.getLeaf()).getStatements(),
++- stat);
+++ (StatementTree)var.getLeaf());
++ if (oldTry == null) {
++ return;
++ }
++ final List<Tree> arm = new ArrayList<Tree>();
++- final Tree resTree = var.getLeaf().getKind() == Tree.Kind.VARIABLE
++- ? addInit(wc, removeFinal(wc, (VariableTree)var.getLeaf()),(ExpressionTree)init.getLeaf())
++- : var.getLeaf();
++- arm.add(resTree);
++- arm.addAll(removeFinal(wc, ConvertToARMFix.<Tree>asList(armPaths)));
+++ arm.add(addInit(wc,
+++ removeFinal(wc, (VariableTree)var.getLeaf()),
+++ (ExpressionTree)init.getLeaf()));
+++ arm.addAll(removeFinal(wc, ConvertToARMFix.<Tree>asList(armPaths)));
++ final TryTree newTry = tm.Try(
++ arm,
++ oldTry.getBlock(),
++@@ -561,7 +501,7 @@ public class ConvertToARM {
++ rewriteCopyComments(wc, tp.getLeaf(), rewriteOwnerBlock(gen,
++ tm,
++ ((BlockTree)tp.getLeaf()).getStatements(),
++- stat,
+++ (StatementTree)var.getLeaf(),
++ Collections.<VariableTree>emptyList(),
++ newTry,
++ ConvertToARMFix.<StatementTree>asList(statementsPaths),
++@@ -574,10 +514,9 @@ public class ConvertToARM {
++ final TryTree oldTry = (TryTree)oldTryPath.getLeaf();
++ Tree rewriteTree = oldTry;
++ final List<Tree> arm = new ArrayList<Tree>(removeFinal(wc, oldTry.getResources()));
++- final Tree resTree = var.getLeaf().getKind() == Tree.Kind.VARIABLE
++- ? addInit(wc, removeFinal(wc, (VariableTree)var.getLeaf()),(ExpressionTree)init.getLeaf())
++- : var.getLeaf();
++- arm.add(resTree);
+++ arm.add(addInit(wc,
+++ removeFinal(wc, (VariableTree)var.getLeaf()),
+++ (ExpressionTree)init.getLeaf()));
++ final TryTree newTry = tm.Try(
++ arm,
++ tm.Block(ConvertToARMFix.<StatementTree>asList(statementsPaths), false),
++@@ -633,7 +572,7 @@ public class ConvertToARM {
++ final List<? extends StatementTree> oldStms,
++ final Set<? extends StatementTree> removeStms) {
++ final List<StatementTree> statements = new ArrayList<StatementTree>(originalStatements.size());
++- int state = var != null ? 0 : 1; //0 - ordinary,1 - replace by try, 2 - remove
+++ int state = 0; //0 - ordinary,1 - replace by try, 2 - remove
++ final Set<Tree> toRemove = new HashSet<Tree>(oldStms);
++ for (StatementTree statement : originalStatements) {
++ if (removeStms.contains(statement)) {
++@@ -641,27 +580,8 @@ public class ConvertToARM {
++ }
++ if (var == statement) {
++ statements.addAll(preVarDecls);
++- if (var.getKind() == Kind.TRY) {
++- gen.copyComments(statement, newTry, true);
++- gen.copyComments(statement, newTry, false);
++- if (statement.getKind() == Kind.TRY) {
++- // copy over the comments for the finally block, it has been regenerated
++- TryTree tt = (TryTree)statement;
++- if (tt.getFinallyBlock() != null) {
++- Tree nt = newTry.getFinallyBlock();
++- if (nt == null) {
++- nt = newTry;
++- }
++- gen.copyComments(tt.getFinallyBlock(), nt, true);
++- gen.copyComments(tt.getFinallyBlock(), nt, false);
++- }
++- }
++- statement = newTry;
++- state = 0;
++- } else {
++- state = 1;
++- continue;
++- }
+++ state = 1;
+++ continue;
++ } else if (state == 1) {
++ state = toRemove.contains(statement) ||
++ (statement.getKind() == Kind.TRY &&
++@@ -753,12 +673,11 @@ public class ConvertToARM {
++ private static TryTree findNestedARM(
++ final Collection<? extends StatementTree> stms,
++ final StatementTree var) {
++- int state = var != null ? 0 : 1;
+++ int state = 0;
++ for (StatementTree stm : stms) {
++ if (stm == var) {
++ state = 1;
++- }
++- if (state == 1) {
+++ } else if (state == 1) {
++ if (stm.getKind() == Kind.TRY) {
++ final TryTree tryTree = (TryTree)stm;
++ if (tryTree.getResources() != null && !tryTree.getResources().isEmpty()) {
++@@ -779,64 +698,33 @@ public class ConvertToARM {
++ }
++ }
++ }
++- if (stm != var) {
++- break;
++- }
+++ break;
++ }
++ }
++ return null;
++ }
++
++- private static TreePath findEnclosingARMPath(final TreePath varPath) {
++- if (varPath == null) {
++- return null;
++- }
++- if (varPath.getLeaf().getKind() == Tree.Kind.VARIABLE) {
++- TreePath path = findEnclosingTryPath(varPath);
++- return path != null && ((TryTree)path.getLeaf()).getResources() != null
++- && !((TryTree)path.getLeaf()).getResources().isEmpty()
++- ? path : null;
++- }
++- TreePath path = varPath;
++- while (path != null && !(path.getLeaf() instanceof StatementTree)) {
++- path = path.getParentPath();
++- }
++- path = findEnclosingTryPath(path); //NOI18N
++- if (path != null && ((TryTree)path.getLeaf()).getResources() != null
++- && !((TryTree)path.getLeaf()).getResources().isEmpty()) {
++- return path;
++- }
++- path = findEnclosingTryPath(path);
++- return path != null && ((TryTree)path.getLeaf()).getResources() != null
++- && !((TryTree)path.getLeaf()).getResources().isEmpty()
++- ? path : null;
+++ private static TryTree findEnclosingARM(final TreePath varPath) {
+++ TreePath path = findEnclosingARMPath(varPath);
+++ return path == null ? null : (TryTree)path.getLeaf();
++ }
++-
++- private static TreePath findEnclosingTryPath(final TreePath path) {
++- TreePath parent = path.getParentPath();
+++
+++ private static TreePath findEnclosingARMPath(
+++ final TreePath varPath) {
+++ TreePath parent = varPath.getParentPath();
++ if (parent == null || parent.getLeaf().getKind() != Kind.BLOCK) {
++ return null;
++ }
++ parent = parent.getParentPath();
++ if (parent == null || parent.getLeaf().getKind() != Kind.TRY) {
++ return null;
++- }
+++ }
++ return parent;
++ }
++
++- private static boolean isEffectivelyFinal(final HintContext ctx) {
++- if (isSupportedSourceLevel(ctx.getInfo().getFileObject(), JDK_9)) {
++- TreePath var = ctx.getVariables().get("$var");
++- if (var != null) {
++- Element el = ctx.getInfo().getTrees().getElement(var);
++- return el != null && EnumSet.of(ElementKind.FIELD, ElementKind.PARAMETER).contains(el.getKind()) && ctx.getInfo().getElementUtilities().isEffectivelyFinal((VariableElement)el);
++- }
++- }
++- return false;
++- }
++-
++ private static boolean insideARM(final HintContext ctx) {
++- return findEnclosingARMPath(ctx.getVariables().get("$var")) != null;
+++ final TryTree enc = findEnclosingARM(ctx.getVariables().get("$var")); //NOI18N
+++ return enc != null && enc.getResources() != null && !enc.getResources().isEmpty();
++ }
++
++ private static Collection<VariableTree> findVariableDecls(
++@@ -880,11 +768,12 @@ public class ConvertToARM {
++ return vars;
++ }
++
++- private static Collection<? extends TreePath> findResourceUsages(
+++ private static Collection<? extends TreePath> findResourceUsagesAfterClose(
++ final VariableElement resource,
++ final Collection<? extends TreePath> statements,
+++ final CompilationUnitTree cu,
++ final Trees trees) {
++- final List<TreePath> usages = new LinkedList<>();
+++ final List<TreePath> usages = new LinkedList<TreePath>();
++ if (statements != null) {
++ final TreePathScanner<List<TreePath>,List<TreePath>> scanner = new TreePathScanner<List<TreePath>, List<TreePath>>() {
++ @Override
++@@ -993,7 +882,7 @@ public class ConvertToARM {
++ return scanner.scan(statements, null) == Boolean.TRUE;
++ }
++
++- private static boolean isSupportedSourceLevel(final FileObject file, final SpecificationVersion ver) {
+++ private static boolean isSupportedSourceLevel(final FileObject file) {
++ if (file == null) {
++ return false;
++ }
++@@ -1001,7 +890,7 @@ public class ConvertToARM {
++ if (sl == null) {
++ return false;
++ }
++- return ver.compareTo(new SpecificationVersion(sl)) <= 0;
+++ return JDK_17.compareTo(new SpecificationVersion(sl)) <= 0;
++ }
++
++ private enum NestingKind {
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/jdk/ConvertToDiamondBulkHint.java b/java.hints/src/org/netbeans/modules/java/hints/jdk/ConvertToDiamondBulkHint.java
++index d7196fd66..41c75f8c6 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/jdk/ConvertToDiamondBulkHint.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/jdk/ConvertToDiamondBulkHint.java
++@@ -55,7 +55,6 @@ import java.util.Map;
++ import java.util.Map.Entry;
++ import java.util.Set;
++ import java.util.prefs.Preferences;
++-import javax.lang.model.SourceVersion;
++ import javax.swing.JComponent;
++ import javax.tools.Diagnostic;
++ import org.netbeans.api.java.source.CompilationInfo;
++@@ -80,12 +79,11 @@ import org.openide.util.NbBundle;
++ *
++ * @author lahvac
++ */
++- at Hint(displayName = "#DN_Javac_canUseDiamond", description = "#DESC_Javac_canUseDiamond", id=ConvertToDiamondBulkHint.ID, category="rules15",enabled=true, customizerProvider=CustomizerProviderImpl.class, suppressWarnings="Convert2Diamond",
++- minSourceVersion = "7")
+++ at Hint(displayName = "#DN_Javac_canUseDiamond", description = "#DESC_Javac_canUseDiamond", id=ConvertToDiamondBulkHint.ID, category="rules15",enabled=true, customizerProvider=CustomizerProviderImpl.class, suppressWarnings="Convert2Diamond")
++ public class ConvertToDiamondBulkHint {
++
++ public static final String ID = "Javac_canUseDiamond";
++- public static final Set<String> CODES = new HashSet<String>(Arrays.asList("compiler.warn.diamond.redundant.args"));
+++ public static final Set<String> CODES = new HashSet<String>(Arrays.asList("compiler.warn.diamond.redundant.args", "compiler.warn.diamond.redundant.args.1"));
++
++ //XXX: hack:
++ public static boolean isHintEnabled() {
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/jdk/ConvertToLambda.java b/java.hints/src/org/netbeans/modules/java/hints/jdk/ConvertToLambda.java
++index 22df36c7d..782abda67 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/jdk/ConvertToLambda.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/jdk/ConvertToLambda.java
++@@ -35,12 +35,10 @@
++ * Version 2 license, then the option applies only if the new code is
++ * made subject to such option by the copyright holder.
++ *
+++ * Contributor(s): Lyle Franklin <lylejfranklin at gmail.com>
++ *
++ * Portions Copyrighted 2009-2010 Sun Microsystems, Inc.
++ */
++-/*
++- * Contributor(s): Lyle Franklin <lylejfranklin at gmail.com>
++- */
++ package org.netbeans.modules.java.hints.jdk;
++
++ import com.sun.source.tree.ClassTree;
++@@ -73,12 +71,11 @@ import org.openide.util.NbBundle;
++ "FIX_ConvertToMemberReference=Use member reference", //NOI18N
++ "FIX_ConvertToLambda=Use lambda expression" //NOI18N
++ })
++- at Hint(displayName = "#DN_Javac_canUseLambda", description = "#DESC_Javac_canUseLambda", id = ConvertToLambda.ID, category = "rules15", suppressWarnings="Convert2Lambda",
++- minSourceVersion = "8") //NOI18N
+++ at Hint(displayName = "#DN_Javac_canUseLambda", description = "#DESC_Javac_canUseLambda", id = ConvertToLambda.ID, category = "rules15", suppressWarnings="Convert2Lambda") //NOI18N
++ public class ConvertToLambda {
++
++ public static final String ID = "Javac_canUseLambda"; //NOI18N
++- public static final Set<String> CODES = new HashSet<String>(Arrays.asList("compiler.warn.potential.lambda.found")); //NOI18N
+++ public static final Set<String> CODES = new HashSet<String>(Arrays.asList("compiler.note.potential.lambda.found")); //NOI18N
++
++ static final boolean DEF_PREFER_MEMBER_REFERENCES = true;
++
++@@ -88,23 +85,34 @@ public class ConvertToLambda {
++ @TriggerPatterns({
++ @TriggerPattern("new $clazz($params$) { $method; }") //NOI18N
++ })
++- @NbBundle.Messages("MSG_AnonymousConvertibleToLambda=This anonymous inner class creation can be turned into a lambda expression.")
++ public static ErrorDescription computeAnnonymousToLambda(HintContext ctx) {
++ ClassTree clazz = ((NewClassTree) ctx.getPath().getLeaf()).getClassBody();
++- ConvertToLambdaPreconditionChecker preconditionChecker =
++- new ConvertToLambdaPreconditionChecker(ctx.getPath(), ctx.getInfo());
++- if (!preconditionChecker.passesFatalPreconditions()) {
++- return null;
++- }
+++ long start = ctx.getInfo().getTrees().getSourcePositions().getStartPosition(ctx.getInfo().getCompilationUnit(), clazz);
++
++- FixImpl fix = new FixImpl(ctx.getInfo(), ctx.getPath(), false);
++- if (ctx.getPreferences().getBoolean(KEY_PREFER_MEMBER_REFERENCES, DEF_PREFER_MEMBER_REFERENCES)
++- && (preconditionChecker.foundMemberReferenceCandidate() || preconditionChecker.foundConstructorReferenceCandidate())) {
++- return ErrorDescriptionFactory.forTree(ctx, ((NewClassTree) ctx.getPath().getLeaf()).getIdentifier(), Bundle.MSG_AnonymousConvertibleToLambda(),
++- new FixImpl(ctx.getInfo(), ctx.getPath(), true).toEditorFix(), fix.toEditorFix());
+++ OUTER:
+++ for (Diagnostic<?> d : ctx.getInfo().getDiagnostics()) {
+++ if (start != d.getStartPosition()) {
+++ continue;
+++ }
+++ if (!CODES.contains(d.getCode())) {
+++ continue;
+++ }
+++
+++ ConvertToLambdaPreconditionChecker preconditionChecker =
+++ new ConvertToLambdaPreconditionChecker(ctx.getPath(), ctx.getInfo());
+++ if (!preconditionChecker.passesFatalPreconditions()) {
+++ return null;
+++ }
+++
+++ FixImpl fix = new FixImpl(ctx.getInfo(), ctx.getPath(), false);
+++ if (ctx.getPreferences().getBoolean(KEY_PREFER_MEMBER_REFERENCES, DEF_PREFER_MEMBER_REFERENCES)
+++ && preconditionChecker.foundMemberReferenceCandidate()) {
+++ return ErrorDescriptionFactory.forTree(ctx, ((NewClassTree) ctx.getPath().getLeaf()).getIdentifier(), d.getMessage(null),
+++ new FixImpl(ctx.getInfo(), ctx.getPath(), true).toEditorFix(), fix.toEditorFix());
+++ }
+++ return ErrorDescriptionFactory.forTree(ctx, ((NewClassTree) ctx.getPath().getLeaf()).getIdentifier(), d.getMessage(null), fix.toEditorFix());
++ }
++- return ErrorDescriptionFactory.forTree(ctx, ((NewClassTree) ctx.getPath().getLeaf()).getIdentifier(),
++- Bundle.MSG_AnonymousConvertibleToLambda(), fix.toEditorFix());
+++ return null;
++ }
++
++ private static final class FixImpl extends JavaFix {
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/jdk/ConvertToLambdaConverter.java b/java.hints/src/org/netbeans/modules/java/hints/jdk/ConvertToLambdaConverter.java
++index 4b2ec17da..432e1c9e2 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/jdk/ConvertToLambdaConverter.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/jdk/ConvertToLambdaConverter.java
++@@ -35,15 +35,12 @@
++ * Version 2 license, then the option applies only if the new code is
++ * made subject to such option by the copyright holder.
++ *
+++ * Contributor(s): Lyle Franklin <lylejfranklin at gmail.com>
++ *
++ * Portions Copyrighted 2012 Sun Microsystems, Inc.
++ */
++-/*
++- * Contributor(s): Lyle Franklin <lylejfranklin at gmail.com>
++- */
++ package org.netbeans.modules.java.hints.jdk;
++
++-import com.sun.source.tree.BlockTree;
++ import com.sun.source.tree.ClassTree;
++ import com.sun.source.tree.ExpressionTree;
++ import com.sun.source.tree.IdentifierTree;
++@@ -69,10 +66,6 @@ import com.sun.source.tree.MemberReferenceTree;
++ import com.sun.source.tree.MemberSelectTree;
++ import com.sun.source.tree.MethodInvocationTree;
++ import com.sun.source.tree.ReturnTree;
++-import java.util.List;
++-import javax.lang.model.element.ExecutableElement;
++-import javax.lang.model.element.Modifier;
++-import org.netbeans.api.java.source.CompilationInfo;
++ import org.netbeans.api.java.source.TreeMaker;
++ import org.netbeans.api.java.source.WorkingCopy;
++ import org.netbeans.api.java.source.matching.Matcher;
++@@ -116,64 +109,7 @@ public class ConvertToLambdaConverter {
++
++ copy.rewrite(newClassTree, convertedTree);
++ }
++-
++- private static Tree possiblyCast(WorkingCopy copy, ExpressionTree tree, TreePath path, boolean typeCast) {
++- if (!typeCast) {
++- return tree;
++- }
++- NewClassTree nct = (NewClassTree)path.getLeaf();
++- return copy.getTreeMaker().TypeCast(nct.getIdentifier(), tree);
++- }
++-
++- public static Tree newClassToConstructorReference(WorkingCopy copy, Tree tree, TreePath contextPath, List<? extends VariableTree> passedParameters, boolean addTypeCast) {
++- NewClassTree nct = (NewClassTree)tree;
++- if (passedParameters.size() != nct.getArguments().size()) {
++- return null;
++- }
++- Element e = copy.getTrees().getElement(new TreePath(contextPath, tree));
++- if (e == null || e.getKind() != ElementKind.CONSTRUCTOR) {
++- return null;
++- }
++- TreeMaker make = copy.getTreeMaker();
++- return possiblyCast(copy,
++- make.MemberReference(MemberReferenceTree.ReferenceMode.NEW, nct.getIdentifier(), "new", (List<? extends ExpressionTree>)nct.getTypeArguments()),
++- contextPath, addTypeCast);
++- }
++
++- public static Tree methodInvocationToMemberReference(WorkingCopy copy, Tree tree, TreePath contextPath, List<? extends VariableTree> passedParameters, boolean addTypeCast) {
++- if (tree.getKind() != Tree.Kind.METHOD_INVOCATION)
++- return null;
++- ExpressionTree ms = ((MethodInvocationTree)tree).getMethodSelect();
++- Element e = copy.getTrees().getElement(new TreePath(contextPath, ms));
++- if (e == null || e.getKind() != ElementKind.METHOD) {
++- return null;
++- }
++- Name name = null;
++- ExpressionTree expr = null;
++- TreeMaker make = copy.getTreeMaker();
++-
++- if (ms.getKind() == Tree.Kind.IDENTIFIER) {
++- name = ((IdentifierTree)ms).getName();
++- expr = e.getModifiers().contains(Modifier.STATIC) ?
++- make.Identifier(e.getEnclosingElement()) :
++- make.Identifier("this"); //NOI18N
++- } else if (ms.getKind() == Tree.Kind.MEMBER_SELECT) {
++- name = ((MemberSelectTree)ms).getIdentifier();
++- if (passedParameters.size() == ((MethodInvocationTree)tree).getArguments().size()) {
++- expr = ((MemberSelectTree)ms).getExpression();
++- } else {
++- expr = make.Identifier(e.getEnclosingElement());
++- }
++- }
++- if (name == null || expr == null) {
++- return null;
++- }
++- return possiblyCast(copy,
++- make.MemberReference(MemberReferenceTree.ReferenceMode.INVOKE, expr, name, Collections.<ExpressionTree>emptyList()),
++- contextPath, addTypeCast
++- );
++- }
++-
++ public void performRewriteToMemberReference() {
++ MethodTree methodTree = getMethodFromFunctionalInterface(newClassTree);
++ if (methodTree.getBody() == null || methodTree.getBody().getStatements().size() != 1)
++@@ -186,15 +122,29 @@ public class ConvertToLambdaConverter {
++ } else {
++ return;
++ }
++- Tree changed = null;
++- if (tree.getKind() == Tree.Kind.METHOD_INVOCATION) {
++- changed = methodInvocationToMemberReference(copy, tree, pathToNewClassTree, methodTree.getParameters(),
++- preconditionChecker.needsCastToExpectedType());
++- } else if (tree.getKind() == Tree.Kind.NEW_CLASS) {
++- changed = newClassToConstructorReference(copy, tree, pathToNewClassTree, methodTree.getParameters(), preconditionChecker.needsCastToExpectedType());
+++ if (tree.getKind() != Tree.Kind.METHOD_INVOCATION)
+++ return;
+++ ExpressionTree ms = ((MethodInvocationTree)tree).getMethodSelect();
+++ Name name = null;
+++ ExpressionTree expr = null;
+++ TreeMaker make = copy.getTreeMaker();
+++ if (ms.getKind() == Tree.Kind.IDENTIFIER) {
+++ name = ((IdentifierTree)ms).getName();
+++ expr = make.Identifier("this"); //NOI18N
+++ } else if (ms.getKind() == Tree.Kind.MEMBER_SELECT) {
+++ name = ((MemberSelectTree)ms).getIdentifier();
+++ if (methodTree.getParameters().size() == ((MethodInvocationTree)tree).getArguments().size()) {
+++ expr = ((MemberSelectTree)ms).getExpression();
+++ } else {
+++ Element e = copy.getTrees().getElement(new TreePath(pathToNewClassTree, ms));
+++ if (e != null && e.getKind() == ElementKind.METHOD) {
+++ expr = make.Identifier(e.getEnclosingElement());
+++ }
+++ }
++ }
++- if (changed != null) {
++- copy.rewrite(newClassTree, changed);
+++ if (name != null && expr != null) {
+++ MemberReferenceTree referenceTree = make.MemberReference(MemberReferenceTree.ReferenceMode.INVOKE, expr, name, Collections.<ExpressionTree>emptyList());
+++ copy.rewrite(newClassTree, referenceTree);
++ }
++ }
++
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/jdk/ConvertToLambdaPreconditionChecker.java b/java.hints/src/org/netbeans/modules/java/hints/jdk/ConvertToLambdaPreconditionChecker.java
++index 19a4f204b..4d71e0ca6 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/jdk/ConvertToLambdaPreconditionChecker.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/jdk/ConvertToLambdaPreconditionChecker.java
++@@ -35,12 +35,10 @@
++ * Version 2 license, then the option applies only if the new code is
++ * made subject to such option by the copyright holder.
++ *
+++ * Contributor(s): Lyle Franklin <lylejfranklin at gmail.com>
++ *
++ * Portions Copyrighted 2012 Sun Microsystems, Inc.
++ */
++-/*
++- * Contributor(s): Lyle Franklin <lylejfranklin at gmail.com>
++- */
++ package org.netbeans.modules.java.hints.jdk;
++
++ import com.sun.source.tree.BlockTree;
++@@ -51,8 +49,8 @@ import com.sun.source.tree.MemberSelectTree;
++ import com.sun.source.tree.MethodInvocationTree;
++ import com.sun.source.tree.MethodTree;
++ import com.sun.source.tree.NewClassTree;
++-import com.sun.source.tree.ParenthesizedTree;
++ import com.sun.source.tree.Scope;
+++import com.sun.source.tree.StatementTree;
++ import com.sun.source.tree.Tree;
++ import com.sun.source.tree.VariableTree;
++ import com.sun.source.util.TreePath;
++@@ -74,7 +72,6 @@ import javax.lang.model.type.TypeKind;
++ import javax.lang.model.type.TypeMirror;
++ import javax.lang.model.util.Types;
++ import org.netbeans.api.java.source.CompilationInfo;
++-import org.netbeans.api.java.source.TreeUtilities;
++ import org.netbeans.modules.java.hints.errors.Utilities;
++
++
++@@ -99,7 +96,6 @@ public class ConvertToLambdaPreconditionChecker {
++ private boolean foundRefToUninitializedVar = false;
++ private final Element ownerClass;
++ private final Element createdClass;
++- private boolean foundConstructorReferenceCandidate = false;
++
++ public ConvertToLambdaPreconditionChecker(TreePath pathToNewClassTree, CompilationInfo info) {
++
++@@ -109,12 +105,12 @@ public class ConvertToLambdaPreconditionChecker {
++ this.types = info.getTypes();
++
++ Element el = info.getTrees().getElement(pathToNewClassTree);
++- if (el != null && el.getKind() == ElementKind.CONSTRUCTOR) {
+++ if (el.getKind() == ElementKind.CONSTRUCTOR) {
++ createdClass = el.getEnclosingElement();
++ } else {
++ createdClass = null;
++ }
++- this.lambdaMethodTree = getMethodFromFunctionalInterface(this.pathToNewClassTree);
+++ this.lambdaMethodTree = getMethodFromFunctionalInterface(this.newClassTree);
++ this.localScope = getScopeFromTree(this.pathToNewClassTree);
++ this.ownerClass = findFieldOwner();
++ }
++@@ -139,27 +135,10 @@ public class ConvertToLambdaPreconditionChecker {
++ return null;
++ }
++
++- private MethodTree getMethodFromFunctionalInterface(TreePath pathToNewClassTree) {
+++ private static MethodTree getMethodFromFunctionalInterface(NewClassTree newClassTree) {
++ //ignore first member, which is a synthetic constructor call
++- if (createdClass == null) {
++- return null;
++- }
++- TreePath typePath = new TreePath(pathToNewClassTree, ((NewClassTree)pathToNewClassTree.getLeaf()).getIdentifier());
++- Element baseElement = info.getTrees().getElement(typePath);
++- if (baseElement == null || baseElement.getKind().isClass()) {
++- return null;
++- }
++- TreeUtilities tu = info.getTreeUtilities();
++- MethodTree candidate = null;
++- for (Tree member : ((NewClassTree)pathToNewClassTree.getLeaf()).getClassBody().getMembers()) {
++- if (member.getKind() == Tree.Kind.METHOD && !tu.isSynthetic(new TreePath(pathToNewClassTree, member))) {
++- if (candidate != null) {
++- return null;
++- }
++- candidate = (MethodTree)member;
++- }
++- }
++- return candidate;
+++ ClassTree classTree = newClassTree.getClassBody();
+++ return (MethodTree) classTree.getMembers().get(1);
++ }
++
++ public boolean passesAllPreconditions() {
++@@ -177,12 +156,11 @@ public class ConvertToLambdaPreconditionChecker {
++
++ private void ensurePreconditionsAreChecked() {
++ if (!havePreconditionsBeenChecked) {
++- if (lambdaMethodTree != null) {
++- TreePath path = new TreePath(pathToNewClassTree, lambdaMethodTree);
++- new PreconditionScanner().scan(path, info.getTrees());
++- checkForOverload();
++- verifyTargetType();
++- }
+++ TreePath path = new TreePath(pathToNewClassTree, lambdaMethodTree);
+++ new PreconditionScanner().scan(path, info.getTrees());
+++ checkForOverload();
+++ verifyTargetType();
+++
++ havePreconditionsBeenChecked = true;
++ }
++ }
++@@ -193,8 +171,7 @@ public class ConvertToLambdaPreconditionChecker {
++ }
++
++ public boolean passesFatalPreconditions() {
++- return lambdaMethodTree != null &&
++- !foundRefToThisOrSuper() &&
+++ return !foundRefToThisOrSuper() &&
++ !foundRecursiveCall() &&
++ !foundErroneousTargetType() &&
++ !foundRefToUninitializedVar();
++@@ -247,11 +224,6 @@ public class ConvertToLambdaPreconditionChecker {
++ ensurePreconditionsAreChecked();
++ return foundMemberReferenceCandidate;
++ }
++-
++- public boolean foundConstructorReferenceCandidate() {
++- ensurePreconditionsAreChecked();
++- return foundConstructorReferenceCandidate;
++- }
++
++ private void checkForOverload() {
++ foundOverloadWhichMakesLambdaAmbiguous = doesOverloadMakeLambdaAmbiguous();
++@@ -340,68 +312,6 @@ public class ConvertToLambdaPreconditionChecker {
++ return super.visitVariable(variableDeclTree, trees);
++ }
++
++- public boolean isMeaninglessQualifier(TreePath exprPath) {
++- if (exprPath == null) {
++- return false;
++- }
++- Tree leaf = exprPath.getLeaf();
++- if (leaf.getKind() == Tree.Kind.PARENTHESIZED) {
++- return isMeaninglessQualifier(new TreePath(exprPath, ((ParenthesizedTree)leaf).getExpression()));
++- } else if (leaf.getKind() == Tree.Kind.IDENTIFIER) {
++- String s = ((IdentifierTree)leaf).getName().toString();
++- if ("this".equals(s)) {
++- // this alone denotes the class which is going to be turned to lambda.
++- return false;
++- }
++- } else if (leaf.getKind() == Tree.Kind.MEMBER_SELECT && createdClass != null) {
++- MemberSelectTree mst = (MemberSelectTree)leaf;
++- String s = mst.getIdentifier().toString();
++- if ("this".equals(s)) {
++- // SomeOuterClass.this; if the qualifier is an enclosing class,
++- // permit:
++- TypeMirror thisType = info.getTrees().getTypeMirror(exprPath);
++- if (thisType == null || thisType.getKind() != TypeKind.DECLARED) {
++- return false;
++- }
++- Element el = ((DeclaredType)thisType).asElement();
++- for (Element outer = createdClass.getEnclosingElement(); outer != null; outer = outer.getEnclosingElement()) {
++- if (el.getModifiers().contains(Modifier.STATIC)) {
++- // lost the reference to the outer instances
++- return false;
++- }
++- if (el == outer) {
++- return true;
++- }
++- }
++- }
++- }
++- return false;
++- }
++-
++- @Override
++- public Tree visitNewClass(NewClassTree node, Trees p) {
++- Tree t = super.visitNewClass(node, p);
++- // new class tree > expression statement tree > block. Does not accept anonymous classes for ctor references.
++- if (node.getClassBody() == null && singleStatementLambdaMethodBody == getCurrentPath().getParentPath().getParentPath().getLeaf()) {
++- Tree parent = getCurrentPath().getParentPath().getLeaf();
++- Element el = info.getTrees().getElement(getCurrentPath());
++- if (el == null || el.getKind() != ElementKind.CONSTRUCTOR || !el.getEnclosingElement().getKind().isClass()) {
++- return t;
++- }
++- el = el.getEnclosingElement();
++- if (parent.getKind() == Tree.Kind.EXPRESSION_STATEMENT || parent.getKind() == Tree.Kind.RETURN) {
++- ExpressionTree et = node.getEnclosingExpression();
++- if (et != null) {
++- if (el.getModifiers().contains(Modifier.STATIC) || !isMeaninglessQualifier(new TreePath(getCurrentPath().getParentPath(), et))) {
++- return t;
++- }
++- }
++- foundConstructorReferenceCandidate = true;
++- }
++- }
++- return t;
++- }
++-
++ @Override
++ public Tree visitMethodInvocation(MethodInvocationTree methodInvocationTree, Trees trees) {
++ String nameSuggestion = org.netbeans.modules.editor.java.Utilities.varNameSuggestion(methodInvocationTree.getMethodSelect());
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/jdk/ConvertToStringSwitch.java b/java.hints/src/org/netbeans/modules/java/hints/jdk/ConvertToStringSwitch.java
++index 2ee857f94..41c013ce8 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/jdk/ConvertToStringSwitch.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/jdk/ConvertToStringSwitch.java
++@@ -56,7 +56,6 @@ import java.util.Map;
++ import java.util.Set;
++ import javax.lang.model.SourceVersion;
++ import javax.lang.model.element.TypeElement;
++-import javax.lang.model.type.TypeKind;
++ import javax.lang.model.type.TypeMirror;
++ import org.netbeans.modules.java.hints.ArithmeticUtilities;
++ import org.netbeans.modules.java.hints.errors.Utilities;
++@@ -76,8 +75,7 @@ import org.openide.util.NbBundle;
++ *
++ * @author Jan Lahoda
++ */
++- at Hint(displayName = "#DN_org.netbeans.modules.java.hints.jdk.ConvertToStringSwitch", description = "#DESC_org.netbeans.modules.java.hints.jdk.ConvertToStringSwitch", category="rules15", suppressWarnings="ConvertToStringSwitch",
++- minSourceVersion = "7")
+++ at Hint(displayName = "#DN_org.netbeans.modules.java.hints.jdk.ConvertToStringSwitch", description = "#DESC_org.netbeans.modules.java.hints.jdk.ConvertToStringSwitch", category="rules15", suppressWarnings="ConvertToStringSwitch")
++ @NbBundle.Messages({
++ "# {0} - string literal value",
++ "TEXT_ChainedIfContainsSameValues=The string value `{0}'' used in String comparison appears earlier in the chained if-else-if statement. This condition never evaluates to true",
++@@ -109,7 +107,10 @@ public class ConvertToStringSwitch {
++
++ private static final String[] INIT_PATTERNS = {
++ "$c1.equals($c2)",
++- "$c1.contentEquals($c2)",
+++ "$c1.contentEquals($c2)"
+++ };
+++
+++ private static final String[] INIT_PATTERNS_EQ = {
++ "$c1 == $c2"
++ };
++
++@@ -117,14 +118,18 @@ public class ConvertToStringSwitch {
++ "$var.equals($constant)",
++ "$constant.equals($var)",
++ "$var.contentEquals($constant)",
++- "$constant.contentEquals($var)",
++- "$var == $constant",
++- "$constant == $var"
+++ "$constant.contentEquals($var)"
++ };
++
+++ private static final String[] PATTERNS_EQ = {
+++ "$var == $constant",
+++ "$constant == $var",
+++ };
+++
++ @TriggerPattern(value="if ($cond) $body; else $else;")
++ public static List<ErrorDescription> hint(final HintContext ctx) {
++- if (ctx.getPath().getParentPath().getLeaf().getKind() == Kind.IF) {
+++ if ( ctx.getPath().getParentPath().getLeaf().getKind() == Kind.IF
+++ || ctx.getInfo().getSourceVersion().compareTo(SourceVersion.RELEASE_7) < 0) {
++ return null;
++ }
++
++@@ -133,19 +138,23 @@ public class ConvertToStringSwitch {
++ if (jlString == null) {
++ return null;
++ }
++- final Collection<String> initPatterns = new ArrayList<String>(INIT_PATTERNS.length);
++- final boolean acceptEqEq = ctx.getPreferences().getBoolean(KEY_ALSO_EQ, DEF_ALSO_EQ);
+++ final Collection<String> initPatterns = new ArrayList<String>(INIT_PATTERNS.length + INIT_PATTERNS_EQ.length);
+++
++ initPatterns.addAll(Arrays.asList(INIT_PATTERNS));
++
+++ if (ctx.getPreferences().getBoolean(KEY_ALSO_EQ, DEF_ALSO_EQ)) {
+++ initPatterns.addAll(Arrays.asList(INIT_PATTERNS_EQ));
+++ }
+++
++ IfToSwitchSupport eval = new IfToSwitchSupport(ctx) {
++ private boolean [] varConst = new boolean[1];
++-
+++
++ @Override
++ protected Object evalConstant(TreePath path) {
++ TypeMirror m = ci.getTrees().getTypeMirror(path);
++- if (m.getKind() == TypeKind.NULL || ci.getTypes().asElement(m) == jlString) {
+++ if (ci.getTypes().asElement(m) == jlString) {
++ Object o = ArithmeticUtilities.compute(ci, path, true, true);
++- if (ArithmeticUtilities.isNull(o) || ArithmeticUtilities.isRealValue(o)) {
+++ if (ArithmeticUtilities.isRealValue(o)) {
++ return o;
++ }
++ }
++@@ -168,29 +177,18 @@ public class ConvertToStringSwitch {
++
++ @Override
++ protected TreePath matches(TreePath test, boolean initial) {
++- int cnt = -1;
++ for (String pat : initPatterns) {
++- cnt++;
++ if (MatcherUtilities.matches(ctx, test, pat, true)) {
++ TreePath c1 = ctx.getVariables().get("$c1");
++ TypeMirror m = ctx.getInfo().getTrees().getTypeMirror(c1);
++- boolean n = false;
++ if (!Utilities.isValidType(m) ||
++- (m.getKind() != TypeKind.NULL &&
++- ctx.getInfo().getTypes().asElement(m) != jlString)) {
+++ ctx.getInfo().getTypes().asElement(m) != jlString) {
++ continue;
++ }
++- n |= m.getKind() == TypeKind.NULL;
++ TreePath c2 = ctx.getVariables().get("$c2");
++ m = ctx.getInfo().getTrees().getTypeMirror(c2);
++ if (!Utilities.isValidType(m) ||
++- (m.getKind() != TypeKind.NULL &&
++- ctx.getInfo().getTypes().asElement(m) != jlString)) {
++- continue;
++- }
++- n |= m.getKind() == TypeKind.NULL;
++- if (cnt == 2 && !acceptEqEq && !n) {
++- // do not accept == if not explicitly permitted, and neither side is null
+++ ctx.getInfo().getTypes().asElement(m) != jlString) {
++ continue;
++ }
++ reportConstantAndLiteral(c1, c2);
++@@ -242,38 +240,26 @@ public class ConvertToStringSwitch {
++ leaf = tp.getLeaf();
++ }
++
++- Collection<String> patterns = new ArrayList<String>(PATTERNS.length);
+++ Collection<String> patterns = new ArrayList<String>(PATTERNS.length + PATTERNS_EQ.length);
++
++ patterns.addAll(Arrays.asList(PATTERNS));
++
++ ctx.getVariables().put("$var", var);
++-
++- boolean acceptEqEq = ctx.getPreferences().getBoolean(KEY_ALSO_EQ, DEF_ALSO_EQ);
+++ if (ctx.getPreferences().getBoolean(KEY_ALSO_EQ, DEF_ALSO_EQ)) {
+++ patterns.addAll(Arrays.asList(PATTERNS_EQ));
+++ }
++ int i = -1;
++- assert PATTERNS.length == 6; // the cycle counts with specific positions
+++ assert PATTERNS.length == 4; // the cycle counts with specific positions
++ for (String patt : patterns) {
++ ++i;
++ ctx.getVariables().remove("$constant"); // NOI18N
++
++ if (!MatcherUtilities.matches(ctx, tp, patt, true))
++ continue;
++- if (ctx.getVariables().get("$constant") == null ||
++- ctx.getVariables().get("$var") == null) {
++- continue;
++- }
++ if (i % 2 == 0 && i < 4) {
++ varConst[0] = true;
++ }
++- TreePath constPath = ctx.getVariables().get("$constant"); // NOI18N
++- if (i < 4 || acceptEqEq) {
++- return constPath;
++- }
++-
++- // equals is permitted when comparing with null, or option is set
++- TypeMirror constType = ctx.getInfo().getTrees().getTypeMirror(constPath);
++- if (constType != null && constType.getKind() == TypeKind.NULL) {
++- return constPath;
++- }
+++ return ctx.getVariables().get("$constant"); // NOI18N
++ }
++
++ return null;
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/jdk/IteratorToFor.java b/java.hints/src/org/netbeans/modules/java/hints/jdk/IteratorToFor.java
++index 923c2e080..c0826d6a0 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/jdk/IteratorToFor.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/jdk/IteratorToFor.java
++@@ -95,8 +95,7 @@ import org.netbeans.spi.java.hints.TriggerPattern;
++ import org.netbeans.spi.java.hints.TriggerPatterns;
++ import org.openide.util.NbBundle.Messages;
++
++- at Hint(displayName="#DN_IteratorToFor", description="#DESC_IteratorToFor", category="rules15", suppressWarnings={"", "ForLoopReplaceableByForEach", "WhileLoopReplaceableByForEach"},
++- minSourceVersion = "5")
+++ at Hint(displayName="#DN_IteratorToFor", description="#DESC_IteratorToFor", category="rules15", suppressWarnings={"", "ForLoopReplaceableByForEach", "WhileLoopReplaceableByForEach"})
++ @Messages({
++ "DN_IteratorToFor=Use JDK 5 for-loop",
++ "DESC_IteratorToFor=Replaces simple uses of Iterator with a corresponding for-loop.",
++@@ -109,6 +108,9 @@ public class IteratorToFor {
++ @TriggerPattern(value = "java.util.Iterator $it = $coll.iterator(); while ($it.hasNext()) {$type $elem = ($type) $it.next(); $rest$;}",
++ constraints = @ConstraintVariableType(variable = "$coll", type = "java.lang.Iterable"))
++ public static ErrorDescription whileIdiom(HintContext ctx) {
+++ if (ctx.getInfo().getSourceVersion().compareTo(SourceVersion.RELEASE_5) < 0) {
+++ return null;
+++ }
++ if (uses(ctx, ctx.getMultiVariables().get("$rest$"), ctx.getVariables().get("$it"))) {
++ return null;
++ }
++@@ -133,6 +135,9 @@ public class IteratorToFor {
++ constraints = @ConstraintVariableType(variable = "$coll", type = "java.lang.Iterable"))
++ })
++ public static ErrorDescription forIdiom(HintContext ctx) {
+++ if (ctx.getInfo().getSourceVersion().compareTo(SourceVersion.RELEASE_5) < 0) {
+++ return null;
+++ }
++ if (uses(ctx, ctx.getMultiVariables().get("$rest$"), ctx.getVariables().get("$it"))) {
++ return null;
++ }
++@@ -208,6 +213,9 @@ public class IteratorToFor {
++
++ @TriggerPattern(value = "for (int $index = 0; $index < $col.size(); $index++) $statement;", constraints = @ConstraintVariableType(variable = "$col", type = "java.util.List"))
++ public static ErrorDescription forListCollection(final HintContext ctx) {
+++ if (ctx.getInfo().getSourceVersion().compareTo(SourceVersion.RELEASE_5) < 0) {
+++ return null;
+++ }
++ final boolean implicitThis = !ctx.getVariableNames().containsKey("$col"); // NOI18N
++ AccessAndVarVisitor v = new AccessAndVarVisitor(ctx) {
++ @Override public Void visitMethodInvocation(MethodInvocationTree node, Void p) {
++@@ -257,6 +265,9 @@ public class IteratorToFor {
++
++ @TriggerPattern(value="for (int $index = 0; $index < $arr.length; $index++) $statement;", constraints=@ConstraintVariableType(variable="$arr", type="Object[]"))
++ public static ErrorDescription forIndexedArray(final HintContext ctx) {
+++ if (ctx.getInfo().getSourceVersion().compareTo(SourceVersion.RELEASE_5) < 0) {
+++ return null;
+++ }
++ AccessAndVarVisitor v = new AccessAndVarVisitor(ctx) {
++ @Override public Void visitArrayAccess(ArrayAccessTree node, Void p) {
++ TreePath path = getCurrentPath();
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/jdk/JoinCatches.java b/java.hints/src/org/netbeans/modules/java/hints/jdk/JoinCatches.java
++index 75d285efd..027d563fe 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/jdk/JoinCatches.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/jdk/JoinCatches.java
++@@ -58,12 +58,12 @@ import java.util.LinkedList;
++ import java.util.List;
++ import java.util.Map;
++ import java.util.concurrent.atomic.AtomicBoolean;
+++import javax.lang.model.SourceVersion;
++ import javax.lang.model.element.VariableElement;
++ import javax.lang.model.type.TypeKind;
++ import javax.lang.model.type.TypeMirror;
++ import javax.lang.model.type.UnionType;
++ import org.netbeans.api.java.source.CompilationInfo;
++-import org.netbeans.api.java.source.TypeMirrorHandle;
++ import org.netbeans.api.java.source.WorkingCopy;
++ import org.netbeans.api.java.source.matching.Matcher;
++ import org.netbeans.api.java.source.matching.Pattern;
++@@ -74,25 +74,16 @@ import org.netbeans.spi.java.hints.HintContext;
++ import org.netbeans.spi.java.hints.JavaFix;
++ import org.netbeans.spi.java.hints.ErrorDescriptionFactory;
++ import org.netbeans.spi.editor.hints.ErrorDescription;
+++import org.netbeans.spi.java.hints.JavaFixUtilities;
++ import org.netbeans.api.java.source.matching.Occurrence;
++ import org.netbeans.modules.java.hints.errors.Utilities;
++ import org.openide.util.NbBundle;
++
++ /**
++- * Joins several catch branches into a multicatch.
++- * Functional note: if types from two branches are releated by subclassing, entire catches are now excluded from the join. This may seem strange in a case
++- * when the excluded catch clause is a multicatch already, and only one (or not all) caught types are subtypes or supertypes of other catch branch.
++- * <p/>
++- * Implementing the hierarchy exclusion precisely would mean to rewrite individual catch clauses, remove types, which are OK to join and leave the rest. Even
++- * more sophisticated solution is to identify groups of handlers, with identical code, collect their types and make joins.
++- * <p/>
++- * When working with types, it is important to use not TypeMirrors to generate new declarations, but to use original Trees (TreePathHandles) so that comments
++- * possibly made in between the types are preserved.
++- *
+++ *
++ * @author lahvac
++ */
++- at Hint(displayName = "#DN_org.netbeans.modules.java.hints.jdk.JoinCatches", description = "#DESC_org.netbeans.modules.java.hints.jdk.JoinCatches", category="rules15",
++- minSourceVersion = "7")
+++ at Hint(displayName = "#DN_org.netbeans.modules.java.hints.jdk.JoinCatches", description = "#DESC_org.netbeans.modules.java.hints.jdk.JoinCatches", category="rules15")
++ public class JoinCatches {
++
++ @TriggerPatterns({
++@@ -110,6 +101,8 @@ public class JoinCatches {
++ )
++ })
++ public static ErrorDescription hint(HintContext ctx) {
+++ if (ctx.getInfo().getSourceVersion().compareTo(SourceVersion.RELEASE_7) < 0) return null;
+++
++ TryTree tt = (TryTree) ctx.getPath().getLeaf();
++
++ List<? extends CatchTree> catches = new ArrayList<CatchTree>(tt.getCatches());
++@@ -128,20 +121,11 @@ public class JoinCatches {
++ Map<TypeMirror, Integer> duplicates = new LinkedHashMap<TypeMirror, Integer>();
++
++ duplicates.put(mainVarType, i);
+++
++ for (int j = i + 1; j < catches.size(); j++) {
++ Pattern pattern = Pattern.createPatternWithRemappableVariables(new TreePath(toTestPath, toTest.getBlock()), Collections.singleton(excVar), false);
++- Iterable<? extends Occurrence> found =
++- Matcher.create(ctx.getInfo()).
++- setCancel(new AtomicBoolean()).
++- setPresetVariable(ctx.getVariables(), ctx.getMultiVariables(), ctx.getVariableNames()).
++- setSearchRoot(
++- new TreePath(
++- new TreePath(ctx.getPath(), catches.get(j)),
++- ((CatchTree)catches.get(j)).getBlock()
++- )).
++- setTreeTopSearch().
++- match(pattern);
++-
+++ Iterable<? extends Occurrence> found = Matcher.create(ctx.getInfo()).setCancel(new AtomicBoolean()).setPresetVariable(ctx.getVariables(), ctx.getMultiVariables(), ctx.getVariableNames()).setSearchRoot(new TreePath(new TreePath(ctx.getPath(), catches.get(j)), ((CatchTree)catches.get(j)).getBlock())).setTreeTopSearch().match(pattern);
+++
++ if (found.iterator().hasNext()) {
++ TreePath catchPath = new TreePath(ctx.getPath(), catches.get(j));
++ TreePath var = new TreePath(catchPath, ((CatchTree)catches.get(j)).getParameter());
++@@ -152,22 +136,13 @@ public class JoinCatches {
++ statements.add(new TreePath(blockPath, t));
++ }
++
++- if (UseSpecificCatch.assignsTo(ctx, var, statements)) {
++- continue;
++- }
++-
++ TypeMirror varType = ctx.getInfo().getTrees().getTypeMirror(var);
++
++ if (!Utilities.isValidType(varType)) continue;
++
++- boolean process = true;
++- List<TypeMirror> varTypes = new ArrayList<>();
++- if (varType.getKind() == TypeKind.UNION) {
++- varTypes.addAll(((UnionType) varType).getAlternatives());
++- } else {
++- varTypes.add(varType);
++- }
++- DUP: for (Iterator<TypeMirror> it = duplicates.keySet().iterator(); it.hasNext();) {
+++ boolean subtype = false;
+++
+++ for (Iterator<TypeMirror> it = duplicates.keySet().iterator(); it.hasNext();) {
++ TypeMirror existingType = it.next();
++ Iterable<? extends TypeMirror> caughtList;
++
++@@ -177,29 +152,16 @@ public class JoinCatches {
++ caughtList = Collections.singletonList(existingType);
++ }
++
++- for (Iterator<TypeMirror> vtI = varTypes.iterator(); vtI.hasNext(); ) {
++- TypeMirror vt = vtI.next();
++- for (TypeMirror caught : caughtList) {
++- if (ctx.getInfo().getTypes().isSubtype(caught, vt)) {
++- // the subtype cannot be added into the union, supertype will be used.
++- Integer index = duplicates.get(existingType);
++- // if the broader catch would move BEFORE the more specific one,
++- // discard it.
++- if (index != null) {
++- it.remove();
++- process &= index > findMin(duplicates.values());
++- }
++- } else if (ctx.getInfo().getTypes().isSubtype(vt, caught)) {
++- // should be an error, but must be handled gracefully
++- process = false;
++- }
++- }
++- if (!process) {
++- break DUP;
+++ for (TypeMirror caught : caughtList) {
+++ if (ctx.getInfo().getTypes().isSubtype(caught, varType)) {
+++ subtype = true;
+++ it.remove();
+++ break;
++ }
++ }
++ }
++- if (process && !varTypes.isEmpty()) {
+++
+++ if (!subtype && !UseSpecificCatch.assignsTo(ctx, var, statements)) {
++ duplicates.put(varType, j);
++ }
++ }
++@@ -207,39 +169,21 @@ public class JoinCatches {
++
++ if (duplicates.size() >= 2) {
++ String displayName = NbBundle.getMessage(JoinCatches.class, "ERR_JoinCatches");
++- List<TypeMirrorHandle> types = new ArrayList<>();
++- for (TypeMirror t : duplicates.keySet()) {
++- types.add(TypeMirrorHandle.create(t));
++- }
++- return ErrorDescriptionFactory.forName(ctx, toTest.getParameter().getType(), displayName,
++- new FixImpl(ctx.getInfo(), ctx.getPath(),
++- new ArrayList<Integer>(duplicates.values()),
++- types).toEditorFix());
+++
+++ return ErrorDescriptionFactory.forName(ctx, toTest.getParameter().getType(), displayName, new FixImpl(ctx.getInfo(), ctx.getPath(), Collections.unmodifiableList(new ArrayList<Integer>(duplicates.values()))).toEditorFix());
++ }
++ }
++
++ return null;
++ }
++-
++- private static int findMin(Collection<Integer> x) {
++- int m = Integer.MAX_VALUE;
++- for (int i : x) {
++- if (i < m) {
++- m = i;
++- }
++- }
++- return m;
++- }
++
++ private static final class FixImpl extends JavaFix {
++
++ private final List<Integer> duplicates;
++- private final List<TypeMirrorHandle> typeHandles;
++
++- public FixImpl(CompilationInfo info, TreePath tryStatement, List<Integer> duplicates, List<TypeMirrorHandle> types) {
+++ public FixImpl(CompilationInfo info, TreePath tryStatement, List<Integer> duplicates) {
++ super(info, tryStatement);
++ this.duplicates = duplicates;
++- this.typeHandles = types;
++ }
++
++ @Override
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/jdk/UnnecessaryBoxing.java b/java.hints/src/org/netbeans/modules/java/hints/jdk/UnnecessaryBoxing.java
++index 9c4a9a081..abb72b101 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/jdk/UnnecessaryBoxing.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/jdk/UnnecessaryBoxing.java
++@@ -1,44 +1,6 @@
++-/*
++- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++- *
++- * Copyright 2013 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
++- *
++- * The contents of this file are subject to the terms of either the GNU
++- * General Public License Version 2 only ("GPL") or the Common
++- * Development and Distribution License("CDDL") (collectively, the
++- * "License"). You may not use this file except in compliance with the
++- * License. You can obtain a copy of the License at
++- * http://www.netbeans.org/cddl-gplv2.html
++- * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++- * specific language governing permissions and limitations under the
++- * License. When distributing the software, include this License Header
++- * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
++- * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
++- * accompanied this code. If applicable, add the following below the
++- * License Header, with the fields enclosed by brackets [] replaced by
++- * your own identifying information:
++- * "Portions Copyrighted [year] [name of copyright owner]"
++- *
++- * If you wish your version of this file to be governed by only the CDDL
++- * or only the GPL Version 2, indicate your decision by adding
++- * "[Contributor] elects to include this software in this distribution
++- * under the [CDDL or GPL Version 2] license." If you do not indicate a
++- * single choice of license, a recipient has the option to distribute
++- * your version of this file under either the CDDL, the GPL Version 2 or
++- * to extend the choice of license to its licensees as provided above.
++- * However, if you add GPL Version 2 code and therefore, elected the GPL
++- * Version 2 license, then the option applies only if the new code is
++- * made subject to such option by the copyright holder.
++- *
++- * Contributor(s):
++- */
++ package org.netbeans.modules.java.hints.jdk;
++
+++
++ import com.sun.source.tree.AssignmentTree;
++ import com.sun.source.tree.BinaryTree;
++ import com.sun.source.tree.CompoundAssignmentTree;
++@@ -87,6 +49,48 @@ import org.netbeans.spi.java.hints.TriggerPatterns;
++ import org.netbeans.spi.java.hints.UseOptions;
++ import org.openide.util.NbBundle;
++
+++/*
+++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+++ *
+++ * Copyright 2013 Oracle and/or its affiliates. All rights reserved.
+++ *
+++ * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
+++ * Other names may be trademarks of their respective owners.
+++ *
+++ * The contents of this file are subject to the terms of either the GNU
+++ * General Public License Version 2 only ("GPL") or the Common
+++ * Development and Distribution License("CDDL") (collectively, the
+++ * "License"). You may not use this file except in compliance with the
+++ * License. You can obtain a copy of the License at
+++ * http://www.netbeans.org/cddl-gplv2.html
+++ * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
+++ * specific language governing permissions and limitations under the
+++ * License. When distributing the software, include this License Header
+++ * Notice in each file and include the License file at
+++ * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
+++ * particular file as subject to the "Classpath" exception as provided
+++ * by Oracle in the GPL Version 2 section of the License file that
+++ * accompanied this code. If applicable, add the following below the
+++ * License Header, with the fields enclosed by brackets [] replaced by
+++ * your own identifying information:
+++ * "Portions Copyrighted [year] [name of copyright owner]"
+++ *
+++ * If you wish your version of this file to be governed by only the CDDL
+++ * or only the GPL Version 2, indicate your decision by adding
+++ * "[Contributor] elects to include this software in this distribution
+++ * under the [CDDL or GPL Version 2] license." If you do not indicate a
+++ * single choice of license, a recipient has the option to distribute
+++ * your version of this file under either the CDDL, the GPL Version 2 or
+++ * to extend the choice of license to its licensees as provided above.
+++ * However, if you add GPL Version 2 code and therefore, elected the GPL
+++ * Version 2 license, then the option applies only if the new code is
+++ * made subject to such option by the copyright holder.
+++ *
+++ * Contributor(s):
+++ *
+++ * Portions Copyrighted 2013 Sun Microsystems, Inc.
+++ */
+++
++ /**
++ * Inspects boxing operations. Most of them are unnecessary under JDK5+. Whether a node can be left unboxed
++ * depends mainly on the containing expressions:
++@@ -140,12 +144,14 @@ public class UnnecessaryBoxing {
++ description = "#DESC_UnnecessaryBoxing",
++ category = "rules15",
++ enabled = true,
++- suppressWarnings = "UnnecessaryBoxing",
++- minSourceVersion = "5"
+++ suppressWarnings = "UnnecessaryBoxing"
++ )
++ @UseOptions(PREFER_CAST_TO_BOXING)
++ public static ErrorDescription run(HintContext ctx) {
++ CompilationInfo ci = ctx.getInfo();
+++ if (ci.getSourceVersion().compareTo(SourceVersion.RELEASE_5) < 0) {
+++ return null;
+++ }
++ TreePath p = ctx.getPath();
++
++ TreePath vp = ctx.getVariables().get("$v"); // NOI18N
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/jdk/UnnecessaryUnboxing.java b/java.hints/src/org/netbeans/modules/java/hints/jdk/UnnecessaryUnboxing.java
++index e403aef85..4372f31c5 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/jdk/UnnecessaryUnboxing.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/jdk/UnnecessaryUnboxing.java
++@@ -1,3 +1,27 @@
+++package org.netbeans.modules.java.hints.jdk;
+++
+++import com.sun.source.tree.BinaryTree;
+++import com.sun.source.tree.ConditionalExpressionTree;
+++import com.sun.source.tree.MemberSelectTree;
+++import com.sun.source.tree.MethodInvocationTree;
+++import com.sun.source.tree.ParenthesizedTree;
+++import com.sun.source.tree.Tree;
+++import com.sun.source.tree.TypeCastTree;
+++import com.sun.source.util.TreePath;
+++import javax.lang.model.SourceVersion;
+++import javax.lang.model.type.TypeMirror;
+++import org.netbeans.api.java.source.CompilationInfo;
+++import org.netbeans.modules.java.hints.errors.Utilities;
+++import org.netbeans.spi.editor.hints.ErrorDescription;
+++import org.netbeans.spi.java.hints.ConstraintVariableType;
+++import org.netbeans.spi.java.hints.ErrorDescriptionFactory;
+++import org.netbeans.spi.java.hints.Hint;
+++import org.netbeans.spi.java.hints.HintContext;
+++import org.netbeans.spi.java.hints.JavaFixUtilities;
+++import org.netbeans.spi.java.hints.TriggerPattern;
+++import org.netbeans.spi.java.hints.TriggerPatterns;
+++import org.openide.util.NbBundle;
+++
++ /*
++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++ *
++@@ -39,29 +63,6 @@
++ *
++ * Portions Copyrighted 2013 Sun Microsystems, Inc.
++ */
++-package org.netbeans.modules.java.hints.jdk;
++-
++-import com.sun.source.tree.BinaryTree;
++-import com.sun.source.tree.ConditionalExpressionTree;
++-import com.sun.source.tree.MemberSelectTree;
++-import com.sun.source.tree.MethodInvocationTree;
++-import com.sun.source.tree.ParenthesizedTree;
++-import com.sun.source.tree.Tree;
++-import com.sun.source.tree.TypeCastTree;
++-import com.sun.source.util.TreePath;
++-import javax.lang.model.SourceVersion;
++-import javax.lang.model.type.TypeMirror;
++-import org.netbeans.api.java.source.CompilationInfo;
++-import org.netbeans.modules.java.hints.errors.Utilities;
++-import org.netbeans.spi.editor.hints.ErrorDescription;
++-import org.netbeans.spi.java.hints.ConstraintVariableType;
++-import org.netbeans.spi.java.hints.ErrorDescriptionFactory;
++-import org.netbeans.spi.java.hints.Hint;
++-import org.netbeans.spi.java.hints.HintContext;
++-import org.netbeans.spi.java.hints.JavaFixUtilities;
++-import org.netbeans.spi.java.hints.TriggerPattern;
++-import org.netbeans.spi.java.hints.TriggerPatterns;
++-import org.openide.util.NbBundle;
++
++ /**
++ *
++@@ -77,8 +78,7 @@ import org.openide.util.NbBundle;
++ displayName = "#DN_UnnecessaryUnboxing",
++ description = "#DESC_UnnecessaryUnboxing",
++ enabled = true,
++- suppressWarnings = "UnnecessaryUnboxing",
++- minSourceVersion = "5"
+++ suppressWarnings = "UnnecessaryUnboxing"
++
++ )
++ public class UnnecessaryUnboxing {
++@@ -95,7 +95,7 @@ public class UnnecessaryUnboxing {
++ })
++ public static ErrorDescription run(HintContext ctx) {
++ CompilationInfo ci = ctx.getInfo();
++- if (ctx.getPath().getLeaf().getKind() != Tree.Kind.METHOD_INVOCATION) {
+++ if (ci.getSourceVersion().compareTo(SourceVersion.RELEASE_5) < 0 || ctx.getPath().getLeaf().getKind() != Tree.Kind.METHOD_INVOCATION) {
++ return null;
++ }
++ MethodInvocationTree mit = (MethodInvocationTree)ctx.getPath().getLeaf();
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/jdk/UseSpecificCatch.java b/java.hints/src/org/netbeans/modules/java/hints/jdk/UseSpecificCatch.java
++index 9fdbc09e2..caf200705 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/jdk/UseSpecificCatch.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/jdk/UseSpecificCatch.java
++@@ -49,20 +49,13 @@ import com.sun.source.tree.TryTree;
++ import com.sun.source.tree.VariableTree;
++ import com.sun.source.util.TreePath;
++ import com.sun.source.util.TreePathScanner;
++-import java.util.ArrayDeque;
++ import java.util.ArrayList;
++-import java.util.Arrays;
++ import java.util.Collection;
++ import java.util.Collections;
++-import java.util.Comparator;
++-import java.util.HashMap;
++-import java.util.HashSet;
++ import java.util.LinkedHashSet;
++ import java.util.LinkedList;
++ import java.util.List;
++-import java.util.Map;
++ import java.util.Map.Entry;
++-import java.util.Queue;
++ import java.util.Set;
++ import java.util.StringTokenizer;
++ import java.util.prefs.Preferences;
++@@ -73,11 +66,8 @@ import javax.lang.model.element.Element;
++ import javax.lang.model.element.ElementKind;
++ import javax.lang.model.element.ExecutableElement;
++ import javax.lang.model.element.TypeElement;
++-import javax.lang.model.type.DeclaredType;
++-import javax.lang.model.type.IntersectionType;
++ import javax.lang.model.type.TypeKind;
++ import javax.lang.model.type.TypeMirror;
++-import javax.lang.model.type.TypeVariable;
++ import javax.swing.JComponent;
++ import org.netbeans.api.java.source.CompilationInfo;
++ import org.netbeans.api.java.source.GeneratorUtilities;
++@@ -92,7 +82,6 @@ import org.netbeans.spi.java.hints.HintContext;
++ import org.netbeans.spi.java.hints.JavaFix;
++ import org.netbeans.spi.java.hints.ErrorDescriptionFactory;
++ import org.netbeans.spi.editor.hints.ErrorDescription;
++-import org.netbeans.spi.editor.hints.Fix;
++ import org.netbeans.spi.java.hints.CustomizerProvider;
++ import org.openide.util.NbBundle;
++ import org.openide.util.NbCollections;
++@@ -123,56 +112,10 @@ public class UseSpecificCatch implements CustomizerProvider {
++ if (ctx.getPath().getLeaf().getKind() != Tree.Kind.TRY) {
++ return null;
++ }
++- TypeElement throwableEl = ctx.getInfo().getElements().getTypeElement("java.lang.Throwable");
++- if (throwableEl == null) {
++- return null;
++- }
++- TypeMirror throwableType = throwableEl.asType();
++ TryTree tt = (TryTree) ctx.getPath().getLeaf();
++- Queue<TypeMirror> process = new ArrayDeque<>(ctx.getInfo().getTreeUtilities().getUncaughtExceptions(new TreePath(ctx.getPath(), tt.getBlock())));
++- Map<String, TypeMirror> declExceptions = new HashMap<>(process.size());
++-
++- while (!process.isEmpty()) {
++- TypeMirror e = process.poll();
++- switch (e.getKind()) {
++- case INTERSECTION: {
++- IntersectionType itt = (IntersectionType)e;
++- for (TypeMirror t : itt.getBounds()) {
++- if (ctx.getInfo().getTypes().isAssignable(t, throwableType)) {
++- process.add(t);
++- break;
++- }
++- }
++- }
++- break;
++-
++- case TYPEVAR: {
++- TypeVariable tv = (TypeVariable)e;
++- if (tv.getUpperBound() != null) {
++- process.offer(tv.getUpperBound());
++- }
++- if (tv.getLowerBound() != null) {
++- process.offer(tv.getLowerBound());
++- }
++- break;
++- }
++-
++- case DECLARED:
++- DeclaredType decl = (DeclaredType)e;
++- Element el = decl.asElement();
++- if (el.getKind() == ElementKind.CLASS) {
++- declExceptions.putIfAbsent(((TypeElement)el).getQualifiedName().toString(), decl);
++- }
++- break;
++- }
++- }
++- // sort declExceptions to get consistent behaviour
++- List<String> fqns = new ArrayList<>(declExceptions.keySet());
++- fqns.sort(null);
++- List<TypeMirror> exceptions = new ArrayList<>(declExceptions.size());
++- for (String s : fqns) {
++- exceptions.add(declExceptions.get(s));
++- }
+++ Set<TypeMirror> exceptions = ctx.getInfo().getTreeUtilities().getUncaughtExceptions(new TreePath(ctx.getPath(), tt.getBlock()));
+++
+++ if (exceptions.size() <= 1) return null; //was catching the generic exception intentional?
++
++ StringTokenizer tukac = new StringTokenizer(
++ ctx.getPreferences().get(OPTION_EXCEPTION_LIST, DEFAULT_EXCEPTION_LIST), ", " // NOI18N
++@@ -225,46 +168,28 @@ public class UseSpecificCatch implements CustomizerProvider {
++ }
++ }
++ Set<TypeMirrorHandle<TypeMirror>> exceptionHandles = new LinkedHashSet<TypeMirrorHandle<TypeMirror>>();
++- TypeMirror single = null;
++ for (TypeMirror tm : exceptions) {
++ if (ctx.getInfo().getTypes().isSubtype(tm, t)) {
++- single = tm;
++ exceptionHandles.add(TypeMirrorHandle.create(tm));
++ }
++ }
++ boolean source17 = ctx.getInfo().getSourceVersion().compareTo(SourceVersion.RELEASE_7) >= 0;
++- Fix f;
++-
++- if (!exceptionHandles.isEmpty()) {
++- if (exceptionHandles.size() > 1) {
++- if (source17) {
++- f = new FixImpl(ctx.getInfo(),
++- p,
++- exceptionHandles
++- ).toEditorFix();
++- } else {
++- f = new SplitExceptionInCatches(
++- ctx.getInfo(),
++- p,
++- exceptionHandles,
++- null
++- ).toEditorFix();
++- }
++- } else {
++- f = new SplitExceptionInCatches(
++- ctx.getInfo(),
++- p,
++- exceptionHandles,
++- ctx.getInfo().getTypeUtilities().getTypeName(single).toString()
++- ).toEditorFix();
++- }
++- descs.add(ErrorDescriptionFactory.forName(
++- ctx,
++- kec.getParameter().getType(),
++- displayName,
++- f
++- ));
++- }
+++ descs.add(ErrorDescriptionFactory.forName(
+++ ctx,
+++ kec.getParameter().getType(),
+++ displayName,
+++ source17 ?
+++ new FixImpl(ctx.getInfo(),
+++ p,
+++ exceptionHandles
+++ ).toEditorFix()
+++ :
+++ new SplitExceptionInCatches(
+++ ctx.getInfo(),
+++ p,
+++ exceptionHandles
+++ ).toEditorFix()
+++ ));
++ }
++ }
++ return descs;
++@@ -344,20 +269,15 @@ public class UseSpecificCatch implements CustomizerProvider {
++ */
++ public static class SplitExceptionInCatches extends JavaFix {
++ private Collection<TypeMirrorHandle<TypeMirror>> newTypes;
++- private final String singleName;
++
++- public SplitExceptionInCatches(CompilationInfo info, TreePath tp, Collection<TypeMirrorHandle<TypeMirror>> newTypes, String singleName) {
+++ public SplitExceptionInCatches(CompilationInfo info, TreePath tp, Collection<TypeMirrorHandle<TypeMirror>> newTypes) {
++ super(info, tp);
++ this.newTypes = newTypes;
++- this.singleName = singleName;
++ }
++
++ @Override
++ protected String getText() {
++- return NbBundle.getMessage(UseSpecificCatch.class,
++- singleName != null ?
++- "FIX_UseSpecificCatchSingle" :
++- "FIX_UseSpecificCatchSplit", singleName); // NOI18N
+++ return NbBundle.getMessage(UseSpecificCatch.class, "FIX_UseSpecificCatchSplit"); // NOI18N
++ }
++
++ @Override
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/jdk/mapreduce/ForLoopToFunctionalHint.java b/java.hints/src/org/netbeans/modules/java/hints/jdk/mapreduce/ForLoopToFunctionalHint.java
++index 70be2f033..1ce50d60d 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/jdk/mapreduce/ForLoopToFunctionalHint.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/jdk/mapreduce/ForLoopToFunctionalHint.java
++@@ -35,11 +35,9 @@
++ * Version 2 license, then the option applies only if the new code is
++ * made subject to such option by the copyright holder.
++ *
++- *
++- * Portions Copyrighted 2012-2013 Sun Microsystems, Inc.
++- */
++-/*
++ * Contributor(s): Alexandru Gyori <Alexandru.Gyori at gmail.com>
+++ *
+++ * Portions Copyrighted 2012-2013 Sun Microsystems, Inc.
++ */
++ package org.netbeans.modules.java.hints.jdk.mapreduce;
++
++@@ -59,8 +57,7 @@ import org.netbeans.spi.java.hints.JavaFix;
++ import org.netbeans.spi.java.hints.TriggerTreeKind;
++ import org.openide.util.NbBundle.Messages;
++
++- at Hint(displayName = "#DN_ForLoopToFunctionalHint", description = "#DESC_ForLoopToFunctionalHint", category = "general",
++- minSourceVersion = "8")
+++ at Hint(displayName = "#DN_ForLoopToFunctionalHint", description = "#DESC_ForLoopToFunctionalHint", category = "general")
++ @Messages({
++ "DN_ForLoopToFunctionalHint=Use Functional Operations",
++ "DESC_ForLoopToFunctionalHint=Use functional operations instead of imperative style loop."
++@@ -72,6 +69,7 @@ public class ForLoopToFunctionalHint {
++ @TriggerTreeKind(Tree.Kind.ENHANCED_FOR_LOOP)
++ @Messages("ERR_ForLoopToFunctionalHint=Can use functional operations")
++ public static ErrorDescription computeWarning(HintContext ctx) {
+++ if (ctx.getInfo().getSourceVersion().compareTo(SourceVersion.RELEASE_8) < 0) return null;
++ if (ctx.getInfo().getElements().getTypeElement("java.util.stream.Streams") == null && !DISABLE_CHECK_FOR_STREAM) return null;
++
++ PreconditionsChecker pc = new PreconditionsChecker(ctx.getPath().getLeaf(), ctx.getInfo());
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/jdk/mapreduce/PreconditionsChecker.java b/java.hints/src/org/netbeans/modules/java/hints/jdk/mapreduce/PreconditionsChecker.java
++index 5a4d2b918..649252783 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/jdk/mapreduce/PreconditionsChecker.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/jdk/mapreduce/PreconditionsChecker.java
++@@ -35,11 +35,9 @@
++ * Version 2 license, then the option applies only if the new code is
++ * made subject to such option by the copyright holder.
++ *
++- *
++- * Portions Copyrighted 2012-2013 Sun Microsystems, Inc.
++- */
++-/*
++ * Contributor(s): Alexandru Gyori <Alexandru.Gyori at gmail.com>
+++ *
+++ * Portions Copyrighted 2012-2013 Sun Microsystems, Inc.
++ */
++ package org.netbeans.modules.java.hints.jdk.mapreduce;
++
++@@ -92,8 +90,8 @@ public class PreconditionsChecker {
++ if (forLoop.getKind() == Tree.Kind.ENHANCED_FOR_LOOP) {
++ this.isForLoop = true;
++ this.workingCopy = workingCopy;
++- this.hasUncaughtException = workingCopy.getTreeUtilities()
++- .getUncaughtExceptions(TreePath.getPath(workingCopy.getCompilationUnit(), forLoop)).stream().anyMatch(this::filterCheckedExceptions);
+++ this.hasUncaughtException = !workingCopy.getTreeUtilities()
+++ .getUncaughtExceptions(TreePath.getPath(workingCopy.getCompilationUnit(), forLoop)).isEmpty();
++ this.innerVariables = this.getInnerVariables(forLoop, workingCopy.getTrees());
++ this.visitor = new ForLoopTreeVisitor(this.innerVariables, workingCopy, new TreePath(workingCopy.getCompilationUnit()), (EnhancedForLoopTree) forLoop);
++ this.isIterable = this.isIterbale(((EnhancedForLoopTree) forLoop).getExpression());
++@@ -228,10 +226,13 @@ public class PreconditionsChecker {
++ public Set<Name> getAllLocalVariablesUsed() {
++ return this.allLocalVariables;
++ }
+++ private HashMap<Name, TypeMirror> varToType = new HashMap<Name, TypeMirror>();
+++
++ @Override
++ public Tree visitVariable(VariableTree that, Trees trees) {
++ this.innerVariables.add(that.getName());
++ this.allLocalVariables.add(that.getName());
+++ this.varToType.put(that.getName(), trees.getTypeMirror(TreePath.getPath(treePath, that.getType())));
++ return super.visitVariable(that, trees);
++ }
++
++@@ -431,16 +432,4 @@ public class PreconditionsChecker {
++ }
++ }
++ };
++-
++- private boolean filterCheckedExceptions(TypeMirror ex) {
++- TypeElement el = workingCopy.getElements().getTypeElement("java.lang.RuntimeException"); // NOI18N
++- if (el == null) {
++- return true;
++- }
++- if (workingCopy.getTypes().isSubtype(ex, el.asType())) {
++- return false;
++- }
++- el = workingCopy.getElements().getTypeElement("java.lang.Error"); // NOI18N
++- return el == null || !workingCopy.getTypes().isSubtype(ex, el.asType());
++- }
++ }
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/jdk/mapreduce/ProspectiveOperation.java b/java.hints/src/org/netbeans/modules/java/hints/jdk/mapreduce/ProspectiveOperation.java
++index c54520655..a11204d4d 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/jdk/mapreduce/ProspectiveOperation.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/jdk/mapreduce/ProspectiveOperation.java
++@@ -35,11 +35,9 @@
++ * Version 2 license, then the option applies only if the new code is
++ * made subject to such option by the copyright holder.
++ *
++- *
++- * Portions Copyrighted 2012-2013 Sun Microsystems, Inc.
++- */
++-/*
++ * Contributor(s): Alexandru Gyori <Alexandru.Gyori at gmail.com>
+++ *
+++ * Portions Copyrighted 2012-2013 Sun Microsystems, Inc.
++ */
++ package org.netbeans.modules.java.hints.jdk.mapreduce;
++
++@@ -526,7 +524,7 @@ import org.netbeans.api.java.source.WorkingCopy;
++
++ String getSuitableMethod() {
++ if (this.opType == OperationType.FOREACH) {
++- return "forEachOrdered";
+++ return "forEach";
++ } else if (this.opType == OperationType.MAP) {
++ return "map";
++ } else if (this.opType == OperationType.FILTER) {
++@@ -668,8 +666,4 @@ import org.netbeans.api.java.source.WorkingCopy;
++ }
++ return available.containsAll(needed);
++ }
++-
++- public boolean isForeach() {
++- return opType == OperationType.FOREACH;
++- }
++-}
+++}
++\ No newline at end of file
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/jdk/mapreduce/Refactorer.java b/java.hints/src/org/netbeans/modules/java/hints/jdk/mapreduce/Refactorer.java
++index bae38533b..4bf99fa67 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/jdk/mapreduce/Refactorer.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/jdk/mapreduce/Refactorer.java
++@@ -35,11 +35,9 @@
++ * Version 2 license, then the option applies only if the new code is
++ * made subject to such option by the copyright holder.
++ *
++- *
++- * Portions Copyrighted 2012-2013 Sun Microsystems, Inc.
++- */
++-/*
++ * Contributor(s): Alexandru Gyori <Alexandru.Gyori at gmail.com>
+++ *
+++ * Portions Copyrighted 2012-2013 Sun Microsystems, Inc.
++ */
++ package org.netbeans.modules.java.hints.jdk.mapreduce;
++
++@@ -53,12 +51,8 @@ import com.sun.source.tree.ReturnTree;
++ import com.sun.source.tree.StatementTree;
++ import com.sun.source.tree.Tree;
++ import com.sun.source.tree.VariableTree;
++-import com.sun.source.util.TreePath;
++ import java.util.ArrayList;
++ import java.util.List;
++-import javax.lang.model.element.TypeElement;
++-import javax.lang.model.type.TypeMirror;
++-import javax.lang.model.util.Types;
++ import org.netbeans.api.java.source.TreeMaker;
++ import org.netbeans.api.java.source.WorkingCopy;
++
++@@ -90,7 +84,6 @@ public class Refactorer {
++ private WorkingCopy workingCopy;
++ private TreeMaker treeMaker;
++ private PreconditionsChecker preconditionsChecker;
++- private boolean hasIterable;
++
++ public Refactorer( EnhancedForLoopTree loop, WorkingCopy workingCopy, PreconditionsChecker scanner) {
++ this.loop = loop;
++@@ -101,7 +94,7 @@ public class Refactorer {
++ List<ProspectiveOperation> prospectives;
++
++ public Boolean isRefactorable() {
++- prospectives = this.getListRepresentation(loop.getStatement(), true);
+++ prospectives = this.getListRepresentation(loop.getStatement());
++ if (prospectives != null && !prospectives.isEmpty()) {
++ prospectives.get(prospectives.size() - 1).eagerize();
++ if (this.untrasformable) {
++@@ -112,19 +105,6 @@ public class Refactorer {
++ return false;
++ }
++ }
++- hasIterable = false;
++- VariableTree var = loop.getVariable();
++- TypeElement el = workingCopy.getElements().getTypeElement("java.lang.Iterable"); // NOI18N
++- if (el != null) {
++- TreePath path = TreePath.getPath(workingCopy.getCompilationUnit(), loop.getExpression());
++- TypeMirror m = workingCopy.getTrees().getTypeMirror(path);
++- Types types = workingCopy.getTypes();
++- hasIterable =
++- types.isSubtype(
++- types.erasure(m),
++- types.erasure(el.asType())
++- );
++- }
++ prospectives = ProspectiveOperation.mergeIntoComposableOperations(prospectives);
++ return prospectives != null;
++
++@@ -164,12 +144,12 @@ public class Refactorer {
++ return false;
++ }
++
++- private List<ProspectiveOperation> getListRepresentation( StatementTree tree, boolean last) {
+++ private List<ProspectiveOperation> getListRepresentation( StatementTree tree) {
++ List<ProspectiveOperation> ls = new ArrayList<ProspectiveOperation>();
++ if (tree.getKind() == Tree.Kind.BLOCK) {
++- ls.addAll(getBlockListRepresentation(tree, last));
+++ ls.addAll(getBlockListRepresentation(tree));
++ } else if (tree.getKind() == Tree.Kind.IF) {
++- ls.addAll(getIfListRepresentation(tree, last));
+++ ls.addAll(getIfListRepresentation(tree));
++
++ } else {
++ ls.addAll(getSingleStatementListRepresentation(tree));
++@@ -185,16 +165,6 @@ public class Refactorer {
++ }
++
++ private MethodInvocationTree chainAllProspectives( TreeMaker treeMaker, ExpressionTree expr) {
++- // Special case: if the only operation is forEach{Ordered},
++- if (hasIterable && prospectives.size() == 1 && prospectives.get(0).isForeach()) {
++- ProspectiveOperation prospective = prospectives.get(0);
++- return treeMaker.MethodInvocation(
++- new ArrayList<ExpressionTree>(),
++- treeMaker.MemberSelect(expr, "forEach"), // NOI18N
++- prospective.getArguments()
++- );
++- }
++-
++ MethodInvocationTree mi = treeMaker.MethodInvocation(new ArrayList<ExpressionTree>(), treeMaker.MemberSelect(expr, "stream"), new ArrayList<ExpressionTree>());
++ //mi = treeMaker.MethodInvocation(new ArrayList<ExpressionTree>(), treeMaker.MemberSelect(mi, "parallel"), new ArrayList<ExpressionTree>());
++ for ( ProspectiveOperation prospective : prospectives) {
++@@ -228,23 +198,20 @@ public class Refactorer {
++ return treeMaker.If(pred, returnExpre, null);
++ }
++
++- private List<ProspectiveOperation> getBlockListRepresentation( StatementTree tree, boolean last) {
+++ private List<ProspectiveOperation> getBlockListRepresentation( StatementTree tree) {
++ List<ProspectiveOperation> ls = new ArrayList<ProspectiveOperation>();
++ BlockTree blockTree = (BlockTree) tree;
++ List<? extends StatementTree> statements = blockTree.getStatements();
++ for ( int i = 0; i < statements.size(); i++) {
++ StatementTree statement = statements.get(i);
++- boolean l = last && i == statements.size() - 1;
++ if (statement.getKind() == Tree.Kind.IF) {
++ IfTree ifTree = (IfTree) statement;
++ if (isIfWithContinue(ifTree)) {
++ ifTree = refactorContinuingIf(ifTree, statements.subList(i + 1, statements.size()));
++- // the if was refactored, so that all the statements are nested in it, so it became
++- // the last (and single) statement within the parent
++- ls.addAll(this.getListRepresentation(ifTree, last));
+++ ls.addAll(this.getListRepresentation(ifTree));
++ break;
++- } else if (l) {
++- ls.addAll(this.getListRepresentation(ifTree, true));
+++ } else if (i == statements.size() - 1) {
+++ ls.addAll(this.getListRepresentation(ifTree));
++ } else {
++ if (this.isReturningIf(ifTree)) {
++ this.untrasformable = true;
++@@ -252,13 +219,13 @@ public class Refactorer {
++ ls.addAll(ProspectiveOperation.createOperator(ifTree, ProspectiveOperation.OperationType.MAP, preconditionsChecker, workingCopy));
++ }
++ } else {
++- ls.addAll(getListRepresentation(statement, l));
+++ ls.addAll(getListRepresentation(statement));
++ }
++ }
++ return ls;
++ }
++
++- private List<ProspectiveOperation> getIfListRepresentation( StatementTree tree, boolean last) {
+++ private List<ProspectiveOperation> getIfListRepresentation( StatementTree tree) {
++ IfTree ifTree = (IfTree) tree;
++ List<ProspectiveOperation> ls = new ArrayList<ProspectiveOperation>();
++ if (ifTree.getElseStatement() == null) {
++@@ -277,7 +244,7 @@ public class Refactorer {
++ }
++ } else {
++ ls.addAll(ProspectiveOperation.createOperator(ifTree, ProspectiveOperation.OperationType.FILTER, this.preconditionsChecker, this.workingCopy));
++- ls.addAll(getListRepresentation(ifTree.getThenStatement(), last));
+++ ls.addAll(getListRepresentation(ifTree.getThenStatement()));
++ }
++ } else {
++
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/jdk/mapreduce/TreeUtilities.java b/java.hints/src/org/netbeans/modules/java/hints/jdk/mapreduce/TreeUtilities.java
++index 23afb8b58..1da96e7f4 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/jdk/mapreduce/TreeUtilities.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/jdk/mapreduce/TreeUtilities.java
++@@ -35,11 +35,9 @@
++ * Version 2 license, then the option applies only if the new code is
++ * made subject to such option by the copyright holder.
++ *
++- *
++- * Portions Copyrighted 2012-2013 Sun Microsystems, Inc.
++- */
++-/*
++ * Contributor(s): Alexandru Gyori <Alexandru.Gyori at gmail.com>
+++ *
+++ * Portions Copyrighted 2012-2013 Sun Microsystems, Inc.
++ */
++ package org.netbeans.modules.java.hints.jdk.mapreduce;
++
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/perf/StringBuffer2Builder.java b/java.hints/src/org/netbeans/modules/java/hints/perf/StringBuffer2Builder.java
++index 19850ab46..ad94d0906 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/perf/StringBuffer2Builder.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/perf/StringBuffer2Builder.java
++@@ -64,12 +64,15 @@ import org.openide.util.NbBundle;
++ *
++ * @author lahvac
++ */
++- at Hint(displayName = "#DN_org.netbeans.modules.java.hints.perf.StringBuffer2Builder", description = "#DESC_org.netbeans.modules.java.hints.perf.StringBuffer2Builder", category="performance", suppressWarnings="StringBufferMayBeStringBuilder",
++- minSourceVersion = "5")
+++ at Hint(displayName = "#DN_org.netbeans.modules.java.hints.perf.StringBuffer2Builder", description = "#DESC_org.netbeans.modules.java.hints.perf.StringBuffer2Builder", category="performance", suppressWarnings="StringBufferMayBeStringBuilder")
++ public class StringBuffer2Builder {
++
++ @TriggerPattern(value="java.lang.StringBuffer $buffer = new java.lang.StringBuffer($args$);")
++ public static ErrorDescription hint(final HintContext ctx) {
+++ if (ctx.getInfo().getSourceVersion().compareTo(SourceVersion.RELEASE_5) < 0) {
+++ return null;
+++ }
+++
++ final Element el = ctx.getInfo().getTrees().getElement(ctx.getPath());
++
++ if (el == null || el.getKind() != ElementKind.LOCAL_VARIABLE) {
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/resources/default.properties b/java.hints/src/org/netbeans/modules/java/hints/resources/default.properties
++index e1510b89c..92e380728 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/resources/default.properties
+++++ b/java.hints/src/org/netbeans/modules/java/hints/resources/default.properties
++@@ -1,38 +1 @@
++-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++-#
++-# Copyright (c) 2013, 2016 Oracle and/or its affiliates. All rights reserved.
++-#
++-# Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++-# Other names may be trademarks of their respective owners.
++-#
++-# The contents of this file are subject to the terms of either the GNU
++-# General Public License Version 2 only ("GPL") or the Common
++-# Development and Distribution License("CDDL") (collectively, the
++-# "License"). You may not use this file except in compliance with the
++-# License. You can obtain a copy of the License at
++-# http://www.netbeans.org/cddl-gplv2.html
++-# or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++-# specific language governing permissions and limitations under the
++-# License. When distributing the software, include this License Header
++-# Notice in each file and include the License file at
++-# nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
++-# particular file as subject to the "Classpath" exception as provided
++-# by Oracle in the GPL Version 2 section of the License file that
++-# accompanied this code. If applicable, add the following below the
++-# License Header, with the fields enclosed by brackets [] replaced by
++-# your own identifying information:
++-# "Portions Copyrighted [year] [name of copyright owner]"
++-#
++-# If you wish your version of this file to be governed by only the CDDL
++-# or only the GPL Version 2, indicate your decision by adding
++-# "[Contributor] elects to include this software in this distribution
++-# under the [CDDL or GPL Version 2] license." If you do not indicate a
++-# single choice of license, a recipient has the option to distribute
++-# your version of this file under either the CDDL, the GPL Version 2 or
++-# to extend the choice of license to its licensees as provided above.
++-# However, if you add GPL Version 2 code and therefore, elected the GPL
++-# Version 2 license, then the option applies only if the new code is
++-# made subject to such option by the copyright holder.
++-#
++-# Contributor(s):
++ display.name=Default
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/resources/enabled.properties b/java.hints/src/org/netbeans/modules/java/hints/resources/enabled.properties
++index caa5dfac5..bc578b6bc 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/resources/enabled.properties
+++++ b/java.hints/src/org/netbeans/modules/java/hints/resources/enabled.properties
++@@ -1,39 +1,2 @@
++-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++-#
++-# Copyright (c) 2013, 2016 Oracle and/or its affiliates. All rights reserved.
++-#
++-# Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++-# Other names may be trademarks of their respective owners.
++-#
++-# The contents of this file are subject to the terms of either the GNU
++-# General Public License Version 2 only ("GPL") or the Common
++-# Development and Distribution License("CDDL") (collectively, the
++-# "License"). You may not use this file except in compliance with the
++-# License. You can obtain a copy of the License at
++-# http://www.netbeans.org/cddl-gplv2.html
++-# or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++-# specific language governing permissions and limitations under the
++-# License. When distributing the software, include this License Header
++-# Notice in each file and include the License file at
++-# nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
++-# particular file as subject to the "Classpath" exception as provided
++-# by Oracle in the GPL Version 2 section of the License file that
++-# accompanied this code. If applicable, add the following below the
++-# License Header, with the fields enclosed by brackets [] replaced by
++-# your own identifying information:
++-# "Portions Copyrighted [year] [name of copyright owner]"
++-#
++-# If you wish your version of this file to be governed by only the CDDL
++-# or only the GPL Version 2, indicate your decision by adding
++-# "[Contributor] elects to include this software in this distribution
++-# under the [CDDL or GPL Version 2] license." If you do not indicate a
++-# single choice of license, a recipient has the option to distribute
++-# your version of this file under either the CDDL, the GPL Version 2 or
++-# to extend the choice of license to its licensees as provided above.
++-# However, if you add GPL Version 2 code and therefore, elected the GPL
++-# Version 2 license, then the option applies only if the new code is
++-# made subject to such option by the copyright holder.
++-#
++-# Contributor(s):
++ # Enable the hint
++ enabled=true
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/resources/ide.css b/java.hints/src/org/netbeans/modules/java/hints/resources/ide.css
++index 6736a495d..cce6bbefd 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/resources/ide.css
+++++ b/java.hints/src/org/netbeans/modules/java/hints/resources/ide.css
++@@ -1,41 +1,28 @@
++ /*
++- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+++ * rave.css 08/13/2004
++ *
++- * Copyright (c) 2007, 2016 Oracle and/or its affiliates. All rights reserved.
+++ * Copyright � 2007 Sun Microsystems, Inc. All rights reserved.
+++ * Use is subject to license terms.
++ *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
++- *
++- * The contents of this file are subject to the terms of either the GNU
++- * General Public License Version 2 only ("GPL") or the Common
++- * Development and Distribution License("CDDL") (collectively, the
++- * "License"). You may not use this file except in compliance with the
++- * License. You can obtain a copy of the License at
++- * http://www.netbeans.org/cddl-gplv2.html
++- * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++- * specific language governing permissions and limitations under the
++- * License. When distributing the software, include this License Header
++- * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
++- * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
++- * accompanied this code. If applicable, add the following below the
++- * License Header, with the fields enclosed by brackets [] replaced by
++- * your own identifying information:
++- * "Portions Copyrighted [year] [name of copyright owner]"
++- *
++- * If you wish your version of this file to be governed by only the CDDL
++- * or only the GPL Version 2, indicate your decision by adding
++- * "[Contributor] elects to include this software in this distribution
++- * under the [CDDL or GPL Version 2] license." If you do not indicate a
++- * single choice of license, a recipient has the option to distribute
++- * your version of this file under either the CDDL, the GPL Version 2 or
++- * to extend the choice of license to its licensees as provided above.
++- * However, if you add GPL Version 2 code and therefore, elected the GPL
++- * Version 2 license, then the option applies only if the new code is
++- * made subject to such option by the copyright holder.
++- *
++- * Contributor(s):
+++ * Changes from NetBeans ide.css:
+++ * Oct. 2003
+++ * Got rid of <tr> and <td> definitions.
+++ * Changed table definition and added <border> tag
+++ * to improve appearance of tables in web browsers.
+++ * Added <th> definition to make default text alignment left.
+++ *
+++ * Added <dl>, <dt>, and <dd> definitions to be used instead
+++ * of formatting tables for See Also lists. For example:
+++ * <dl>
+++ * <dt>See Also</dt>
+++ * <dd>First Linked Element of List</dd>
+++ * <dd>Second Linked Element of List</dd>
+++ * </dl>
+++ *
+++ * Added <ul> and <ol> definitions that support blue ball
+++ * and blue square graphics for bullets. Definitions
+++ * account for sublists and for subslists of sublists.
+++ *
++ */
++
++ body {font-size: small;
++@@ -69,9 +56,9 @@ h4 { font-size: small;
++ font-weight: bold;
++ margin-top: 10;
++ margin-bottom: 5}
++-/*
+++/*
++ * Use the h6 tag for the term in a glossary popup
++- * topic. The term being defined is the heading for
+++ * topic. The term being defined is the heading for
++ * the topic.
++ */
++ h6 { font-size: small;
++@@ -81,7 +68,7 @@ h6 { font-size: small;
++
++ li {margin-top: 0;
++ margin-bottom: 5}
++-
+++
++ li p{margin-top: 5;
++ margin-bottom: 0}
++
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/resources/jdk5.properties b/java.hints/src/org/netbeans/modules/java/hints/resources/jdk5.properties
++index a7ac09270..9766bc74f 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/resources/jdk5.properties
+++++ b/java.hints/src/org/netbeans/modules/java/hints/resources/jdk5.properties
++@@ -1,38 +1 @@
++-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++-#
++-# Copyright (c) 2013, 2016 Oracle and/or its affiliates. All rights reserved.
++-#
++-# Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++-# Other names may be trademarks of their respective owners.
++-#
++-# The contents of this file are subject to the terms of either the GNU
++-# General Public License Version 2 only ("GPL") or the Common
++-# Development and Distribution License("CDDL") (collectively, the
++-# "License"). You may not use this file except in compliance with the
++-# License. You can obtain a copy of the License at
++-# http://www.netbeans.org/cddl-gplv2.html
++-# or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++-# specific language governing permissions and limitations under the
++-# License. When distributing the software, include this License Header
++-# Notice in each file and include the License file at
++-# nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
++-# particular file as subject to the "Classpath" exception as provided
++-# by Oracle in the GPL Version 2 section of the License file that
++-# accompanied this code. If applicable, add the following below the
++-# License Header, with the fields enclosed by brackets [] replaced by
++-# your own identifying information:
++-# "Portions Copyrighted [year] [name of copyright owner]"
++-#
++-# If you wish your version of this file to be governed by only the CDDL
++-# or only the GPL Version 2, indicate your decision by adding
++-# "[Contributor] elects to include this software in this distribution
++-# under the [CDDL or GPL Version 2] license." If you do not indicate a
++-# single choice of license, a recipient has the option to distribute
++-# your version of this file under either the CDDL, the GPL Version 2 or
++-# to extend the choice of license to its licensees as provided above.
++-# However, if you add GPL Version 2 code and therefore, elected the GPL
++-# Version 2 license, then the option applies only if the new code is
++-# made subject to such option by the copyright holder.
++-#
++-# Contributor(s):
++ display.name=Migrate to JDK 5
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/resources/jdk7.properties b/java.hints/src/org/netbeans/modules/java/hints/resources/jdk7.properties
++index 0d250a89e..37a3b2fe9 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/resources/jdk7.properties
+++++ b/java.hints/src/org/netbeans/modules/java/hints/resources/jdk7.properties
++@@ -1,38 +1 @@
++-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++-#
++-# Copyright (c) 2013, 2016 Oracle and/or its affiliates. All rights reserved.
++-#
++-# Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++-# Other names may be trademarks of their respective owners.
++-#
++-# The contents of this file are subject to the terms of either the GNU
++-# General Public License Version 2 only ("GPL") or the Common
++-# Development and Distribution License("CDDL") (collectively, the
++-# "License"). You may not use this file except in compliance with the
++-# License. You can obtain a copy of the License at
++-# http://www.netbeans.org/cddl-gplv2.html
++-# or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++-# specific language governing permissions and limitations under the
++-# License. When distributing the software, include this License Header
++-# Notice in each file and include the License file at
++-# nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
++-# particular file as subject to the "Classpath" exception as provided
++-# by Oracle in the GPL Version 2 section of the License file that
++-# accompanied this code. If applicable, add the following below the
++-# License Header, with the fields enclosed by brackets [] replaced by
++-# your own identifying information:
++-# "Portions Copyrighted [year] [name of copyright owner]"
++-#
++-# If you wish your version of this file to be governed by only the CDDL
++-# or only the GPL Version 2, indicate your decision by adding
++-# "[Contributor] elects to include this software in this distribution
++-# under the [CDDL or GPL Version 2] license." If you do not indicate a
++-# single choice of license, a recipient has the option to distribute
++-# your version of this file under either the CDDL, the GPL Version 2 or
++-# to extend the choice of license to its licensees as provided above.
++-# However, if you add GPL Version 2 code and therefore, elected the GPL
++-# Version 2 license, then the option applies only if the new code is
++-# made subject to such option by the copyright holder.
++-#
++-# Contributor(s):
++ display.name=Migrate to JDK 7
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/resources/jdk8.properties b/java.hints/src/org/netbeans/modules/java/hints/resources/jdk8.properties
++index 14f08c413..88c7bd905 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/resources/jdk8.properties
+++++ b/java.hints/src/org/netbeans/modules/java/hints/resources/jdk8.properties
++@@ -1,39 +1,2 @@
++-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++-#
++-# Copyright (c) 2013, 2016 Oracle and/or its affiliates. All rights reserved.
++-#
++-# Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++-# Other names may be trademarks of their respective owners.
++-#
++-# The contents of this file are subject to the terms of either the GNU
++-# General Public License Version 2 only ("GPL") or the Common
++-# Development and Distribution License("CDDL") (collectively, the
++-# "License"). You may not use this file except in compliance with the
++-# License. You can obtain a copy of the License at
++-# http://www.netbeans.org/cddl-gplv2.html
++-# or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++-# specific language governing permissions and limitations under the
++-# License. When distributing the software, include this License Header
++-# Notice in each file and include the License file at
++-# nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
++-# particular file as subject to the "Classpath" exception as provided
++-# by Oracle in the GPL Version 2 section of the License file that
++-# accompanied this code. If applicable, add the following below the
++-# License Header, with the fields enclosed by brackets [] replaced by
++-# your own identifying information:
++-# "Portions Copyrighted [year] [name of copyright owner]"
++-#
++-# If you wish your version of this file to be governed by only the CDDL
++-# or only the GPL Version 2, indicate your decision by adding
++-# "[Contributor] elects to include this software in this distribution
++-# under the [CDDL or GPL Version 2] license." If you do not indicate a
++-# single choice of license, a recipient has the option to distribute
++-# your version of this file under either the CDDL, the GPL Version 2 or
++-# to extend the choice of license to its licensees as provided above.
++-# However, if you add GPL Version 2 code and therefore, elected the GPL
++-# Version 2 license, then the option applies only if the new code is
++-# made subject to such option by the copyright holder.
++-#
++-# Contributor(s):
++ # Default properties of 'Convert to JDK8' configuration
++ display.name=Migrate to JDK 8
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/resources/layer.xml b/java.hints/src/org/netbeans/modules/java/hints/resources/layer.xml
++index a1d09e3a3..af584b90f 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/resources/layer.xml
+++++ b/java.hints/src/org/netbeans/modules/java/hints/resources/layer.xml
++@@ -21,7 +21,7 @@ License. When distributing the software, include this License Header
++ Notice in each file and include the License file at
++ nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
++ particular file as subject to the "Classpath" exception as provided
++-by Oracle in the GPL Version 2 section of the License file that
+++by Sun in the GPL Version 2 section of the License file that
++ accompanied this code. If applicable, add the following below the
++ License Header, with the fields enclosed by brackets [] replaced by
++ your own identifying information:
++@@ -57,7 +57,7 @@ made subject to such option by the copyright holder.
++ </file>
++ </folder>
++ </folder>
++-
+++
++ <folder name="Menu">
++ <!-- <folder name="Source">
++ <file name="org-netbeans-modules-java-hints-analyzer-AnalyzeFolder.shadow">
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/suggestions/ConstantNameHint.java b/java.hints/src/org/netbeans/modules/java/hints/suggestions/ConstantNameHint.java
++index f7fabad6e..2078e709e 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/suggestions/ConstantNameHint.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/suggestions/ConstantNameHint.java
++@@ -92,7 +92,7 @@ public class ConstantNameHint {
++
++ // constant name: starts with capital, followed by capital-digit strings, possibly terminated by _. Must end with
++ // capital/digit, not _.
++- static final String DEFAULT_CONSTANT_NAME_PATTERN = "[A-Z]([A-Z\\d_]*[A-Z\\d])?";
+++ static final String DEFAULT_CONSTANT_NAME_PATTERN = "([A-Z][A-Z\\d]*_?)*[A-Z\\d]+";
++ static final int DEFAULT_MIN_LENGTH = 0;
++ static final int DEFAULT_MAX_LENGTH = 35;
++ static final boolean DEFAULT_CHECK_ONLY_IMMUTABLES = true;
++@@ -203,9 +203,6 @@ public class ConstantNameHint {
++ }
++
++ private static boolean isImmutableType(CompilationInfo info, TypeMirror m, Preferences p) {
++- if (m == null) {
++- return false;
++- }
++ if (m.getKind().isPrimitive() || !isValidType(m)) {
++ return true;
++ }
++@@ -236,7 +233,7 @@ public class ConstantNameHint {
++
++ private static boolean isImmutableValue(CompilationInfo info, TreePath val, Preferences p) {
++ TypeMirror m = info.getTrees().getTypeMirror(val);
++- if (Utilities.isValidType(m) && m.getKind() == TypeKind.ARRAY) {
+++ if (m.getKind() == TypeKind.ARRAY) {
++ return checkZeroSizeArray(info, val);
++ }
++ return isImmutableType(info, m, p);
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/suggestions/ConvertIfToSwitch.java b/java.hints/src/org/netbeans/modules/java/hints/suggestions/ConvertIfToSwitch.java
++index c188be8c7..32184b175 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/suggestions/ConvertIfToSwitch.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/suggestions/ConvertIfToSwitch.java
++@@ -50,12 +50,7 @@ import java.util.HashSet;
++ import java.util.List;
++ import java.util.Map;
++ import java.util.Set;
++-import javax.lang.model.element.Element;
++-import javax.lang.model.element.ElementKind;
++-import javax.lang.model.type.DeclaredType;
++ import javax.lang.model.type.TypeKind;
++-import javax.lang.model.type.TypeMirror;
++-import org.netbeans.modules.java.hints.errors.Utilities;
++ import org.netbeans.spi.editor.hints.ErrorDescription;
++ import org.netbeans.spi.editor.hints.Fix;
++ import org.netbeans.spi.editor.hints.Severity;
++@@ -109,31 +104,6 @@ public class ConvertIfToSwitch {
++ return null;
++ }
++ IfToSwitchSupport eval = new IfToSwitchSupport(ctx) {
++- boolean controlTypeChecked = false;
++-
++- @Override
++- protected TypeMirror acceptArgType(TypeMirror controlType, TypeMirror argType) {
++- if (!controlTypeChecked) {
++- // See issue #257809; although all constants may be enum values, the control expression
++- // may be typed differently, i.e. an interface satisfied by those constants. In that case,
++- // generating switch would require type-check and casting. Better exclude the situation from hint.
++- if (!controlType.getKind().isPrimitive() &&
++- !Utilities.isPrimitiveWrapperType(argType)) {
++- // the contorl type must be an Enum; String is handled elsewhere
++- if (controlType.getKind() != TypeKind.DECLARED) {
++- return null;
++- }
++- Element el = ((DeclaredType)controlType).asElement();
++- if (el == null || el.getKind() != ElementKind.ENUM) {
++- return null;
++- }
++- }
++- controlTypeChecked = true;
++- }
++- return super.acceptArgType(controlType, argType);
++- }
++-
++-
++ protected TreePath matches(TreePath test, boolean initial) {
++ for (String pat : ConvertIfToSwitch.PATTERNS_INIT) {
++ if (MatcherUtilities.matches(ctx, test, pat, true)) {
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/suggestions/ExpandEnhancedForLoop.java b/java.hints/src/org/netbeans/modules/java/hints/suggestions/ExpandEnhancedForLoop.java
++index 168a622cf..8507ccdf6 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/suggestions/ExpandEnhancedForLoop.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/suggestions/ExpandEnhancedForLoop.java
++@@ -1,10 +1,7 @@
++ /*
++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++ *
++- * Copyright 2009-2010 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
+++ * Copyright 2009-2011 Sun Microsystems, Inc. All rights reserved.
++ *
++ * The contents of this file are subject to the terms of either the GNU
++ * General Public License Version 2 only ("GPL") or the Common
++@@ -16,9 +13,9 @@
++ * specific language governing permissions and limitations under the
++ * License. When distributing the software, include this License Header
++ * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
+++ * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
++ * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
+++ * by Sun in the GPL Version 2 section of the License file that
++ * accompanied this code. If applicable, add the following below the
++ * License Header, with the fields enclosed by brackets [] replaced by
++ * your own identifying information:
++@@ -64,18 +61,25 @@ import javax.lang.model.util.ElementFilter;
++ import javax.lang.model.util.Types;
++ import org.netbeans.api.annotations.common.NonNull;
++ import org.netbeans.api.java.source.CompilationInfo;
+++import org.netbeans.api.java.source.JavaSource;
+++import org.netbeans.api.java.source.JavaSource.Phase;
+++import org.netbeans.api.java.source.ModificationResult;
+++import org.netbeans.api.java.source.Task;
++ import org.netbeans.api.java.source.TreeMaker;
++ import org.netbeans.api.java.source.TreePathHandle;
++ import org.netbeans.api.java.source.WorkingCopy;
+++import org.netbeans.api.java.source.support.CaretAwareJavaSourceTaskFactory;
++ import org.netbeans.modules.java.hints.errors.Utilities;
++ import org.netbeans.spi.java.hints.Hint;
++ import org.netbeans.spi.java.hints.TriggerPattern;
++ import org.netbeans.spi.java.hints.HintContext;
+++import org.netbeans.spi.editor.hints.ChangeInfo;
++ import org.netbeans.spi.editor.hints.ErrorDescription;
++ import org.netbeans.spi.editor.hints.ErrorDescriptionFactory;
++ import org.netbeans.spi.editor.hints.Fix;
++ import org.netbeans.spi.java.hints.Hint.Kind;
++ import org.netbeans.spi.java.hints.JavaFix;
+++import org.openide.filesystems.FileObject;
++ import org.openide.util.NbBundle;
++
++ /**
++@@ -162,7 +166,7 @@ public class ExpandEnhancedForLoop {
++
++ ExecutableElement getIterator = findIterable(copy);
++ ExecutableType getIteratorType = (ExecutableType) copy.getTypes().asMemberOf((DeclaredType) expressionType, getIterator);
++- TypeMirror iteratorType = Utilities.resolveTypeForDeclaration(copy, getIteratorType.getReturnType());
+++ TypeMirror iteratorType = Utilities.resolveCapturedType(copy, getIteratorType.getReturnType());
++ TreeMaker make = copy.getTreeMaker();
++ Tree iteratorTypeTree = make.Type(iteratorType);
++ ExpressionTree getIteratorTree = make.MethodInvocation(Collections.<ExpressionTree>emptyList(),
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/suggestions/ExpectedTypeResolver.java b/java.hints/src/org/netbeans/modules/java/hints/suggestions/ExpectedTypeResolver.java
++index 3111ac9a7..f820a9995 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/suggestions/ExpectedTypeResolver.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/suggestions/ExpectedTypeResolver.java
++@@ -79,7 +79,6 @@ import com.sun.source.tree.MethodTree;
++ import com.sun.source.tree.ModifiersTree;
++ import com.sun.source.tree.NewArrayTree;
++ import com.sun.source.tree.NewClassTree;
++-import com.sun.source.tree.PackageTree;
++ import com.sun.source.tree.ParameterizedTypeTree;
++ import com.sun.source.tree.ParenthesizedTree;
++ import com.sun.source.tree.PrimitiveTypeTree;
++@@ -998,11 +997,7 @@ public class ExpectedTypeResolver implements TreeVisitor<List<? extends TypeMirr
++ List<TypeMirror> tt = new ArrayList<TypeMirror>();
++ Element el = info.getTrees().getElement(getCurrentPath());
++
++- if (el == null) {
++- return null;
++- }
++-
++- if (el.getKind() == ElementKind.METHOD) {
+++ if (el != null && el.getKind() == ElementKind.METHOD) {
++ // special hack: if the casted value is a lambda, we NEED to assign it a type prior to method invocation:
++ TreePath exp = getExpressionWithoutCasts();
++ if (exp != null && exp.getLeaf().getKind() == Tree.Kind.LAMBDA_EXPRESSION) {
++@@ -1332,11 +1327,6 @@ public class ExpectedTypeResolver implements TreeVisitor<List<? extends TypeMirr
++ }
++
++ @Override
++- public List<? extends TypeMirror> visitPackage(PackageTree pt, Object p) {
++- return null;
++- }
++-
++- @Override
++ public List<? extends TypeMirror> visitTry(TryTree node, Object p) {
++ return null;
++ }
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/suggestions/IfToSwitchSupport.java b/java.hints/src/org/netbeans/modules/java/hints/suggestions/IfToSwitchSupport.java
++index ca1b7f416..ee99f5bc9 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/suggestions/IfToSwitchSupport.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/suggestions/IfToSwitchSupport.java
++@@ -127,12 +127,7 @@ public class IfToSwitchSupport {
++ */
++ private List literals;
++ List<BranchDescription> literal2Statement = new ArrayList<>();
++-
++- /**
++- * Non-null, if a branch contains a null-check.
++- */
++- private TreePath nullBranch;
++-
+++
++ public IfToSwitchSupport(HintContext ctx) {
++ this.ctx = ctx;
++ this.ci = ctx.getInfo();
++@@ -168,7 +163,7 @@ public class IfToSwitchSupport {
++ protected Object convert(Object o, TypeMirror m) {
++ if (o instanceof EnumConst) {
++ TypeMirror elM = ((EnumConst)o).constEl.asType();
++- if (ci.getTypes().isSubtype(elM, m)) {
+++ if (ci.getTypes().isSameType(m, elM)) {
++ return o;
++ } else {
++ return m;
++@@ -253,7 +248,7 @@ public class IfToSwitchSupport {
++ }
++
++ private boolean isRealValue(Object o) {
++- return ArithmeticUtilities.isNull(o) || o instanceof EnumConst || ArithmeticUtilities.isRealValue(o);
+++ return o instanceof EnumConst || ArithmeticUtilities.isRealValue(o);
++ }
++
++ /**
++@@ -266,7 +261,7 @@ public class IfToSwitchSupport {
++ */
++ protected Object evalConstant(TreePath path) {
++ TypeMirror m = ci.getTrees().getTypeMirror(path);
++- if (m != null && m.getKind() != TypeKind.DECLARED) {
+++ if (m.getKind() != TypeKind.DECLARED) {
++ return ArithmeticUtilities.compute(ci, path, true, true);
++ }
++ Element e = ci.getTrees().getElement(path);
++@@ -305,17 +300,14 @@ public class IfToSwitchSupport {
++ }
++ TreePath c1;
++ TreePath c2;
++-
+++
++ public boolean process(TreePath initCond) {
++ Iterable<? extends TreePath> split = linearizeOrs(initCond);
++- TreePath body = ctx.getVariables().get("$body"); // NOI18N
++- if (body == null) {
++- return false;
++- }
++- if (!start(split, body)) {
+++ if (!start(split)) {
++ return false;
++ }
++- controlVarNotNull |= controlTypeMirror.getKind().isPrimitive() || NPECheck.isSafeToDereference(ci, variable);
+++ // assume match() did the binding
+++ TreePath body = ctx.getVariables().get("$body"); // NOI18N
++ literal2Statement.add(new BranchDescription(literals, TreePathHandle.create(body, ctx.getInfo())));
++ TreePath ifPath = body.getParentPath();
++ Tree e = ((IfTree) ifPath.getLeaf()).getElseStatement();
++@@ -332,11 +324,7 @@ public class IfToSwitchSupport {
++ }
++ Object o = evalConstant(constPath);
++ TypeMirror constType = ctx.getInfo().getTrees().getTypeMirror(constPath);
++- boolean isNull = (constType != null && constType.getKind() == TypeKind.NULL);
++- TypeMirror common = isNull ? controlTypeMirror : acceptArgType(controlTypeMirror, constType);
++- if (isNull) {
++- nullBranch = new TreePath(ifPath, it.getThenStatement());
++- }
+++ TypeMirror common = acceptArgType(controlTypeMirror, constType);
++ if (!isRealValue(o) || common == null) {
++ return false;
++ }
++@@ -349,17 +337,12 @@ public class IfToSwitchSupport {
++ }
++ if (e != null) {
++ // the default statement
++- TreePath defPath = new TreePath(ifPath, e);
++- literal2Statement.add(new BranchDescription(null, TreePathHandle.create(defPath, ci)));
++- if (!controlVarNotNull && nullBranch == null) {
++- // the default branch may also trigger for null value - issue #259071
++- nullBranch = defPath;
++- }
+++ literal2Statement.add(new BranchDescription(null, TreePathHandle.create(new TreePath(ifPath, e), ci)));
++ }
++ return true;
++ }
++
++- boolean start(Iterable<? extends TreePath> conds, TreePath ifBody) {
+++ boolean start(Iterable<? extends TreePath> conds) {
++ Iterator<? extends TreePath> iter = conds.iterator();
++ TreePath first = iter.next();
++ TreePath constPath = matches(first, true);
++@@ -396,9 +379,6 @@ public class IfToSwitchSupport {
++ // next pattern, no common type
++ return false;
++ }
++- if (ArithmeticUtilities.isNull(c)) {
++- nullBranch = ifBody;
++- }
++ if (!addLiteral(convert(c, constType), common, constPath)) {
++ return false;
++ }
++@@ -407,7 +387,7 @@ public class IfToSwitchSupport {
++ if (lt == null) {
++ return false;
++ }
++- Object o = evalConstant(lt);
+++ Object o = ArithmeticUtilities.compute(ctx.getInfo(), lt, true, true);
++ if (!ArithmeticUtilities.isRealValue(o)) {
++ return false;
++ }
++@@ -419,9 +399,6 @@ public class IfToSwitchSupport {
++ if (!addLiteral(convert(o, constType), common, lt)) {
++ return false;
++ }
++- if (ArithmeticUtilities.isNull(o)) {
++- nullBranch = ifBody;
++- }
++ }
++ return true;
++ }
++@@ -468,11 +445,9 @@ public class IfToSwitchSupport {
++ }
++
++ public JavaFix createFix(String fixLabel, boolean alwaysDefault) {
++- TreePathHandle nHandle = nullBranch == null ? null : TreePathHandle.create(nullBranch, ctx.getInfo());
++ ConvertToSwitch fix = new ConvertToSwitch(ctx.getInfo(),
++ ctx.getPath(),
++ TreePathHandle.create(variable, ctx.getInfo()),
++- nHandle,
++ literal2Statement,
++ isControlNotNull(), fixLabel);
++ if (alwaysDefault) {
++@@ -490,17 +465,14 @@ public class IfToSwitchSupport {
++ private boolean varNotNull;
++ private Set<Tree> ifSeen = new HashSet<Tree>();
++ private boolean enumType;
++- private final TreePathHandle nullBranch;
++
++- public ConvertToSwitch(CompilationInfo info, TreePath create, TreePathHandle value, TreePathHandle nullBranch,
++- List<BranchDescription> literal2Statement,
+++ public ConvertToSwitch(CompilationInfo info, TreePath create, TreePathHandle value, List<BranchDescription> literal2Statement,
++ boolean varNotNull, String label) {
++ super(info, create);
++ this.value = value;
++ this.literal2Statement = literal2Statement;
++ this.varNotNull = varNotNull;
++ this.label = label;
++- this.nullBranch = nullBranch;
++ }
++
++ public void addDefaultAlways() {
++@@ -523,7 +495,6 @@ public class IfToSwitchSupport {
++ Map<BreakTree, StatementTree> break2Target = new IdentityHashMap<BreakTree, StatementTree>();
++
++ TreePath value = this.value.resolve(copy);
++- TreePath nullBranchResolved = null;
++ if (value == null) {
++ // FIXME - report an error
++ return;
++@@ -533,19 +504,13 @@ public class IfToSwitchSupport {
++ // FIXME - report an error
++ return;
++ }
++- if (nullBranch != null) {
++- nullBranchResolved = this.nullBranch.resolve(copy);
++- if (nullBranchResolved == null || !(nullBranchResolved.getLeaf() instanceof StatementTree)) {
++- return;
++- }
++- }
++ enumType = valType.getKind() == TypeKind.DECLARED &&
++ ((DeclaredType)valType).asElement().getKind() == ElementKind.ENUM;
++
++ boolean defaultPresent = false;
++ for (BranchDescription d : this.literal2Statement) {
++ TreePath s = d.path.resolve(copy);
++-
+++
++ if (s == null) {
++ // FIXME - report an error
++ return ;
++@@ -568,39 +533,22 @@ public class IfToSwitchSupport {
++ addCase(copy, new BranchDescription(null, null), null, cases, catch2Declared, catch2Used);
++ }
++
++- varNotNull |= NPECheck.isSafeToDereference(copy, value);
+++ if (!varNotNull) {
+++ varNotNull = NPECheck.isSafeToDereference(copy, value);
+++ }
+++
++
++ SwitchTree s = make.Switch((ExpressionTree) value.getLeaf(), cases);
++
++ Utilities.copyComments(copy, it.getLeaf(), s, true);
++
++- Tree nue = s;
+++ Tree nue = s;
++ if (!varNotNull) {
++- // if the control variable is not null, AND there's a null-check branch, make
++- // the null-branch first, it's easier to read.
++- if (nullBranchResolved == null) {
++- nue = make.If(
++- make.Parenthesized(
++- make.Binary(Tree.Kind.NOT_EQUAL_TO, make.Literal(null), (ExpressionTree)value.getLeaf())
++- ),
++- s, null
++- );
++- } else {
++- nue = make.If(
++- make.Parenthesized(make.Binary(Tree.Kind.EQUAL_TO,
++- make.Literal(null),
++- (ExpressionTree)value.getLeaf()
++- )), (StatementTree)nullBranchResolved.getLeaf(), s
++- );
++- }
++- } else if (nullBranchResolved != null) {
++ nue = make.If(
++- make.Parenthesized(
++- make.Binary(Tree.Kind.EQUAL_TO,
++- make.Literal(null),
++- (ExpressionTree)value.getLeaf()
++- )
++- ), (StatementTree)nullBranchResolved.getLeaf(), s
+++ make.Parenthesized(
+++ make.Binary(Tree.Kind.NOT_EQUAL_TO, make.Literal(null), (ExpressionTree)value.getLeaf())
+++ ),
+++ s, null
++ );
++ }
++ copy.rewrite(it.getLeaf(), nue); //XXX
++@@ -738,11 +686,6 @@ public class IfToSwitchSupport {
++ List<StatementTree> body = it.hasNext() ? Collections.<StatementTree>emptyList() : statements;
++ // special case: if the literal is an enum-type, use only the simple name.
++ ExpressionTree litTree = (ExpressionTree)lit.getLeaf();
++- TypeMirror m = copy.getTrees().getTypeMirror(lit);
++- if (m == null || m.getKind() == TypeKind.NULL) {
++- // do not add case
++- continue;
++- }
++ if (enumType) {
++ Element c = copy.getTrees().getElement(lit);
++ if (c != null && c.getKind() == ElementKind.ENUM_CONSTANT) {
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/suggestions/Ifs.java b/java.hints/src/org/netbeans/modules/java/hints/suggestions/Ifs.java
++index 8068840e0..69bc53f00 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/suggestions/Ifs.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/suggestions/Ifs.java
++@@ -62,7 +62,6 @@ import org.netbeans.api.java.source.CompilationInfo;
++ import org.netbeans.api.java.source.TreeMaker;
++ import org.netbeans.api.java.source.WorkingCopy;
++ import org.netbeans.api.lexer.TokenSequence;
++-import org.netbeans.modules.java.hints.errors.Utilities;
++ import org.netbeans.spi.editor.hints.ErrorDescription;
++ import org.netbeans.spi.editor.hints.Fix;
++ import org.netbeans.spi.editor.hints.Severity;
++@@ -146,20 +145,11 @@ public class Ifs {
++ protected void performRewrite(final TransformationContext ctx) throws Exception {
++ IfTree toRewrite = (IfTree) ctx.getPath().getLeaf();
++ StatementTree elseStatement = toRewrite.getElseStatement();
++- if (toRewrite.getCondition() == null ||
++- toRewrite.getCondition().getKind() != Tree.Kind.PARENTHESIZED) {
++- return;
++- }
++- ParenthesizedTree ptt = (ParenthesizedTree)toRewrite.getCondition();
++- if (ptt.getExpression() == null) {
++- return;
++- }
+++
++ if (elseStatement == null) elseStatement = ctx.getWorkingCopy().getTreeMaker().Block(Collections.<StatementTree>emptyList(), false);
++
++ ctx.getWorkingCopy().rewrite(toRewrite, ctx.getWorkingCopy().getTreeMaker().If(toRewrite.getCondition(), elseStatement, toRewrite.getThenStatement()));
++- ExpressionTree negated = Utilities.negate(
++- ctx.getWorkingCopy().getTreeMaker(), ptt.getExpression(), ptt);
++- ctx.getWorkingCopy().rewrite(ptt.getExpression(), negated);
+++ negate(ctx.getWorkingCopy(), toRewrite.getCondition(), toRewrite);
++ }
++
++ //TODO: should be done automatically:
++@@ -175,7 +165,7 @@ public class Ifs {
++ newTree = ((UnaryTree) original).getExpression();
++ while (newTree.getKind() == Kind.PARENTHESIZED && !JavaFixUtilities.requiresParenthesis(((ParenthesizedTree) newTree).getExpression(), original, parent)) {
++ newTree = ((ParenthesizedTree) newTree).getExpression();
++- }
+++ }
++ break;
++ case NOT_EQUAL_TO:
++ newTree = negateBinaryOperator(copy, original, Kind.EQUAL_TO, false);
++@@ -208,10 +198,10 @@ public class Ifs {
++ newTree = make.Unary(Kind.LOGICAL_COMPLEMENT, original);
++ if (JavaFixUtilities.requiresParenthesis(original, original, newTree)) {
++ newTree = make.Unary(Kind.LOGICAL_COMPLEMENT, make.Parenthesized(original));
++- }
+++ }
++ break;
++ }
++-
+++
++ if (JavaFixUtilities.requiresParenthesis(newTree, original, parent)) {
++ newTree = make.Parenthesized(newTree);
++ }
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/suggestions/Lambda.java b/java.hints/src/org/netbeans/modules/java/hints/suggestions/Lambda.java
++index c14341e7d..1d8bfcf7f 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/suggestions/Lambda.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/suggestions/Lambda.java
++@@ -65,16 +65,13 @@ import com.sun.source.tree.Tree.Kind;
++ import com.sun.source.tree.TypeParameterTree;
++ import com.sun.source.tree.VariableTree;
++ import com.sun.source.util.TreePath;
++-import com.sun.source.util.TreePathScanner;
++ import com.sun.source.util.TreeScanner;
++ import java.util.ArrayList;
++ import java.util.Collections;
++ import java.util.EnumSet;
++-import java.util.HashMap;
++ import java.util.HashSet;
++ import java.util.Iterator;
++ import java.util.List;
++-import java.util.Map;
++ import java.util.Set;
++ import javax.lang.model.SourceVersion;
++ import javax.lang.model.element.Element;
++@@ -90,14 +87,11 @@ import javax.lang.model.type.TypeKind;
++ import javax.lang.model.type.TypeMirror;
++ import javax.lang.model.util.ElementFilter;
++ import org.netbeans.api.java.source.CompilationInfo;
++-import org.netbeans.api.java.source.ElementUtilities.ElementAcceptor;
++ import org.netbeans.api.java.source.GeneratorUtilities;
++ import org.netbeans.api.java.source.SourceUtils;
++ import org.netbeans.api.java.source.TreeMaker;
++ import org.netbeans.api.java.source.TreeUtilities;
++ import org.netbeans.api.java.source.WorkingCopy;
++-import org.netbeans.modules.java.hints.errors.Utilities;
++-import org.netbeans.modules.java.hints.jdk.ConvertToLambdaConverter;
++ import org.netbeans.spi.editor.hints.ErrorDescription;
++ import org.netbeans.spi.java.hints.ErrorDescriptionFactory;
++ import org.netbeans.spi.java.hints.Hint;
++@@ -114,8 +108,7 @@ import org.openide.util.NbBundle.Messages;
++ */
++ public class Lambda {
++
++- @Hint(displayName="#DN_lambda2Class", description="#DESC_lambda2Class", category="suggestions", hintKind=Hint.Kind.ACTION,
++- minSourceVersion = "8")
+++ @Hint(displayName="#DN_lambda2Class", description="#DESC_lambda2Class", category="suggestions", hintKind=Hint.Kind.ACTION)
++ @Messages({
++ "DN_lambda2Class=Convert Lambda Expression to Anonymous Innerclass",
++ "DESC_lambda2Class=Converts lambda expressions to anonymous inner classes",
++@@ -132,8 +125,7 @@ public class Lambda {
++ return ErrorDescriptionFactory.forTree(ctx, ctx.getPath(), Bundle.ERR_lambda2Class(), new Lambda2Anonymous(ctx.getInfo(), ctx.getPath()).toEditorFix());
++ }
++
++- @Hint(displayName="#DN_lambda2MemberReference", description="#DESC_lambda2MemberReference", category="suggestions", hintKind=Hint.Kind.ACTION,
++- minSourceVersion = "8")
+++ @Hint(displayName="#DN_lambda2MemberReference", description="#DESC_lambda2MemberReference", category="suggestions", hintKind=Hint.Kind.ACTION)
++ @Messages({
++ "DN_lambda2MemberReference=Convert Lambda Expression to Member Reference",
++ "DESC_lambda2MemberReference=Converts lambda expressions to member references",
++@@ -199,8 +191,7 @@ public class Lambda {
++ return ErrorDescriptionFactory.forTree(ctx, ctx.getPath(), Bundle.ERR_lambda2MemberReference(), new Lambda2MemberReference(ctx.getInfo(), ctx.getPath()).toEditorFix());
++ }
++
++- @Hint(displayName="#DN_expression2Return", description="#DESC_expression2Return", category="suggestions", hintKind=Hint.Kind.ACTION,
++- minSourceVersion = "8")
+++ @Hint(displayName="#DN_expression2Return", description="#DESC_expression2Return", category="suggestions", hintKind=Hint.Kind.ACTION)
++ @Messages({
++ "DN_expression2Return=Convert Lambda Body to Use a Block",
++ "DESC_expression2Return=Converts lambda bodies to use blocks rather than expressions",
++@@ -410,121 +401,28 @@ public class Lambda {
++ targetTypeTree = (ExpressionTree) make.ParameterizedType(make.QualIdent(samTypeElement), typeArguments);
++ }
++
++-
++ NewClassTree newClass = make.NewClass(null, Collections.<ExpressionTree>emptyList(), targetTypeTree, Collections.<ExpressionTree>emptyList(), innerClass);
++
+++ copy.rewrite(ctx.getPath().getLeaf(), newClass);
+++
++ TreePath clazz = ctx.getPath();
++
++ while (clazz != null && !TreeUtilities.CLASS_TREE_KINDS.contains(clazz.getLeaf().getKind())) {
++ clazz = clazz.getParentPath();
++ }
++
++- if (clazz == null) {
++- return;
++- }
++-
++- Element clazzElement = copy.getTrees().getElement(clazz);
++- if (clazzElement == null || !(
++- clazzElement.getKind().isClass() || clazzElement.getKind().isInterface())) {
++- return;
++- }
++-
++- copy.rewrite(ctx.getPath().getLeaf(), newClass);
++-
++- final Name outterClassName = ((ClassTree) clazz.getLeaf()).getSimpleName();
++- // possibly wrong, since the rewritten code will work in context of a different class.
++- Scope s = copy.getTrees().getScope(ctx.getPath());
++- final Map<Name, Element> types = new HashMap<>();
++- final Map<Name, Element> vars = new HashMap<>();
++- final Set<Name> methods = new HashSet<>();
++-
++- // lambda parameter names will be used as method parameter names, so variable clash should
++- // not occur.
++- for (Element e : copy.getElementUtilities().getMembers(samTypeElement.asType(), null)) {
++- switch (e.getKind()) {
++- case ENUM:
++- case CLASS:
++- case ANNOTATION_TYPE:
++- case INTERFACE:
++- types.put(e.getSimpleName(), e);
++- break;
++-
++- case ENUM_CONSTANT:
++- case FIELD:
++- vars.put(e.getSimpleName(), e);
++- break;
++-
++- case METHOD:
++- methods.add(e.getSimpleName());
++- break;
++- }
++- }
++- types.put(samTypeElement.getSimpleName(), samTypeElement);
++-
++- new TreePathScanner<Void, Boolean>() {
++- @Override public Void visitIdentifier(final IdentifierTree node, Boolean p) {
++- boolean rewrite = false;
++- boolean statRef = false;
++-
++- if (node.getName().contentEquals("this") || node.getName().contentEquals("super")) {
++- if (types.containsKey(outterClassName)) {
++- copy.rewrite(node, make.MemberSelect(make.QualIdent(clazzElement), node.getName()));
++- } else {
++- copy.rewrite(node, make.MemberSelect(make.Identifier(outterClassName), node.getName()));
++- }
++- } else if (Boolean.TRUE != p) {
++- Element e = copy.getTrees().getElement(getCurrentPath());
++- Element other = null;
++- if (e != null) {
++- switch (e.getKind()) {
++- case METHOD: {
++- if (methods.contains(e.getSimpleName())) {
++- Map<? extends ExecutableElement,? extends ExecutableElement> conflicting = Utilities.findConflictingMethods(copy, samTypeElement,
++- true, Collections.singleton((ExecutableElement)e));
++- rewrite = !conflicting.isEmpty();
++- }
++- break;
++- }
++- // fields and enum fields may be hidden by interface fields.
++- case ENUM_CONSTANT:
++- statRef = true;
++- // fall through
++- case FIELD:
++- rewrite = (other = vars.get(e.getSimpleName())) != null;
++- break;
++- // types may be hidden by inner interface types
++- case ANNOTATION_TYPE:
++- case CLASS:
++- case INTERFACE:
++- case ENUM:
++- rewrite = (other = types.get(e.getSimpleName())) != null;
++- statRef = true;
++- break;
++- }
++- }
++- if (rewrite) {
++- statRef |= (e.getModifiers().contains(Modifier.STATIC));
++- ExpressionTree n;
++- if (statRef && other == e) {
++- // static reference && the element was reintroduced actually
++- return super.visitIdentifier(node, p);
++- }
++- if (types.containsKey(outterClassName)) {
++- n = make.QualIdent(clazzElement);
++- } else {
++- n = make.Identifier(outterClassName);
++- }
++- if (!statRef) {
++- n = make.MemberSelect(n, "this"); // NOI18N
++- }
++- if (rewrite) {
++- copy.rewrite(node, make.MemberSelect(n, node.getName()));
++- }
+++ if (clazz != null) {
+++ final Name outterClassName = ((ClassTree) clazz.getLeaf()).getSimpleName();
+++
+++ new TreeScanner<Void, Void>() {
+++ @Override public Void visitIdentifier(IdentifierTree node, Void p) {
+++ if (node.getName().contentEquals("this")) {
+++ copy.rewrite(node, make.MemberSelect(make.Identifier(outterClassName), "this"));
++ }
+++ return super.visitIdentifier(node, p);
++ }
++- return super.visitIdentifier(node, p);
++- }
++- }.scan(ctx.getPath(), null);
+++ }.scan(lambda.getBody(), null);
+++ }
++ }
++ }
++
++@@ -565,15 +463,34 @@ public class Lambda {
++ }
++ }
++
++- Tree changed = null;
++- if (tree.getKind() == Tree.Kind.METHOD_INVOCATION) {
++- changed = ConvertToLambdaConverter.methodInvocationToMemberReference(copy, tree, ctx.getPath(), lambda.getParameters(), false);
++- } else if (tree.getKind() == Tree.Kind.NEW_CLASS) {
++- changed = ConvertToLambdaConverter.newClassToConstructorReference(copy, tree, ctx.getPath(), lambda.getParameters(), false);
+++ if (tree.getKind() != Tree.Kind.METHOD_INVOCATION) {
+++ return;
++ }
++- if (changed != null) {
++- copy.rewrite(lambda, changed);
+++
+++ ExpressionTree ms = ((MethodInvocationTree)tree).getMethodSelect();
+++ Name name = null;
+++ ExpressionTree expr = null;
+++ TreeMaker make = copy.getTreeMaker();
+++ if (ms.getKind() == Tree.Kind.IDENTIFIER) {
+++ name = ((IdentifierTree)ms).getName();
+++ expr = make.Identifier("this"); //NOI18N
+++ } else if (ms.getKind() == Tree.Kind.MEMBER_SELECT) {
+++ name = ((MemberSelectTree)ms).getIdentifier();
+++ if (lambda.getParameters().size() == ((MethodInvocationTree)tree).getArguments().size()) {
+++ expr = ((MemberSelectTree)ms).getExpression();
+++ } else {
+++ Element e = copy.getTrees().getElement(new TreePath(ctx.getPath(), ms));
+++ if (e != null && e.getKind() == ElementKind.METHOD) {
+++ expr = make.Identifier(e.getEnclosingElement());
+++ }
+++ }
++ }
+++ if (name == null || expr == null) {
+++ return;
+++ }
+++
+++ MemberReferenceTree referenceTree = make.MemberReference(MemberReferenceTree.ReferenceMode.INVOKE, expr, name, Collections.<ExpressionTree>emptyList());
+++ copy.rewrite(lambda, referenceTree);
++ }
++ }
++
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/suggestions/TooStrongCast.java b/java.hints/src/org/netbeans/modules/java/hints/suggestions/TooStrongCast.java
++index 2c3b67c2e..97a75b410 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/suggestions/TooStrongCast.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/suggestions/TooStrongCast.java
++@@ -43,7 +43,6 @@ package org.netbeans.modules.java.hints.suggestions;
++
++ import com.sun.source.tree.MethodInvocationTree;
++ import com.sun.source.tree.NewClassTree;
++-import com.sun.source.tree.ParenthesizedTree;
++ import com.sun.source.tree.StatementTree;
++ import com.sun.source.tree.Tree;
++ import com.sun.source.tree.TypeCastTree;
++@@ -55,11 +54,7 @@ import java.util.HashMap;
++ import java.util.Iterator;
++ import java.util.List;
++ import java.util.Map;
++-import javax.lang.model.element.AnnotationMirror;
++-import javax.lang.model.element.Element;
++-import javax.lang.model.element.ElementKind;
++ import javax.lang.model.element.ExecutableElement;
++-import javax.lang.model.element.TypeElement;
++ import javax.lang.model.type.ArrayType;
++ import javax.lang.model.type.TypeKind;
++ import javax.lang.model.type.TypeMirror;
++@@ -124,46 +119,27 @@ public class TooStrongCast {
++ CompilationInfo info = ctx.getInfo();
++ ExecutableElement exec = null;
++
++- // obtain the type of the casted expression. Some of the proposed types may be even type-compatible,
++- // which means we could remove the cast at all.
++- // just in case, non-castable types should be removed.
++- TypeCastTree tct = (TypeCastTree)ctx.getPath().getLeaf();
++- TreePath realExpressionPath = new TreePath(ctx.getPath(), tct.getExpression());
++- TypeMirror casteeType = info.getTrees().getTypeMirror(realExpressionPath);
++-
++ if (parentExec != null) {
++ exec = (ExecutableElement)info.getTrees().getElement(parentExec);
++ if (exec == null) {
++ return null;
++ }
++ argIndex = exp.getArgumentIndex();
++- varargs = exec.isVarArgs() && argIndex == exec.getParameters().size() - 1;
++- // check if the parent executable is not signature - polymorphic:
++- if (isPolymorphicSignature(info, parentExec)) {
++- casteeType = info.getElements().getTypeElement("java.lang.Object").asType(); // NOI18N
++- }
+++ varargs = exec.isVarArgs() && argIndex == exec.getParameters().size() - 1;
++ }
++ if (types == null) {
++ return null;
++ }
++
+++ // obtain the type of the casted expression. Some of the proposed types may be even type-compatible,
+++ // which means we could remove the cast at all.
+++ // just in case, non-castable types should be removed.
+++ TypeCastTree tct = (TypeCastTree)ctx.getPath().getLeaf();
+++ TreePath realExpressionPath = new TreePath(ctx.getPath(), tct.getExpression());
+++ TypeMirror casteeType = info.getTrees().getTypeMirror(realExpressionPath);
++ if (!Utilities.isValidType(casteeType)) {
++ return null;
++ }
++-
++- Tree castExp = tct.getExpression();
++- while (castExp != null && castExp.getKind() == Tree.Kind.PARENTHESIZED) {
++- castExp = ((ParenthesizedTree)castExp).getExpression();
++- }
++- if (castExp == null) {
++- return null;
++- } else if (castExp.getKind() == Tree.Kind.METHOD_INVOCATION) {
++- TreePath mitPath = new TreePath(ctx.getPath(), castExp);
++- if (isPolymorphicSignature(info, mitPath)) {
++- // reset the castee type to prevent "redundant cast" errors.
++- casteeType = info.getElements().getTypeElement("java.lang.Object").asType(); // NOI18N
++- }
++- }
++ String lst = null;
++ List<TypeMirror> filteredTypes = new ArrayList<TypeMirror>(types.size());
++ TypeMirror castType = info.getTrees().getTypeMirror(new TreePath(ctx.getPath(), tct.getType()));
++@@ -252,7 +228,7 @@ public class TooStrongCast {
++ continue;
++ }
++ }
++- filteredTypes.add(Utilities.resolveTypeForDeclaration(info, tm));
+++ filteredTypes.add(Utilities.resolveCapturedType(info, tm));
++ }
++ if (filteredTypes.isEmpty()) {
++ return null;
++@@ -275,33 +251,6 @@ public class TooStrongCast {
++
++ return ErrorDescriptionFactory.forTree(ctx, ctx.getPath(), msg, fixes);
++ }
++-
++- private static boolean isPolymorphicSignature(CompilationInfo info, TreePath path) {
++- TypeElement polymorphicEl= info.getElements().getTypeElement("java.lang.invoke.MethodHandle.PolymorphicSignature"); // NOI18N
++- if (polymorphicEl == null) {
++- // unsuitable platform
++- return false;
++- }
++- TypeMirror polyType = polymorphicEl.asType();
++- Element target = info.getTrees().getElement(path);
++- if (target == null || target.getKind() != ElementKind.METHOD) {
++- return false;
++- }
++- if (target.getEnclosingElement() == null || !target.getEnclosingElement().getKind().isClass()) {
++- return false;
++- }
++- ExecutableElement ee = (ExecutableElement)target;
++- TypeElement parent = (TypeElement)target.getEnclosingElement();
++- if (!parent.getQualifiedName().toString().startsWith("java.lang.invoke.")) { // NOI18N
++- return false;
++- }
++- for (AnnotationMirror am : ee.getAnnotationMirrors()) {
++- if (info.getTypes().isSameType(polyType, am.getAnnotationType())) {
++- return true;
++- }
++- }
++- return false;
++- }
++
++ private static ErrorDescription reportUselessCast(HintContext ctx, TypeCastTree tct,
++ CharSequence currentTypeName, CompilationInfo info, ExpectedTypeResolver exp,
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/threading/Bundle.properties b/java.hints/src/org/netbeans/modules/java/hints/threading/Bundle.properties
++index 1e745507c..9276f7bb6 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/threading/Bundle.properties
+++++ b/java.hints/src/org/netbeans/modules/java/hints/threading/Bundle.properties
++@@ -95,6 +95,8 @@ ERR_VolatileArrayField=Volatile array field
++ DN_org.netbeans.modules.java.hints.threading.Tiny.unlockOutsideTryFinally=Lock not unlocked in finally
++ DESC_org.netbeans.modules.java.hints.threading.Tiny.unlockOutsideTryFinally=Finds occurrences of Lock.lock()-Lock.unlock() \
++ not properly wrapped in try-finally.
+++ERR_UnlockOutsideTryFinally=Lock.lock() not unlocked in finally
+++FIX_UnlockOutsideTryFinally=Wrap by try-finally
++
++ DN_org.netbeans.modules.java.hints.threading.Tiny.unsyncWait=.wait invoked outside a synchronized context
++ DESC_org.netbeans.modules.java.hints.threading.Tiny.unsyncWait=.wait invoked outside a synchronized context
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/threading/Tiny.java b/java.hints/src/org/netbeans/modules/java/hints/threading/Tiny.java
++index 16d27d2bd..12768ac07 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/threading/Tiny.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/threading/Tiny.java
++@@ -275,6 +275,32 @@ public class Tiny {
++ return ErrorDescriptionFactory.forName(ctx, ctx.getPath(), displayName);
++ }
++
+++ @Hint(displayName = "#DN_org.netbeans.modules.java.hints.threading.Tiny.unlockOutsideTryFinally", description = "#DESC_org.netbeans.modules.java.hints.threading.Tiny.unlockOutsideTryFinally", category="thread", suppressWarnings="LockAcquiredButNotSafelyReleased")
+++ @TriggerPattern(value="$lock.lock(); $statements$; $lock.unlock();",
+++ constraints=@ConstraintVariableType(variable="$lock", type="java.util.concurrent.locks.Lock"))
+++ public static ErrorDescription unlockOutsideTryFinally(HintContext ctx) {
+++ if (ctx.getMultiVariables().get("$statements$").isEmpty()) return null; //#186434
+++ String fixDisplayName = NbBundle.getMessage(Tiny.class, "FIX_UnlockOutsideTryFinally");
+++ String lockString = ctx.getVariables().containsKey("$lock") ? "$lock." : ""; // NOI18N
+++ Fix f = JavaFixUtilities.rewriteFix(ctx, fixDisplayName, ctx.getPath(), lockString + "lock(); try {$statements$;} finally {" + lockString + "unlock();}");
+++ String displayName = NbBundle.getMessage(Tiny.class, "ERR_UnlockOutsideTryFinally");
+++
+++ //XXX:
+++ Tree mark;
+++ Tree matched = ctx.getPath().getLeaf();
+++
+++ if (matched.getKind() == Kind.BLOCK) {
+++ List<? extends StatementTree> s = ((BlockTree) matched).getStatements();
+++ int count = ctx.getMultiVariables().get("$$1$").size();
+++
+++ mark = s.get(count);
+++ } else {
+++ mark = matched;
+++ }
+++
+++ return ErrorDescriptionFactory.forName(ctx, mark, displayName, f);
+++ }
+++
++ @Hint(displayName = "#DN_org.netbeans.modules.java.hints.threading.Tiny.unsyncWait", description = "#DESC_org.netbeans.modules.java.hints.threading.Tiny.unsyncWait", category="thread", suppressWarnings="WaitWhileNotSynced", options=Options.QUERY)
++ @TriggerPatterns({
++ @TriggerPattern(value="$site.wait()",
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/threading/UnlockOutsideFinally.java b/java.hints/src/org/netbeans/modules/java/hints/threading/UnlockOutsideFinally.java
++deleted file mode 100644
++index 8bbcd2c80..000000000
++--- a/java.hints/src/org/netbeans/modules/java/hints/threading/UnlockOutsideFinally.java
+++++ /dev/null
++@@ -1,226 +0,0 @@
++-/*
++- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++- *
++- * Copyright 2016 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
++- *
++- * The contents of this file are subject to the terms of either the GNU
++- * General Public License Version 2 only ("GPL") or the Common
++- * Development and Distribution License("CDDL") (collectively, the
++- * "License"). You may not use this file except in compliance with the
++- * License. You can obtain a copy of the License at
++- * http://www.netbeans.org/cddl-gplv2.html
++- * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++- * specific language governing permissions and limitations under the
++- * License. When distributing the software, include this License Header
++- * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
++- * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
++- * accompanied this code. If applicable, add the following below the
++- * License Header, with the fields enclosed by brackets [] replaced by
++- * your own identifying information:
++- * "Portions Copyrighted [year] [name of copyright owner]"
++- *
++- * If you wish your version of this file to be governed by only the CDDL
++- * or only the GPL Version 2, indicate your decision by adding
++- * "[Contributor] elects to include this software in this distribution
++- * under the [CDDL or GPL Version 2] license." If you do not indicate a
++- * single choice of license, a recipient has the option to distribute
++- * your version of this file under either the CDDL, the GPL Version 2 or
++- * to extend the choice of license to its licensees as provided above.
++- * However, if you add GPL Version 2 code and therefore, elected the GPL
++- * Version 2 license, then the option applies only if the new code is
++- * made subject to such option by the copyright holder.
++- *
++- * Contributor(s):
++- *
++- * Portions Copyrighted 2016 Sun Microsystems, Inc.
++- */
++-package org.netbeans.modules.java.hints.threading;
++-
++-import com.sun.source.tree.BlockTree;
++-import com.sun.source.tree.StatementTree;
++-import com.sun.source.tree.Tree;
++-import com.sun.source.tree.TryTree;
++-import com.sun.source.util.TreePath;
++-import java.util.Collection;
++-import java.util.Collections;
++-import java.util.List;
++-import org.netbeans.api.java.source.TreeMaker;
++-import org.netbeans.api.java.source.TreePathHandle;
++-import org.netbeans.api.java.source.WorkingCopy;
++-import org.netbeans.api.java.source.matching.Matcher;
++-import org.netbeans.api.java.source.matching.Occurrence;
++-import org.netbeans.api.java.source.matching.Pattern;
++-import org.netbeans.modules.java.hints.errors.Utilities;
++-import org.netbeans.spi.editor.hints.ErrorDescription;
++-import org.netbeans.spi.editor.hints.Fix;
++-import org.netbeans.spi.java.hints.ConstraintVariableType;
++-import org.netbeans.spi.java.hints.ErrorDescriptionFactory;
++-import org.netbeans.spi.java.hints.Hint;
++-import org.netbeans.spi.java.hints.HintContext;
++-import org.netbeans.spi.java.hints.JavaFix;
++-import org.netbeans.spi.java.hints.JavaFixUtilities;
++-import org.netbeans.spi.java.hints.TriggerPattern;
++-import org.netbeans.spi.java.hints.TriggerPatterns;
++-import org.openide.util.NbBundle;
++-
++-/**
++- *
++- * @author sdedic
++- */
++- at Hint(displayName = "#DN_org.netbeans.modules.java.hints.threading.Tiny.unlockOutsideTryFinally", description = "#DESC_org.netbeans.modules.java.hints.threading.Tiny.unlockOutsideTryFinally", category="thread", suppressWarnings="LockAcquiredButNotSafelyReleased")
++-public class UnlockOutsideFinally {
++-
++- @NbBundle.Messages({
++- "FIX_MoveUnlockToFinally=Move unlock() to finally",
++- "FIX_RemoveRedundantUnlock=Remove extra unlock() call"
++- })
++- private static class MoveUnlockFix extends JavaFix {
++- private TreePathHandle finHandle;
++-
++- public MoveUnlockFix(TreePathHandle handle, TreePathHandle finHandle) {
++- super(handle);
++- this.finHandle = finHandle;
++- }
++-
++- @Override
++- protected String getText() {
++- return finHandle == null ? Bundle.FIX_RemoveRedundantUnlock() : Bundle.FIX_MoveUnlockToFinally();
++- }
++-
++- @Override
++- protected void performRewrite(TransformationContext ctx) throws Exception {
++- TreePath finPath = null;
++- if (finHandle != null) {
++- finPath = finHandle.resolve(ctx.getWorkingCopy());
++- if (finPath == null) {
++- // report ?
++- return;
++- }
++- }
++- WorkingCopy wc = ctx.getWorkingCopy();
++- TreeMaker mk = wc.getTreeMaker();
++-
++- TreePath p = ctx.getPath();
++- if (!StatementTree.class.isAssignableFrom(p.getLeaf().getKind().asInterface())) {
++- if (p.getParentPath() != null &&
++- p.getParentPath().getLeaf().getKind() == Tree.Kind.EXPRESSION_STATEMENT) {
++- p = p.getParentPath();
++- } else {
++- return;
++- }
++- }
++-
++- Utilities.removeStatement(wc, p);
++- if (finPath != null) {
++- Utilities.insertStatement(wc, finPath, null,
++- Collections.singletonList((StatementTree)p.getLeaf()),
++- null,
++- Utilities.INSERT_POS_CHILD
++- );
++- }
++- }
++- }
++-
++- @TriggerPatterns({
++- @TriggerPattern(value="$lock.lock(); $otherStats$; try { $statements$; $lock.unlock(); $rest$; } catch $catches$ finally { $finstats$; } ",
++- constraints=@ConstraintVariableType(variable="$lock", type="java.util.concurrent.locks.Lock")),
++- @TriggerPattern(value="$lock.lock(); $otherStats$; try { $statements$; $lock.unlock(); $rest$; } catch $catches$",
++- constraints=@ConstraintVariableType(variable="$lock", type="java.util.concurrent.locks.Lock")),
++- @TriggerPattern(value="$lock.lock(); $otherStats$; try { $statements$; } catch $catches$ catch($excType $var) { $catchStats1$; $lock.unlock(); $catchStats2$; } catch $catches2$ finally { $finstmts$; }",
++- constraints=@ConstraintVariableType(variable="$lock", type="java.util.concurrent.locks.Lock")),
++- })
++- @NbBundle.Messages({
++- "ERR_UnlockOutsideTryFinally=Lock.lock() not unlocked in finally",
++- "FIX_UnlockOutsideTryFinally=Wrap by try-finally",
++- "MSG_ExtraUnlock=Extra unlock() call; lock is already released in finally"
++- })
++- public static ErrorDescription unlockInsideTry(HintContext ctx) {
++- TreePath fin = ctx.getVariables().get("$lock$1");
++- if (fin == null) {
++- return null;
++- }
++- TreePath parent = fin.getParentPath();
++- if (parent.getLeaf().getKind() != Tree.Kind.MEMBER_SELECT) {
++- return null;
++- }
++- parent = parent.getParentPath();
++- if (parent == null || parent.getLeaf().getKind() != Tree.Kind.METHOD_INVOCATION) {
++- return null;
++- }
++- TreePath tPath = parent.getParentPath();
++- while (tPath != null && tPath.getLeaf().getKind() != Tree.Kind.TRY) {
++- if (tPath.getLeaf().getKind() == Tree.Kind.METHOD ||
++- tPath.getLeaf().getKind() == Tree.Kind.CLASS) {
++- return null;
++- }
++- tPath = tPath.getParentPath();
++- }
++- if (tPath == null) {
++- return null;
++- }
++- TryTree tt = (TryTree)tPath.getLeaf();
++- Fix f = null;
++-
++- String displayName = null;
++-
++- if (tt.getFinallyBlock() != null) {
++-
++- TreePath finBlockPath = new TreePath(tPath, tt.getFinallyBlock());
++- Collection<? extends Occurrence> occ = Matcher.create(ctx.getInfo()).
++- setSearchRoot(finBlockPath).
++- match(
++- Pattern.createSimplePattern(parent)
++- );
++- if (!occ.isEmpty()) {
++- f = new MoveUnlockFix(
++- TreePathHandle.create(parent, ctx.getInfo()),
++- null).toEditorFix();
++- displayName = Bundle.MSG_ExtraUnlock();
++- }
++- }
++- if (f == null) {
++- displayName = Bundle.ERR_UnlockOutsideTryFinally();
++- f = new MoveUnlockFix(
++- TreePathHandle.create(parent, ctx.getInfo()),
++- TreePathHandle.create(tPath, ctx.getInfo())).toEditorFix();
++- }
++-
++- return ErrorDescriptionFactory.forName(ctx, parent, displayName, f);
++- }
++-
++- @TriggerPatterns({
++- @TriggerPattern(value="$lock.lock(); $statements$; $lock.unlock();",
++- constraints=@ConstraintVariableType(variable="$lock", type="java.util.concurrent.locks.Lock")),
++- })
++-
++- public static ErrorDescription unlockOutsideTryFinally(HintContext ctx) {
++- if (ctx.getMultiVariables().get("$statements$").isEmpty()) return null; //#186434
++- String fixDisplayName = NbBundle.getMessage(Tiny.class, "FIX_UnlockOutsideTryFinally");
++- String lockString = ctx.getVariables().containsKey("$lock") ? "$lock." : ""; // NOI18N
++-
++-
++- Fix f= JavaFixUtilities.rewriteFix(ctx, fixDisplayName, ctx.getPath(),
++- lockString + "lock(); try {$statements$;} finally {" + lockString + "unlock();}");
++- String displayName = NbBundle.getMessage(Tiny.class, "ERR_UnlockOutsideTryFinally");
++-
++- //XXX:
++- Tree mark;
++- Tree matched = ctx.getPath().getLeaf();
++-
++- if (matched.getKind() == Tree.Kind.BLOCK) {
++- List<? extends StatementTree> s = ((BlockTree) matched).getStatements();
++- int count = ctx.getMultiVariables().get("$$1$").size();
++-
++- mark = s.get(count);
++- } else {
++- mark = matched;
++- }
++-
++- return ErrorDescriptionFactory.forName(ctx, mark, displayName, f);
++- }
++-}
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/ui/ClassNameList.java b/java.hints/src/org/netbeans/modules/java/hints/ui/ClassNameList.java
++index 75d139a80..5465aa16e 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/ui/ClassNameList.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/ui/ClassNameList.java
++@@ -47,7 +47,6 @@ import java.awt.Rectangle;
++ import java.awt.event.MouseEvent;
++ import java.util.ArrayList;
++ import java.util.Arrays;
++-import java.util.HashSet;
++ import java.util.List;
++ import java.util.Set;
++ import java.util.StringTokenizer;
++@@ -70,14 +69,12 @@ import javax.swing.table.TableCellRenderer;
++ import javax.swing.text.JTextComponent;
++ import org.netbeans.api.java.classpath.ClassPath;
++ import org.netbeans.api.java.classpath.GlobalPathRegistry;
++-import org.netbeans.api.java.platform.JavaPlatform;
++ import org.netbeans.api.java.source.ClassIndex;
++ import org.netbeans.api.java.source.ClasspathInfo;
++ import org.netbeans.api.java.source.CompilationController;
++ import org.netbeans.api.java.source.ElementHandle;
++ import org.netbeans.api.java.source.ui.TypeElementFinder;
++ import org.netbeans.api.java.source.ui.TypeElementFinder.Customizer;
++-import org.netbeans.modules.java.source.parsing.ClasspathInfoTask;
++ import org.netbeans.modules.parsing.api.Embedding;
++ import org.netbeans.modules.parsing.api.ParserManager;
++ import org.netbeans.modules.parsing.api.ResultIterator;
++@@ -514,16 +511,10 @@ public class ClassNameList extends javax.swing.JPanel implements Runnable {
++
++ private void btnAddActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnAddActionPerformed
++ if (classpathInfo == null) {
++- Set<ClassPath> cpPaths = new HashSet<>(GlobalPathRegistry.getDefault().getPaths(ClassPath.COMPILE));
++- Set<ClassPath> bootPaths = new HashSet<>(GlobalPathRegistry.getDefault().getPaths(ClassPath.BOOT));
+++ Set<ClassPath> cpPaths = GlobalPathRegistry.getDefault().getPaths(ClassPath.COMPILE);
+++ Set<ClassPath> bootPaths = GlobalPathRegistry.getDefault().getPaths(ClassPath.BOOT);
++ Set<ClassPath> sourcePaths = GlobalPathRegistry.getDefault().getPaths(ClassPath.SOURCE);
++
++- JavaPlatform p = JavaPlatform.getDefault();
++- if (p != null) {
++- bootPaths.add(p.getBootstrapLibraries());
++- cpPaths.add(p.getStandardLibraries());
++- }
++-
++ ClassPath compPath = ClassPathSupport.createProxyClassPath(cpPaths.toArray(new ClassPath[cpPaths.size()]));
++ ClassPath bootPath = ClassPathSupport.createProxyClassPath(bootPaths.toArray(new ClassPath[bootPaths.size()]));
++ ClassPath sourcePath = ClassPathSupport.createProxyClassPath(sourcePaths.toArray(new ClassPath[sourcePaths.size()]));
++@@ -531,10 +522,9 @@ public class ClassNameList extends javax.swing.JPanel implements Runnable {
++ classpathInfo = ClasspathInfo.create(bootPath, compPath, sourcePath);
++ }
++ ElementHandle<TypeElement> handle;
++-
++ try {
++ try {
++- ParserManager.parse("text/x-java", new ClasspathInfoTask(classpathInfo) { // NOI18N
+++ ParserManager.parse("text/x-java", new UserTask() { // NOI18N
++ @Override
++ public void run(ResultIterator resultIterator) throws Exception {
++ if (controller != null) {
++diff --git a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint1-hints.pass b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint1-hints.pass
++index f48aa331f..7fb7a811a 100644
++--- a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint1-hints.pass
+++++ b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint1-hints.pass
++@@ -1,2 +1 @@
++-LBL_FIX_Impl_Abstract_Methods
++-LBL_FIX_Make_Class_Abstract
+++Implement all abstract methods
++diff --git a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint1.pass b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint1.pass
++index 7b56f936d..adcc41af9 100644
++--- a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint1.pass
+++++ b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint1.pass
++@@ -23,33 +23,25 @@ public class ImplementAbstractMethods1 extends AbstractClass implements Property
++ public ImplementAbstractMethods1() {
++ }
++
++- @Override
++ public void test(int x, String y, String... args) throws IOException, BadLocationException {
++- throw new UnsupportedOperationException("Not supported yet.");
++ }
++
++- public void propertyChange(PropertyChangeEvent pce) {
++- throw new UnsupportedOperationException("Not supported yet.");
+++ public void propertyChange(PropertyChangeEvent evt) {
++ }
++
++- public void mouseClicked(MouseEvent me) {
++- throw new UnsupportedOperationException("Not supported yet.");
+++ public void mouseClicked(MouseEvent e) {
++ }
++
++- public void mousePressed(MouseEvent me) {
++- throw new UnsupportedOperationException("Not supported yet.");
+++ public void mousePressed(MouseEvent e) {
++ }
++
++- public void mouseReleased(MouseEvent me) {
++- throw new UnsupportedOperationException("Not supported yet.");
+++ public void mouseReleased(MouseEvent e) {
++ }
++
++- public void mouseEntered(MouseEvent me) {
++- throw new UnsupportedOperationException("Not supported yet.");
+++ public void mouseEntered(MouseEvent e) {
++ }
++
++- public void mouseExited(MouseEvent me) {
++- throw new UnsupportedOperationException("Not supported yet.");
+++ public void mouseExited(MouseEvent e) {
++ }
++
++ }
++diff --git a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint11-hints.pass b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint11-hints.pass
++index bc073cb38..7fb7a811a 100644
++--- a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint11-hints.pass
+++++ b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint11-hints.pass
++@@ -1 +1 @@
++-LBL_FIX_Impl_Abstract_Methods
+++Implement all abstract methods
++diff --git a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint2-hints.pass b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint2-hints.pass
++index bc073cb38..7fb7a811a 100644
++--- a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint2-hints.pass
+++++ b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint2-hints.pass
++@@ -1 +1 @@
++-LBL_FIX_Impl_Abstract_Methods
+++Implement all abstract methods
++diff --git a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint2.pass b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint2.pass
++index 5abdc8e0c..e1beac76a 100644
++--- a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint2.pass
+++++ b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint2.pass
++@@ -17,7 +17,6 @@ public class ImplementAbstractMethods2 {
++ new Runnable() {
++
++ public void run() {
++- throw new UnsupportedOperationException("Not supported yet.");
++ }
++ };
++ }
++diff --git a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint3-hints.pass b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint3-hints.pass
++index bc073cb38..7fb7a811a 100644
++--- a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint3-hints.pass
+++++ b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint3-hints.pass
++@@ -1 +1 @@
++-LBL_FIX_Impl_Abstract_Methods
+++Implement all abstract methods
++diff --git a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint3.pass b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint3.pass
++index 3de45eca2..309a3bb1a 100644
++--- a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint3.pass
+++++ b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint3.pass
++@@ -18,9 +18,8 @@ public class ImplementAbstractMethods3 {
++ /** Creates a new instance of ImplementAbstractMethod1 */
++ public ImplementAbstractMethods3() {
++ new AbstractClass() {
++- @Override
+++
++ public void test(int x, String y, String... args) throws IOException, BadLocationException {
++- throw new UnsupportedOperationException("Not supported yet.");
++ }
++ };
++ }
++diff --git a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint4-hints.pass b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint4-hints.pass
++index f48aa331f..7fb7a811a 100644
++--- a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint4-hints.pass
+++++ b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint4-hints.pass
++@@ -1,2 +1 @@
++-LBL_FIX_Impl_Abstract_Methods
++-LBL_FIX_Make_Class_Abstract
+++Implement all abstract methods
++diff --git a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint4.pass b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint4.pass
++index 5e1493b0c..4dbdb29b2 100644
++--- a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint4.pass
+++++ b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint4.pass
++@@ -20,9 +20,8 @@ public class ImplementAbstractMethods4 extends AbstractClass2 {
++ /** Creates a new instance of ImplementAbstractMethod1 */
++ public ImplementAbstractMethods4() {
++ }
++- @Override
+++
++ public String[] test(int[] x, String[] y, String... args) throws IOException, BadLocationException {
++- throw new UnsupportedOperationException("Not supported yet.");
++ }
++
++ }
++diff --git a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint5-hints.pass b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint5-hints.pass
++index f48aa331f..7fb7a811a 100644
++--- a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint5-hints.pass
+++++ b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint5-hints.pass
++@@ -1,2 +1 @@
++-LBL_FIX_Impl_Abstract_Methods
++-LBL_FIX_Make_Class_Abstract
+++Implement all abstract methods
++diff --git a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint5.pass b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint5.pass
++index a8ab89c76..e8b5d4d1d 100644
++--- a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint5.pass
+++++ b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint5.pass
++@@ -22,9 +22,8 @@ public class ImplementAbstractMethods5 extends AbstractClass3 {
++ /** Creates a new instance of ImplementAbstractMethod1 */
++ public ImplementAbstractMethods5() {
++ }
++- @Override
+++
++ public String[] test(Map<String, List<String>> l) throws IOException, BadLocationException {
++- throw new UnsupportedOperationException("Not supported yet.");
++ }
++
++ }
++diff --git a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint6-hints.pass b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint6-hints.pass
++index bc073cb38..7fb7a811a 100644
++--- a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint6-hints.pass
+++++ b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint6-hints.pass
++@@ -1 +1 @@
++-LBL_FIX_Impl_Abstract_Methods
+++Implement all abstract methods
++diff --git a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint6.pass b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint6.pass
++index 66fff7a83..fcde1550d 100644
++--- a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint6.pass
+++++ b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint6.pass
++@@ -6,8 +6,8 @@ package org.netbeans.test.java.hints;
++ public class ImplementAbstractMethods6 {
++
++ private Runnable r = new Runnable() {
+++
++ public void run() {
++- throw new UnsupportedOperationException("Not supported yet.");
++ }
++ };
++
++diff --git a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint7-hints.pass b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint7-hints.pass
++index f48aa331f..7fb7a811a 100644
++--- a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint7-hints.pass
+++++ b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint7-hints.pass
++@@ -1,2 +1 @@
++-LBL_FIX_Impl_Abstract_Methods
++-LBL_FIX_Make_Class_Abstract
+++Implement all abstract methods
++diff --git a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint7.pass b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint7.pass
++index d7b13cbd5..139d60f08 100644
++--- a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint7.pass
+++++ b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint7.pass
++@@ -16,17 +16,13 @@ public class ImplementAbstractMethods7 extends ImplementAbstractMethods7Usee2
++ public void createStuff() {
++ }
++
++- @Override
++ protected boolean resolve() {
++- throw new UnsupportedOperationException("Not supported yet.");
++ }
++
++ public String doStuff() {
++- throw new UnsupportedOperationException("Not supported yet.");
++ }
++
++ public int resolveStuff(JButton button) {
++- throw new UnsupportedOperationException("Not supported yet.");
++ }
++
++ }
++diff --git a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint8-hints.pass b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint8-hints.pass
++index f48aa331f..7fb7a811a 100644
++--- a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint8-hints.pass
+++++ b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint8-hints.pass
++@@ -1,2 +1 @@
++-LBL_FIX_Impl_Abstract_Methods
++-LBL_FIX_Make_Class_Abstract
+++Implement all abstract methods
++diff --git a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint8.pass b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint8.pass
++index ba25e2158..9e8aba904 100644
++--- a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint8.pass
+++++ b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint8.pass
++@@ -11,9 +11,7 @@ public class ImplementAbstractMethods8 {
++ private static class Inner {
++
++ private static class InnerInner extends ImplementAbstractMethods8Usee {
++- @Override
++ public void doStuff(JList list) {
++- throw new UnsupportedOperationException("Not supported yet.");
++ }
++ }
++
++diff --git a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementDefaultMethods1-hints.pass b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementDefaultMethods1-hints.pass
++deleted file mode 100644
++index f48aa331f..000000000
++--- a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementDefaultMethods1-hints.pass
+++++ /dev/null
++@@ -1,2 +0,0 @@
++-LBL_FIX_Impl_Abstract_Methods
++-LBL_FIX_Make_Class_Abstract
++diff --git a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementDefaultMethods1.pass b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementDefaultMethods1.pass
++deleted file mode 100644
++index 3f1e730af..000000000
++--- a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementDefaultMethods1.pass
+++++ /dev/null
++@@ -1,17 +0,0 @@
++-package org.netbeans.test.java.hints;
++-
++-/**
++- *
++- * @author sdedic
++- */
++-public class ImplementDefaultMethods1 implements java.util.Iterator<String> {
++-
++- public boolean hasNext() {
++- throw new UnsupportedOperationException("Not supported yet.");
++- }
++-
++- public String next() {
++- throw new UnsupportedOperationException("Not supported yet.");
++- }
++-
++-}
++diff --git a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementDefaultMethods2-hints.pass b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementDefaultMethods2-hints.pass
++deleted file mode 100644
++index f48aa331f..000000000
++--- a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementDefaultMethods2-hints.pass
+++++ /dev/null
++@@ -1,2 +0,0 @@
++-LBL_FIX_Impl_Abstract_Methods
++-LBL_FIX_Make_Class_Abstract
++diff --git a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementDefaultMethods2.pass b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementDefaultMethods2.pass
++deleted file mode 100644
++index 0da4d8af5..000000000
++--- a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementDefaultMethods2.pass
+++++ /dev/null
++@@ -1,21 +0,0 @@
++-package org.netbeans.test.java.hints;
++-
++-/**
++- *
++- * @author sdedic
++- */
++-public class ImplementDefaultMethods2 implements java.util.Iterator {
++-
++- public boolean hasNext() {
++- throw new UnsupportedOperationException("Not supported yet.");
++- }
++-
++- public Object next() {
++- throw new UnsupportedOperationException("Not supported yet.");
++- }
++-
++- public void remove() {
++- Iterator.super.remove();
++- }
++-
++-}
++diff --git a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementEnumMethods-hints.pass b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementEnumMethods-hints.pass
++deleted file mode 100644
++index 915eb7468..000000000
++--- a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementEnumMethods-hints.pass
+++++ /dev/null
++@@ -1 +0,0 @@
++-LBL_FIX_Impl_Methods_Enum_Values2
++diff --git a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementEnumMethods.pass b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementEnumMethods.pass
++deleted file mode 100644
++index 05d0a86f4..000000000
++--- a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementEnumMethods.pass
+++++ /dev/null
++@@ -1,29 +0,0 @@
++-package org.netbeans.test.java.hints;
++-
++-/**
++- *
++- * @author sdedic
++- */
++-public class ImplementEnumMethods {
++- enum E {
++- ONE {
++- @Override
++- public String kuk() {
++- throw new UnsupportedOperationException("Not supported yet.");
++- }
++- }, TWO {
++- @Override
++- public String kuk() {
++- throw new UnsupportedOperationException("Not supported yet.");
++- }
++- }, THREE {
++- @Override
++- public String kuk() {
++- throw new UnsupportedOperationException("Not supported yet.");
++- }
++- };
++-
++- public abstract String kuk();
++- }
++-
++-}
++diff --git a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testMakeClassAbstract1-hints.pass b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testMakeClassAbstract1-hints.pass
++index c3949b4f3..b0e7d4d9e 100644
++--- a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testMakeClassAbstract1-hints.pass
+++++ b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testMakeClassAbstract1-hints.pass
++@@ -1 +1 @@
++-LBL_FIX_Make_Class_Abstract
++\ No newline at end of file
+++Make class MakeClassAbstract1 abstract
++diff --git a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testMakeClassAbstract2-hints.pass b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testMakeClassAbstract2-hints.pass
++index c3949b4f3..d2735af37 100644
++--- a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testMakeClassAbstract2-hints.pass
+++++ b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testMakeClassAbstract2-hints.pass
++@@ -1 +1 @@
++-LBL_FIX_Make_Class_Abstract
++\ No newline at end of file
+++Make class MakeClassAbstract2 abstract
++diff --git a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testMakeClassAbstract3-hints.pass b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testMakeClassAbstract3-hints.pass
++index c3949b4f3..fced0efa7 100644
++--- a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testMakeClassAbstract3-hints.pass
+++++ b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testMakeClassAbstract3-hints.pass
++@@ -1 +1 @@
++-LBL_FIX_Make_Class_Abstract
++\ No newline at end of file
+++Make class MakeClassAbstract3 abstract
++diff --git a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testNonAbstractClass85806-hints.pass b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testNonAbstractClass85806-hints.pass
++index 621328605..129170bac 100644
++--- a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testNonAbstractClass85806-hints.pass
+++++ b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testNonAbstractClass85806-hints.pass
++@@ -1 +1 @@
++-LBL_FIX_Make_Class_Abstract
+++Make class AbstractClass4 abstract
++diff --git a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/infrastructure/ErrorHintsProviderTest/testShortErrors7.pass b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/infrastructure/ErrorHintsProviderTest/testShortErrors7.pass
++index 20a145dda..a238bac11 100644
++--- a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/infrastructure/ErrorHintsProviderTest/testShortErrors7.pass
+++++ b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/infrastructure/ErrorHintsProviderTest/testShortErrors7.pass
++@@ -1,6 +1,6 @@
++-5:21-5:25:error:cannot find symbol
++- symbol:class List
++- location:class TestShortErrors7
++ 5:8-5:19:error:cannot find symbol
++ symbol:variable Collections
++ location:class TestShortErrors7
+++5:21-5:25:error:cannot find symbol
+++ symbol:class List
+++ location:class TestShortErrors7
++diff --git a/java.hints/test/unit/data/org/netbeans/test/java/hints/ImplementDefaultMethods1.java b/java.hints/test/unit/data/org/netbeans/test/java/hints/ImplementDefaultMethods1.java
++deleted file mode 100644
++index 0a018f353..000000000
++--- a/java.hints/test/unit/data/org/netbeans/test/java/hints/ImplementDefaultMethods1.java
+++++ /dev/null
++@@ -1,9 +0,0 @@
++-package org.netbeans.test.java.hints;
++-
++-/**
++- *
++- * @author sdedic
++- */
++-public class ImplementDefaultMethods1 implements java.util.Iterator<String> {
++-
++-}
++diff --git a/java.hints/test/unit/data/org/netbeans/test/java/hints/ImplementDefaultMethods2.java b/java.hints/test/unit/data/org/netbeans/test/java/hints/ImplementDefaultMethods2.java
++deleted file mode 100644
++index f74c78cee..000000000
++--- a/java.hints/test/unit/data/org/netbeans/test/java/hints/ImplementDefaultMethods2.java
+++++ /dev/null
++@@ -1,9 +0,0 @@
++-package org.netbeans.test.java.hints;
++-
++-/**
++- *
++- * @author sdedic
++- */
++-public class ImplementDefaultMethods2 implements java.util.Iterator {
++-
++-}
++diff --git a/java.hints/test/unit/data/org/netbeans/test/java/hints/ImplementEnumMethods.java b/java.hints/test/unit/data/org/netbeans/test/java/hints/ImplementEnumMethods.java
++deleted file mode 100644
++index 5e700899e..000000000
++--- a/java.hints/test/unit/data/org/netbeans/test/java/hints/ImplementEnumMethods.java
+++++ /dev/null
++@@ -1,14 +0,0 @@
++-package org.netbeans.test.java.hints;
++-
++-/**
++- *
++- * @author sdedic
++- */
++-public class ImplementEnumMethods {
++- enum E {
++- ONE, TWO, THREE;
++-
++- public abstract String kuk();
++- }
++-
++-}
++diff --git a/java.hints/test/unit/src/org/netbeans/modules/java/editor/codegen/ImplementGeneratorAccessor.java b/java.hints/test/unit/src/org/netbeans/modules/java/editor/codegen/ImplementGeneratorAccessor.java
++deleted file mode 100644
++index 1f166b23a..000000000
++--- a/java.hints/test/unit/src/org/netbeans/modules/java/editor/codegen/ImplementGeneratorAccessor.java
+++++ /dev/null
++@@ -1,59 +0,0 @@
++-/*
++- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++- *
++- * Copyright 2016 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
++- *
++- * The contents of this file are subject to the terms of either the GNU
++- * General Public License Version 2 only ("GPL") or the Common
++- * Development and Distribution License("CDDL") (collectively, the
++- * "License"). You may not use this file except in compliance with the
++- * License. You can obtain a copy of the License at
++- * http://www.netbeans.org/cddl-gplv2.html
++- * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++- * specific language governing permissions and limitations under the
++- * License. When distributing the software, include this License Header
++- * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
++- * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
++- * accompanied this code. If applicable, add the following below the
++- * License Header, with the fields enclosed by brackets [] replaced by
++- * your own identifying information:
++- * "Portions Copyrighted [year] [name of copyright owner]"
++- *
++- * If you wish your version of this file to be governed by only the CDDL
++- * or only the GPL Version 2, indicate your decision by adding
++- * "[Contributor] elects to include this software in this distribution
++- * under the [CDDL or GPL Version 2] license." If you do not indicate a
++- * single choice of license, a recipient has the option to distribute
++- * your version of this file under either the CDDL, the GPL Version 2 or
++- * to extend the choice of license to its licensees as provided above.
++- * However, if you add GPL Version 2 code and therefore, elected the GPL
++- * Version 2 license, then the option applies only if the new code is
++- * made subject to such option by the copyright holder.
++- *
++- * Contributor(s):
++- *
++- * Portions Copyrighted 2016 Sun Microsystems, Inc.
++- */
++-package org.netbeans.modules.java.editor.codegen;
++-
++-import java.util.List;
++-import java.util.function.BiFunction;
++-import javax.lang.model.element.Element;
++-import javax.lang.model.element.TypeElement;
++-import org.netbeans.api.java.source.CompilationInfo;
++-import org.netbeans.api.java.source.ElementHandle;
++-
++-/**
++- *
++- * @author sdedic
++- */
++-public class ImplementGeneratorAccessor {
++- public static void setOverrideSelection(BiFunction<CompilationInfo, TypeElement, List<ElementHandle<? extends Element>>> f) {
++- ImplementOverrideMethodGenerator.testOverrideMethodsSelection = f;
++- }
++-}
++diff --git a/java.hints/test/unit/src/org/netbeans/modules/java/hints/ArithmeticUtilitiesTest.java b/java.hints/test/unit/src/org/netbeans/modules/java/hints/ArithmeticUtilitiesTest.java
++index 23cd5ff7b..a892aff7e 100644
++--- a/java.hints/test/unit/src/org/netbeans/modules/java/hints/ArithmeticUtilitiesTest.java
+++++ b/java.hints/test/unit/src/org/netbeans/modules/java/hints/ArithmeticUtilitiesTest.java
++@@ -224,40 +224,20 @@ public class ArithmeticUtilitiesTest extends TestBase {
++ performWithFields("var2 % var1", 2, "static final short var1 = 3", "static final short var2 = 11");
++ }
++
++- /**
++- * Checks that evaluation of 'b' does not recurse indefinitely as it errneously references
++- * itself in the declaration assignment. See issue #262309
++- *
++- * @throws Exception
++- */
++- public void testInvalidRecursion262309() throws Exception {
++- this.enhancedProcessing = true;
++- String code =
++- "package test;\n" +
++- "public class Test {\n"
++- + " public void t() {\n"
++- + " final int b = b + 1;\n"
++- + " System.err.println(b|);\n"
++- + " }\n"
++- + "}";
++- performTest(code, null, null);
++- }
++-
++ private boolean enhancedProcessing = false;
++
++ private void performTest(String context, String expression, Object golden) throws Exception {
++ int pos = context.indexOf('|');
++ prepareTest("test/Test.java", context.replaceAll(Pattern.quote("|"), ""));
++
+++ ExpressionTree expr = info.getTreeUtilities().parseExpression(expression, new SourcePositions[1]);
++ TreePath tp = info.getTreeUtilities().pathFor(pos);
++- TreePath toAnalyse = tp;
++- if (expression != null) {
++- ExpressionTree expr = info.getTreeUtilities().parseExpression(expression, new SourcePositions[1]);
++- Scope scope = info.getTrees().getScope(tp);
++- info.getTreeUtilities().attributeTree(expr, scope);
++- toAnalyse = new TreePath(tp, expr);
++- }
++- Object real = ArithmeticUtilities.compute(info, toAnalyse, true, enhancedProcessing);
+++ Scope scope = info.getTrees().getScope(tp);
+++
+++ info.getTreeUtilities().attributeTree(expr, scope);
+++
+++ Object real = ArithmeticUtilities.compute(info, new TreePath(tp, expr), true, enhancedProcessing);
+++
++ assertEquals(golden, real);
++ }
++
++diff --git a/java.hints/test/unit/src/org/netbeans/modules/java/hints/AssignResultToVariableTest.java b/java.hints/test/unit/src/org/netbeans/modules/java/hints/AssignResultToVariableTest.java
++index feb3ab8f5..f06031440 100644
++--- a/java.hints/test/unit/src/org/netbeans/modules/java/hints/AssignResultToVariableTest.java
+++++ b/java.hints/test/unit/src/org/netbeans/modules/java/hints/AssignResultToVariableTest.java
++@@ -317,27 +317,6 @@ public class AssignResultToVariableTest extends TreeRuleTestBase {
++ " }\n" +
++ "}").replaceAll("\\s+", " "));
++ }
++-
++- public void testInferBounds258167() throws Exception {
++- performFixTest("test/Test.java",
++- "package test;\n" +
++- "import java.util.Map;\n" +
++- "public class Test {\n" +
++- " void test(Map<? extends String, ? extends Number> map) {\n"
++- + " map.entr|ySet();//assign return value to a new variable here\n"
++- + " }\n"
++- + "}",
++- "4:16-4:16:hint:Assign Return Value To New Variable",
++- "FixImpl",
++- ("package test;\n" +
++- "import java.util.Map;\n" +
++- "import java.util.Set;\n" +
++- "public class Test {\n" +
++- " void test(Map<? extends String, ? extends Number> map) {\n"
++- + " Set<? extends Map.Entry<? extends String, ? extends Number>> entrySet = map.entrySet(); //assign return value to a new variable here\n"
++- + " }\n"
++- + "}").replaceAll("\\s+", " "));
++- }
++
++ protected List<ErrorDescription> computeErrors(CompilationInfo info, TreePath path, int offset) {
++ while (path != null && !new AssignResultToVariable().getTreeKinds().contains(path.getLeaf().getKind()))
++diff --git a/java.hints/test/unit/src/org/netbeans/modules/java/hints/IllegalInstanceOfTest.java b/java.hints/test/unit/src/org/netbeans/modules/java/hints/IllegalInstanceOfTest.java
++index a6bc3da79..8b892b62f 100644
++--- a/java.hints/test/unit/src/org/netbeans/modules/java/hints/IllegalInstanceOfTest.java
+++++ b/java.hints/test/unit/src/org/netbeans/modules/java/hints/IllegalInstanceOfTest.java
++@@ -31,13 +31,10 @@
++ package org.netbeans.modules.java.hints;
++
++ import com.sun.source.util.TreePath;
++-import java.io.File;
++ import java.util.List;
++ import org.netbeans.api.java.source.CompilationInfo;
++ import org.netbeans.modules.java.hints.infrastructure.TreeRuleTestBase;
++ import org.netbeans.spi.editor.hints.ErrorDescription;
++-import org.openide.filesystems.FileObject;
++-import org.openide.filesystems.FileUtil;
++
++ /**
++ *
++@@ -92,19 +89,4 @@ public class IllegalInstanceOfTest extends TreeRuleTestBase {
++ return new IllegalInstanceOf().run(info, path);
++ }
++
++- @Override
++- protected FileObject[] extraClassPath() {
++- String s = System.getProperty("hints-tools.jar.location");
++- if (s != null) {
++- File f = new File(s);
++- if (f.canRead()) {
++- FileObject arch = FileUtil.toFileObject(f);
++- FileObject root = FileUtil.getArchiveRoot(arch);
++- return new FileObject[] { root == null ? arch : root };
++- }
++- }
++- return super.extraClassPath();
++- }
++-
++-
++ }
++diff --git a/java.hints/test/unit/src/org/netbeans/modules/java/hints/SerialVersionUIDTest.java b/java.hints/test/unit/src/org/netbeans/modules/java/hints/SerialVersionUIDTest.java
++index fb452e960..fe3828029 100644
++--- a/java.hints/test/unit/src/org/netbeans/modules/java/hints/SerialVersionUIDTest.java
+++++ b/java.hints/test/unit/src/org/netbeans/modules/java/hints/SerialVersionUIDTest.java
++@@ -1,7 +1,7 @@
++ /*
++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++ *
++- * Copyright 2010, 2016 Oracle and/or its affiliates. All rights reserved.
+++ * Copyright 2010 Oracle and/or its affiliates. All rights reserved.
++ *
++ * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++ * Other names may be trademarks of their respective owners.
++@@ -23,19 +23,6 @@
++ * License Header, with the fields enclosed by brackets [] replaced by
++ * your own identifying information:
++ * "Portions Copyrighted [year] [name of copyright owner]"
++- *
++- * If you wish your version of this file to be governed by only the CDDL
++- * or only the GPL Version 2, indicate your decision by adding
++- * "[Contributor] elects to include this software in this distribution
++- * under the [CDDL or GPL Version 2] license." If you do not indicate a
++- * single choice of license, a recipient has the option to distribute
++- * your version of this file under either the CDDL, the GPL Version 2 or
++- * to extend the choice of license to its licensees as provided above.
++- * However, if you add GPL Version 2 code and therefore, elected the GPL
++- * Version 2 license, then the option applies only if the new code is
++- * made subject to such option by the copyright holder.
++- *
++- * Contributor(s):
++ */
++ package org.netbeans.modules.java.hints;
++
++diff --git a/java.hints/test/unit/src/org/netbeans/modules/java/hints/StaticImportTest.java b/java.hints/test/unit/src/org/netbeans/modules/java/hints/StaticImportTest.java
++index 8d6957ac1..834240411 100644
++--- a/java.hints/test/unit/src/org/netbeans/modules/java/hints/StaticImportTest.java
+++++ b/java.hints/test/unit/src/org/netbeans/modules/java/hints/StaticImportTest.java
++@@ -1,7 +1,7 @@
++ /*
++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++ *
++- * Copyright 2010, 2016 Oracle and/or its affiliates. All rights reserved.
+++ * Copyright 2010 Oracle and/or its affiliates. All rights reserved.
++ *
++ * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++ * Other names may be trademarks of their respective owners.
++@@ -24,20 +24,9 @@
++ * your own identifying information:
++ * "Portions Copyrighted [year] [name of copyright owner]"
++ *
++- * If you wish your version of this file to be governed by only the CDDL
++- * or only the GPL Version 2, indicate your decision by adding
++- * "[Contributor] elects to include this software in this distribution
++- * under the [CDDL or GPL Version 2] license." If you do not indicate a
++- * single choice of license, a recipient has the option to distribute
++- * your version of this file under either the CDDL, the GPL Version 2 or
++- * to extend the choice of license to its licensees as provided above.
++- * However, if you add GPL Version 2 code and therefore, elected the GPL
++- * Version 2 license, then the option applies only if the new code is
++- * made subject to such option by the copyright holder.
++- *
++- */
++-/*
++- * Contributor(s): markiewb
+++ * Contributor(s):
+++
+++ * Portions Copyrighted 2014 markiewb
++ */
++ package org.netbeans.modules.java.hints;
++
++@@ -211,4 +200,4 @@ public class StaticImportTest extends NbTestCase {
++ .assertWarnings();
++ }
++
++-}
+++}
++\ No newline at end of file
++diff --git a/java.hints/test/unit/src/org/netbeans/modules/java/hints/StringBuilderAppendTest.java b/java.hints/test/unit/src/org/netbeans/modules/java/hints/StringBuilderAppendTest.java
++index 8d7f21126..cf0b58667 100644
++--- a/java.hints/test/unit/src/org/netbeans/modules/java/hints/StringBuilderAppendTest.java
+++++ b/java.hints/test/unit/src/org/netbeans/modules/java/hints/StringBuilderAppendTest.java
++@@ -72,7 +72,7 @@ public class StringBuilderAppendTest extends NbTestCase {
++ "public class Test {\n" +
++ " private void test(int a, int b) {\n" +
++ " StringBuilder sb = new StringBuilder();\n" +
++- " sb.append(\"ab\").append(a).append(\"c\").append(b);\n" +
+++ " sb.append(\"a\" + \"b\").append(a).append(\"c\").append(b);\n" +
++ " }\n" +
++ "}\n");
++ }
++@@ -95,7 +95,7 @@ public class StringBuilderAppendTest extends NbTestCase {
++ "public class Test {\n" +
++ " private void test(int a, int b) {\n" +
++ " StringBuffer sb = new StringBuffer();\n" +
++- " sb.append(\"ab\").append(a).append(\"c\").append(b);\n" +
+++ " sb.append(\"a\" + \"b\").append(a).append(\"c\").append(b);\n" +
++ " }\n" +
++ "}\n");
++ }
++@@ -119,7 +119,7 @@ public class StringBuilderAppendTest extends NbTestCase {
++ "public class Test {\n" +
++ " private void test(int a, int b) {\n" +
++ " StringBuffer sb = new StringBuffer();\n" +
++- " sb.append(\"ab\").append(a).append(\"c\" + CONST);\n" +
+++ " sb.append(\"a\" + \"b\").append(a).append(\"c\" + CONST);\n" +
++ " }\n" +
++ " private static final String CONST = \"d\";\n" +
++ "}\n");
++@@ -186,7 +186,7 @@ public class StringBuilderAppendTest extends NbTestCase {
++ "public class Test {\n" +
++ " private void test(int a, int b) {\n" +
++ " StringBuffer sb = new StringBuffer();\n" +
++- " sb.append(\"ab\").append(a).append(\"c\");\n" +
+++ " sb.append(\"a\" + \"b\").append(a).append(\"c\");\n" +
++ " }\n" +
++ " private static final String CONST = \"d\";\n" +
++ "}\n");
++diff --git a/java.hints/test/unit/src/org/netbeans/modules/java/hints/bugs/BroadCatchBlockTest.java b/java.hints/test/unit/src/org/netbeans/modules/java/hints/bugs/BroadCatchBlockTest.java
++index 1cd0ee5c2..a3d2657a2 100644
++--- a/java.hints/test/unit/src/org/netbeans/modules/java/hints/bugs/BroadCatchBlockTest.java
+++++ b/java.hints/test/unit/src/org/netbeans/modules/java/hints/bugs/BroadCatchBlockTest.java
++@@ -129,7 +129,7 @@ public class BroadCatchBlockTest extends NbTestCase {
++ assertOutput(f(), golden("TwoExceptionsMulti"));
++ }
++
++- private static final String FIX_SEPARATE_CATCHES = "FIX_UseSpecificCatchSplit";
+++ private static final String FIX_SEPARATE_CATCHES = "Generate catch handlers for specific exceptions";
++ private static final String FIX_SPECIFIC_CATCH2 = "FIX_UseSpecificCatch";
++
++ private static final String[] warn_twoCommonParents = {
++diff --git a/java.hints/test/unit/src/org/netbeans/modules/java/hints/bugs/MalformedFormatStringTest.java b/java.hints/test/unit/src/org/netbeans/modules/java/hints/bugs/MalformedFormatStringTest.java
++index 5dff2c150..757d950ee 100644
++--- a/java.hints/test/unit/src/org/netbeans/modules/java/hints/bugs/MalformedFormatStringTest.java
+++++ b/java.hints/test/unit/src/org/netbeans/modules/java/hints/bugs/MalformedFormatStringTest.java
++@@ -130,7 +130,7 @@ public class MalformedFormatStringTest extends NbTestCase {
++ "}"
++ )
++ .run(MalformedFormatString.class)
++- .assertWarnings("4:37-4:42:verifier:Malformed format string: Width must be specified in `%-d'");
+++ .assertWarnings("4:37-4:42:verifier:Malformed format string: Width must be specified in `-d'");
++ }
++
++ public void testMismatchedFlags() throws Exception {
++diff --git a/java.hints/test/unit/src/org/netbeans/modules/java/hints/bugs/NPECheckTest.java b/java.hints/test/unit/src/org/netbeans/modules/java/hints/bugs/NPECheckTest.java
++index a28c9f2eb..3ee494d14 100644
++--- a/java.hints/test/unit/src/org/netbeans/modules/java/hints/bugs/NPECheckTest.java
+++++ b/java.hints/test/unit/src/org/netbeans/modules/java/hints/bugs/NPECheckTest.java
++@@ -1,11 +1,8 @@
++ /*
++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++- *
++- * Copyright 1997-2010 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
++- *
+++ *
+++ * Copyright 1997-2012 Sun Microsystems, Inc. All rights reserved.
+++ *
++ * The contents of this file are subject to the terms of either the GNU
++ * General Public License Version 2 only ("GPL") or the Common
++ * Development and Distribution License("CDDL") (collectively, the
++@@ -16,9 +13,9 @@
++ * specific language governing permissions and limitations under the
++ * License. When distributing the software, include this License Header
++ * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
+++ * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
++ * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
+++ * by Sun in the GPL Version 2 section of the License file that
++ * accompanied this code. If applicable, add the following below the
++ * License Header, with the fields enclosed by brackets [] replaced by
++ * your own identifying information:
++diff --git a/java.hints/test/unit/src/org/netbeans/modules/java/hints/bugs/ThrowableNotThrownTest.java b/java.hints/test/unit/src/org/netbeans/modules/java/hints/bugs/ThrowableNotThrownTest.java
++index ed4fa7924..b5769ab3b 100644
++--- a/java.hints/test/unit/src/org/netbeans/modules/java/hints/bugs/ThrowableNotThrownTest.java
+++++ b/java.hints/test/unit/src/org/netbeans/modules/java/hints/bugs/ThrowableNotThrownTest.java
++@@ -336,38 +336,4 @@ public class ThrowableNotThrownTest extends NbTestCase {
++ .run(ThrowableNotThrown.class)
++ .assertWarnings();
++ }
++-
++- /**
++- * Checks that passing throwable to throw statement through exception parameter works - does not report a warning
++- * See issue #262558
++- */
++- public void testThrowableAssignedToExceptionParameter() throws Exception {
++- HintTest.create()
++- .input(
++- "package test;\n" +
++- "import java.io.FileInputStream;\n" +
++- "import java.io.FileNotFoundException;\n" +
++- "import java.io.IOException;\n" +
++- "\n" +
++- "public class Test { \n" +
++- " void test(Exception ex2) throws Exception {\n" +
++- " try {\n" +
++- " new FileInputStream(\"/foo\");\n" +
++- " } catch (FileNotFoundException ex) {\n" +
++- " ex2 = processException(ex);\n" +
++- " throw ex2;\n" +
++- " } catch (IOException ex) {\n" +
++- " ex = (IOException)processException(ex);\n" +
++- " throw ex;\n" +
++- " }\n" +
++- " } \n" +
++- " \n" +
++- " private Exception processException(Exception ex) {\n" +
++- " return null;\n" +
++- " }\n" +
++- "}"
++- )
++- .run(ThrowableNotThrown.class)
++- .assertWarnings();
++- }
++ }
++diff --git a/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/Bundle_test.properties b/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/Bundle_test.properties
++index 3530ca9c3..051b8e28f 100644
++--- a/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/Bundle_test.properties
+++++ b/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/Bundle_test.properties
++@@ -76,11 +76,3 @@ FIX_AddConstructor=FIX_AddConstructor:{0}
++ FIX_AccessError_PUBLIC=FIX_AccessError_PUBLIC:{0}
++ FIX_AccessError_PROTECTED=FIX_AccessError_PROTECTED:{0}
++ FIX_AccessError_PACKAGE_PRIVATE=FIX_AccessError_PACKAGE_PRIVATE:{0}
++-
++-LBL_Impl_Abstract_Methods=LBL_Impl_Abstract_Methods
++-ERR_CannotOverrideAbstractMethods=ERR_CannotOverrideAbstractMethods
++-LBL_FIX_Impl_Methods_Enum_Values2=LBL_FIX_Impl_Methods_Enum_Values2
++-LBL_FIX_Make_Class_Abstract=LBL_FIX_Make_Class_Abstract
++-LBL_FIX_Impl_Abstract_Methods=LBL_FIX_Impl_Abstract_Methods
++-WARN_FoundConflictingMethods1=WARN_FoundConflictingMethods1
++-WARN_FoundConflictingMethodsMany=WARN_FoundConflictingMethodsMany
++diff --git a/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/ErrorHintsTest.java b/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/ErrorHintsTest.java
++index 21e7c5d83..8e45fdd45 100644
++--- a/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/ErrorHintsTest.java
+++++ b/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/ErrorHintsTest.java
++@@ -43,15 +43,7 @@
++ */
++ package org.netbeans.modules.java.hints.errors;
++
++-import java.util.ArrayList;
++-import java.util.List;
++-import javax.lang.model.element.Element;
++-import org.netbeans.api.java.source.CompilationInfo;
++-import org.netbeans.api.java.source.ElementHandle;
++-import org.netbeans.modules.java.editor.codegen.ImplementGeneratorAccessor;
++ import org.netbeans.modules.java.hints.infrastructure.HintsTestBase;
++-import org.openide.filesystems.FileObject;
++-import org.openide.filesystems.FileUtil;
++ import org.openide.util.NbBundle;
++
++ /**
++@@ -77,37 +69,37 @@ public class ErrorHintsTest extends HintsTestBase {
++ // }
++
++ //
++- public void testImplementAbstractMethodsHint1() throws Exception {
++- performTest("ImplementAbstractMethods1", "LBL_FIX_Impl_Abstract_Methods", 16, 60);
++- }
++-
++- public void testImplementAbstractMethodsHint2() throws Exception {
++- performTest("ImplementAbstractMethods2", "LBL_FIX_Impl_Abstract_Methods", 17, 15);
++- }
++-
++- public void testImplementAbstractMethodsHint3() throws Exception {
++- performTest("ImplementAbstractMethods3", "LBL_FIX_Impl_Abstract_Methods", 17, 25);
++- }
++-
++- public void testImplementAbstractMethodsHint4() throws Exception {
++- performTest("ImplementAbstractMethods4", "LBL_FIX_Impl_Abstract_Methods", 16, 30);
++- }
++-
++- public void testImplementAbstractMethodsHint5() throws Exception {
++- performTest("ImplementAbstractMethods5", "LBL_FIX_Impl_Abstract_Methods", 16, 30);
++- }
++-
++- public void testImplementAbstractMethodsHint6() throws Exception {
++- performTest("ImplementAbstractMethods6", "LBL_FIX_Impl_Abstract_Methods", 8, 5);
++- }
++-
++- public void testImplementAbstractMethodsHint7() throws Exception {
++- performTest("ImplementAbstractMethods7", "LBL_FIX_Impl_Abstract_Methods", 9, 25);
++- }
++-
++- public void testImplementAbstractMethodsHint8() throws Exception {
++- performTest("ImplementAbstractMethods8", "LBL_FIX_Impl_Abstract_Methods", 12, 43);
++- }
+++// public void testImplementAbstractMethodsHint1() throws Exception {
+++// performTest("ImplementAbstractMethods1", "Implement", 16, 60);
+++// }
+++//
+++// public void testImplementAbstractMethodsHint2() throws Exception {
+++// performTest("ImplementAbstractMethods2", "Implement", 17, 15);
+++// }
+++//
+++// public void testImplementAbstractMethodsHint3() throws Exception {
+++// performTest("ImplementAbstractMethods3", "Implement", 17, 25);
+++// }
+++//
+++// public void testImplementAbstractMethodsHint4() throws Exception {
+++// performTest("ImplementAbstractMethods4", "Implement", 16, 30);
+++// }
+++//
+++// public void testImplementAbstractMethodsHint5() throws Exception {
+++// performTest("ImplementAbstractMethods5", "Implement", 16, 30);
+++// }
+++//
+++// public void testImplementAbstractMethodsHint6() throws Exception {
+++// performTest("ImplementAbstractMethods6", "Implement", 8, 5);
+++// }
+++//
+++// public void testImplementAbstractMethodsHint7() throws Exception {
+++// performTest("ImplementAbstractMethods7", "Implement", 9, 25);
+++// }
+++//
+++// public void testImplementAbstractMethodsHint8() throws Exception {
+++// performTest("ImplementAbstractMethods8", "Implement", 12, 43);
+++// }
++
++ public void testImplementAbstractMethodsHint9() throws Exception {
++ performTestDoNotPerform("ImplementAbstractMethods9", 8, 15);
++@@ -118,45 +110,7 @@ public class ErrorHintsTest extends HintsTestBase {
++ }
++
++ public void testImplementAbstractMethodsHint11() throws Exception {
++- performTest("ImplementAbstractMethods11", "LBL_FIX_Impl_Abstract_Methods", 8, 15);
++- }
++-
++- private List<ElementHandle<? extends Element>> findElementHandles(CompilationInfo info, String... specs) {
++- List<ElementHandle<? extends Element>> result = new ArrayList(specs.length);
++- for (String spec : specs) {
++- Element el = info.getElementUtilities().findElement(spec);
++- if (el != null) {
++- result.add(ElementHandle.create(el));
++- }
++- }
++- return result;
++- }
++-
++- public void testImplementDefaultMethods1() throws Exception {
++- ImplementGeneratorAccessor.setOverrideSelection((info, type) ->
++- findElementHandles(info,
++- "java.util.Iterator.hasNext()",
++- "java.util.Iterator.next()"
++- )
++- );
++- performTest("ImplementDefaultMethods1", "ImplementDefaultMethods1", "LBL_FIX_Impl_Abstract_Methods", 7, 15, true, "1.8");
++- }
++-
++- public void testImplementDefaultMethods2() throws Exception {
++- ImplementGeneratorAccessor.setOverrideSelection((info, type) -> {
++- assertEquals("Wrong number of default overridable methods",
++- 4, info.getElementUtilities().findUnimplementedMethods(type, true).size());
++- return findElementHandles(info,
++- "java.util.Iterator.hasNext()",
++- "java.util.Iterator.next()",
++- "java.util.Iterator.remove()"
++- );
++- });
++- performTest("ImplementDefaultMethods2", "ImplementDefaultMethods2", "LBL_FIX_Impl_Abstract_Methods", 7, 15, true, "1.8");
++- }
++-
++- public void testImplementEnumMethods() throws Exception {
++- performTest("ImplementEnumMethods", "ImplementEnumMethods", "LBL_FIX_Impl_Methods_Enum_Values2", 8, 11, true, "1.8");
+++ performTest("ImplementAbstractMethods11", "Implement", 8, 15);
++ }
++
++ // public void testAddSemicolonHint() throws Exception {
++@@ -497,28 +451,17 @@ public class ErrorHintsTest extends HintsTestBase {
++ }
++
++ public void testMakeClassAbstract1() throws Exception {
++- performTest("org.netbeans.test.java.hints.MakeClassAbstract1", "LBL_FIX_Make_Class_Abstract", 3, 1);
+++ performTest("org.netbeans.test.java.hints.MakeClassAbstract1", "abstract", 3, 1);
++ }
++
++ public void testMakeClassAbstract2() throws Exception {
++- performTest("org.netbeans.test.java.hints.MakeClassAbstract2", "LBL_FIX_Make_Class_Abstract", 3, 1);
+++ performTest("org.netbeans.test.java.hints.MakeClassAbstract2", "abstract", 3, 1);
++ }
++
++ public void testMakeClassAbstract3() throws Exception {
++- performTest("org.netbeans.test.java.hints.MakeClassAbstract3", "LBL_FIX_Make_Class_Abstract", 3, 1);
++- }
++-
++- @Override
++- protected void copyAdditionalData() throws Exception {
++- super.copyAdditionalData();
++- FileObject out = packageRoot;
++- FileObject src = FileUtil.toFileObject(getDataDir());
++- src = src.getFileObject("org/netbeans/test/java/hints/pkg");
++- FileUtil.copyFile(src, out, src.getName());
+++ performTest("org.netbeans.test.java.hints.MakeClassAbstract3", "abstract", 3, 1);
++ }
++
++-
++-
++ static {
++ NbBundle.setBranding("test");
++ }
++diff --git a/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/ImplementAllAbstractMethodsTest.java b/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/ImplementAllAbstractMethodsTest.java
++index f6746c378..f2a157cd3 100644
++--- a/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/ImplementAllAbstractMethodsTest.java
+++++ b/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/ImplementAllAbstractMethodsTest.java
++@@ -45,10 +45,9 @@ package org.netbeans.modules.java.hints.errors;
++ import com.sun.source.util.TreePath;
++ import java.util.List;
++ import org.netbeans.api.java.source.CompilationInfo;
++-import org.netbeans.modules.java.hints.errors.ImplementAllAbstractMethods.DebugFix;
++-import org.netbeans.modules.java.hints.errors.ImplementAllAbstractMethods.ImplementOnEnumValues2;
+++import org.netbeans.modules.java.hints.errors.ImplementAllAbstractMethods.FixImpl;
+++import org.netbeans.modules.java.hints.errors.ImplementAllAbstractMethods.ImplementOnEnumValues;
++ import org.netbeans.modules.java.hints.infrastructure.ErrorHintsTestBase;
++-import org.netbeans.modules.java.hints.spiimpl.JavaFixImpl;
++ import org.netbeans.spi.editor.hints.Fix;
++
++ /**Legacy tests are in ErrorHintsTest.
++@@ -111,17 +110,6 @@ public class ImplementAllAbstractMethodsTest extends ErrorHintsTestBase {
++ "}\n").replaceAll("[ \t\n]+", " "));
++ }
++
++- public void test204252c() throws Exception {
++- performFixTest("test/Test.java",
++- "package test;\n" +
++- "final cl|ass Test implements Runnable {\n" +
++- "}\n",
++- "MA:Test",
++- ("package test;\n" +
++- "abstract class Test implements Runnable {\n" +
++- "}\n").replaceAll("[ \t\n]+", " "));
++- }
++-
++ public void test209164() throws Exception {
++ performAnalysisTest("test/Test.java",
++ "package test;\n" +
++@@ -201,15 +189,11 @@ public class ImplementAllAbstractMethodsTest extends ErrorHintsTestBase {
++
++ @Override
++ protected String toDebugString(CompilationInfo info, Fix f) {
++- Object o = f;
++- if (o instanceof JavaFixImpl) {
++- o = ((JavaFixImpl)f).jf;
++- }
++- if (o instanceof DebugFix) {
++- return ((DebugFix) o).toDebugString();
++- } else if (o instanceof ImplementOnEnumValues2) {
+++ if (f instanceof FixImpl) {
+++ return ((FixImpl) f).toDebugString();
+++ } else if (f instanceof ImplementOnEnumValues) {
++ return "IOEV";
++- } else
+++ }
++ return super.toDebugString(info, f);
++ }
++
++diff --git a/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/MissingReturnStatementTest.java b/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/MissingReturnStatementTest.java
++index de7d341e1..fbcc1cec8 100644
++--- a/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/MissingReturnStatementTest.java
+++++ b/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/MissingReturnStatementTest.java
++@@ -135,27 +135,9 @@ public class MissingReturnStatementTest extends ErrorHintsTestBase {
++ "package test; import java.util.Collection; import java.util.List; public class Test { public static Collection<String> join(String[] arr1, String[] arr2) { List<String> result; return null; } } ");
++ }
++
++- public void testMissingLambdaReturn() throws Exception {
++- diagKey = "compiler.err.prob.found.req/compiler.misc.incompatible.ret.type.in.lambda/compiler.misc.missing.ret.val"; // NOI18N
++- performFixTest("test/Test.java",
++- "package test;\n" +
++- "import java.util.Collection;\n" +
++- "import java.util.concurrent.Callable;\n" +
++- "public class Test {\n" +
++- " public static void test() {\n" +
++- " Callable<String> c = |() -> {" +
++- " };\n" +
++- " }\n" +
++- "}\n",
++- "FIX_AddReturnStatement",
++- "package test; import java.util.Collection; import java.util.concurrent.Callable; public class Test { public static void test() { Callable<String> c = () -> {return null; }; } } ");
++- }
++-
++- private String diagKey = "compiler.err.missing.ret.stmt"; // NOI18N
++-
++ @Override
++ protected List<Fix> computeFixes(CompilationInfo info, int pos, TreePath path) throws Exception {
++- return new MissingReturnStatement().run(info, diagKey, pos, path, null);
+++ return new MissingReturnStatement().run(info, null, pos, path, null);
++ }
++
++ @Override
++diff --git a/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/RemoveInvalidModifierTest.java b/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/RemoveInvalidModifierTest.java
++index 596f9a641..f44b8fef0 100644
++--- a/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/RemoveInvalidModifierTest.java
+++++ b/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/RemoveInvalidModifierTest.java
++@@ -164,10 +164,10 @@ public class RemoveInvalidModifierTest extends ErrorHintsTestBase {
++ public void testRemoveMultipleFromMethod() throws Exception {
++ performFixTest("test/AnotherInterface.java",
++ "public interface I {\n"
++- + " protected native void ttt();\n"
+++ + " private native void ttt();\n"
++ + "}",
++ -1,
++- Bundle.FIX_RemoveInvalidModifier("protected,native", 2),
+++ Bundle.FIX_RemoveInvalidModifier("private,native", 2),
++ ("public interface I {\n"
++ + " void ttt();\n"
++ + "}").replaceAll("[ \t\n]+", " "));
++diff --git a/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/UtilitiesTest.java b/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/UtilitiesTest.java
++index 894a3ea8d..420b1c4d9 100644
++--- a/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/UtilitiesTest.java
+++++ b/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/UtilitiesTest.java
++@@ -45,7 +45,6 @@ package org.netbeans.modules.java.hints.errors;
++
++ import com.sun.source.tree.ExpressionTree;
++ import com.sun.source.tree.Scope;
++-import com.sun.source.tree.StatementTree;
++ import com.sun.source.tree.Tree.Kind;
++ import com.sun.source.util.SourcePositions;
++ import com.sun.source.util.TreePath;
++@@ -183,314 +182,8 @@ public class UtilitiesTest extends NbTestCase {
++ public void testFieldGroup3() throws Exception {
++ performResolveFieldGroupTest("package test; public class Test { private int a; |private int b;| private int c; }", 1);
++ }
++-
++- public void testExitsAllBranches1() throws Exception {
++- performExitsTest("package test;\n"
++- + "\n"
++- + "import java.util.ArrayList;\n"
++- + "import java.util.List;\n"
++- + "import java.util.Map;\n"
++- + "\n"
++- + "public class Test {\n"
++- + " public enum Day {\n"
++- + " SUNDAY, MONDAY, TUESDAY, WEDNESDAY,\n"
++- + " THURSDAY, FRIDAY, SATURDAY\n"
++- + " public class DayHolder {\n"
++- + " Day day;\n"
++- + " Day getDay() {\n"
++- + " return day;\n"
++- + " }\n"
++- + " }\n"
++- + "public class Test {\n"
++- + " public enum Day {\n"
++- + " SUNDAY, MONDAY, TUESDAY, WEDNESDAY,\n"
++- + " THURSDAY, FRIDAY, SATURDAY\n"
++- + " }\n"
++- + " public class DayHolder {\n"
++- + " Day day;\n"
++- + " Day getDay() {\n"
++- + " return day;\n"
++- + " }\n"
++- + " }\n"
++- + " public void test(Map<Integer, Day> evaluateExpressions) throws Exception {\n"
++- + " List<DayHolder> params = new ArrayList<>();\n"
++- + " for (int i = 0; i < params.size(); i++) {\n"
++- + " DayHolder p = params.get(i);\n"
++- + " if (evaluateExpressions.get(i) != null) {\n"
++- + " if (evaluateExpressions.get(i) == Day.SUNDAY) {\n"
++- + " // Do something 1\n"
++- + " } else if (evaluateExpressions.get(i) == Day.MONDAY) {\n"
++- + " swi|tch (p.getDay()) {\n"
++- + " case SUNDAY:\n"
++- + " break;\n"
++- + " default:\n"
++- + " throw new Exception(\"xxx\");\n"
++- + " }\n"
++- + " } else if (evaluateExpressions.get(i) == Day.TUESDAY) {\n"
++- + " // Do something 2\n"
++- + " }\n"
++- + " }\n"
++- + " }\n"
++- + " }\n"
++- + "}",
++- false);
++- }
++-
++- /**
++- * While may never enter its statement; return false.
++- */
++- public void testExitsAllBranchesWhile() throws Exception {
++- performExitsTest("package test;\n"
++- + "\n"
++- + "public class Test {\n"
++- + " public void test(boolean param) {\n"
++- + " whil|e (param) {\n"
++- + " throw new IllegalArgumentException();\n"
++- + " }\n"
++- + " }\n"
++- + "}",
++- false);
++- }
++-
++- /**
++- * While may never enter its statement; return false.
++- */
++- public void testExitsAllBranchesDo() throws Exception {
++- performExitsTest("package test;\n"
++- + "public class Test {\n"
++- + " public void test(boolean param) {\n"
++- + " ex: {\n"
++- + " d|o {\n"
++- + " break;\n"
++- + " } while (true);\n"
++- + " }\n"
++- + " }\n"
++- + "}",
++- false);
++- }
++-
++- /**
++- * While may never enter its statement; return false.
++- */
++- public void testExitsAllBranchesFor() throws Exception {
++- performExitsTest("package test;\n"
++- + "public class Test {\n"
++- + " public void test(boolean param) {\n"
++- + " ex: {|\n"
++- + " for (int i = 0; i < 5 ; i++) {\n"
++- + " break ex;\n"
++- + " }\n"
++- + " }\n"
++- + " }\n"
++- + "}",
++- false);
++- }
++-
++- /**
++- * While may never enter its statement; return false.
++- */
++- public void testExitsAllBranchesDoBreakOutside() throws Exception {
++- performExitsTest("package test;\n"
++- + "public class Test {\n"
++- + " public void test(boolean param) {\n"
++- + " ex: {\n"
++- + " d|o {\n"
++- + " break ex;\n"
++- + " } while (true);\n"
++- + " }\n"
++- + " }\n"
++- + "}",
++- true);
++- }
++-
++- /**
++- * All breaks break just the switch and continue execution
++- */
++- public void testExitsAllBranchesSwitch1() throws Exception {
++- performExitsTest("package test;\n"
++- + "public class Test {\n"
++- + " public void test(int param) {\n"
++- + " ex: {\n"
++- + " sw|itch (param) {\n"
++- + " case 0:\n"
++- + " break;\n"
++- + " case 1:\n"
++- + " break;\n"
++- + " default:\n"
++- + " break;\n"
++- + " }\n"
++- + " }\n"
++- + " }\n"
++- + "}",
++- false);
++- }
++-
++- /**
++- * all breaks break to the enclosing block, escaping from the switch
++- */
++- public void testExitsAllBranchesSwitchBreakOut() throws Exception {
++- performExitsTest("package test;\n"
++- + "public class Test {\n"
++- + " public void test(int param) {\n"
++- + " ex: {\n"
++- + " sw|itch (param) {\n"
++- + " case 0:\n"
++- + " break ex;\n"
++- + " case 1:\n"
++- + " break ex;\n"
++- + " default:\n"
++- + " break ex;\n"
++- + " }\n"
++- + " }\n"
++- + " }\n"
++- + "}",
++- true);
++- }
++-
++- /**
++- * two cases share the same break statement
++- */
++- public void testExitsAllBranchesSwitchJoinedCases() throws Exception {
++- performExitsTest("package test;\n"
++- + "public class Test {\n"
++- + " public void test(int param) {\n"
++- + " ex: {\n"
++- + " sw|itch (param) {\n"
++- + " case 0:\n"
++- + " case 1:\n"
++- + " break ex;\n"
++- + " default:\n"
++- + " break ex;\n"
++- + " }\n"
++- + " }\n"
++- + " }\n"
++- + "}",
++- true);
++- }
++-
++- /**
++- * two cases share the same break statement
++- */
++- public void testExitsAllBranchesEnumSwitchIncomplete() throws Exception {
++- performExitsTest("package test;\n"
++- + "public class Test {\n"
++- + " enum Num { ONE, TWO, THREE };\n"
++- + " public int test(Num param) {\n"
++- + " swi|tch (param) {\n"
++- + " case ONE:\n"
++- + " return 1;\n"
++- + " case TWO:\n"
++- + " return 2;\n"
++- + " }\n"
++- + " return 0;"
++- + " }\n"
++- + "}",
++- false);
++- }
++-
++- /**
++- * two cases share the same break statement
++- */
++- public void testExitsAllBranchesEnumSwitchComplete() throws Exception {
++- performExitsTest("package test;\n"
++- + "public class Test {\n"
++- + " enum Num { ONE, TWO, THREE };\n"
++- + " public int test(Num param) {\n"
++- + " swi|tch (param) {\n"
++- + " case ONE:\n"
++- + " return 1;\n"
++- + " case TWO:\n"
++- + " return 2;\n"
++- + " case THREE:\n"
++- + " return 3;\n"
++- + " }\n"
++- + " return 0;"
++- + " }\n"
++- + "}",
++- true);
++- }
++-
++- /**
++- * two cases share the same break statement
++- */
++- public void testExitsAllBranchesEnumSwitchWithDefault() throws Exception {
++- performExitsTest("package test;\n"
++- + "public class Test {\n"
++- + " enum Num { ONE, TWO, THREE };\n"
++- + " public int test(Num param) {\n"
++- + " swi|tch (param) {\n"
++- + " case ONE:\n"
++- + " return 1;\n"
++- + " case TWO:\n"
++- + " return 2;\n"
++- + " default:\n"
++- + " return 3;\n"
++- + " }\n"
++- + " return 0;"
++- + " }\n"
++- + "}",
++- true);
++- }
++-
++- /**
++- * Default does not contain any break, continues normally
++- */
++- public void testExitsAllBranchesSwitchLastWithoutBreak() throws Exception {
++- performExitsTest("package test;\n"
++- + "public class Test {\n"
++- + " public void test(int param) {\n"
++- + " ex: {\n"
++- + " sw|itch (param) {\n"
++- + " case 0:\n"
++- + " break ex;\n"
++- + " case 1:\n"
++- + " break ex;\n"
++- + " default:\n"
++- + " }\n"
++- + " }\n"
++- + " }\n"
++- + "}",
++- false);
++- }
++-
++- /**
++- * No default present, values not enumerated causes the switch to continue
++- */
++- public void testExitsAllBranchesSwitchDefaultMissing() throws Exception {
++- performExitsTest("package test;\n"
++- + "public class Test {\n"
++- + " public void test(int param) {\n"
++- + " ex: {\n"
++- + " swi|tch (param) {\n"
++- + " case 0:\n"
++- + " break ex;\n"
++- + " case 1:\n"
++- + " break ex;\n"
++- + " }\n"
++- + " }\n"
++- + " }\n"
++- + "}",
++- false);
++- }
++-
++- private void performExitsTest(String code, boolean expected) throws Exception {
++- int caretPos = code.indexOf('|');
++- code = code.replace("|", "");
++- prepareTest(code);
++- TreePath tp = info.getTreeUtilities().pathFor(caretPos);
++- while (tp != null && !StatementTree.class.isAssignableFrom(tp.getLeaf().getKind().asInterface())) {
++- tp = tp.getParentPath();
++- }
++- assertNotNull(tp);
++- boolean result = Utilities.exitsFromAllBranchers(info, tp);
++- assertEquals(expected, result);
++- }
++
++ protected void prepareTest(String code) throws Exception {
++- prepareTest(code, "Test");
++- }
++-
++- protected void prepareTest(String code, String className) throws Exception {
++ clearWorkDir();
++ FileObject workFO = FileUtil.toFileObject(getWorkDir());
++
++@@ -500,7 +193,7 @@ public class UtilitiesTest extends NbTestCase {
++ FileObject buildRoot = workFO.createFolder("build");
++ FileObject cache = workFO.createFolder("cache");
++
++- FileObject data = FileUtil.createData(sourceRoot, "test/" + className + ".java");
+++ FileObject data = FileUtil.createData(sourceRoot, "test/Test.java");
++
++ TestUtilities.copyStringToFile(FileUtil.toFile(data), code);
++
++@@ -613,5 +306,4 @@ public class UtilitiesTest extends NbTestCase {
++ assertEquals(goldenStart, start);
++ assertEquals(goldenEnd, end);
++ }
++-
++ }
++diff --git a/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/empty-class-template.xml b/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/empty-class-template.xml
++index ea2158c6f..abcbb6977 100644
++--- a/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/empty-class-template.xml
+++++ b/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/empty-class-template.xml
++@@ -21,7 +21,7 @@ License. When distributing the software, include this License Header
++ Notice in each file and include the License file at
++ nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
++ particular file as subject to the "Classpath" exception as provided
++-by Oracle in the GPL Version 2 section of the License file that
+++by Sun in the GPL Version 2 section of the License file that
++ accompanied this code. If applicable, add the following below the
++ License Header, with the fields enclosed by brackets [] replaced by
++ your own identifying information:
++diff --git a/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/only-imports-layer.xml b/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/only-imports-layer.xml
++index 2099490e5..b9a3cda00 100644
++--- a/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/only-imports-layer.xml
+++++ b/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/only-imports-layer.xml
++@@ -21,7 +21,7 @@ License. When distributing the software, include this License Header
++ Notice in each file and include the License file at
++ nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
++ particular file as subject to the "Classpath" exception as provided
++-by Oracle in the GPL Version 2 section of the License file that
+++by Sun in the GPL Version 2 section of the License file that
++ accompanied this code. If applicable, add the following below the
++ License Header, with the fields enclosed by brackets [] replaced by
++ your own identifying information:
++diff --git a/java.hints/test/unit/src/org/netbeans/modules/java/hints/infrastructure/HintsTestBase.java b/java.hints/test/unit/src/org/netbeans/modules/java/hints/infrastructure/HintsTestBase.java
++index 69d7b4396..fb899cc19 100644
++--- a/java.hints/test/unit/src/org/netbeans/modules/java/hints/infrastructure/HintsTestBase.java
+++++ b/java.hints/test/unit/src/org/netbeans/modules/java/hints/infrastructure/HintsTestBase.java
++@@ -112,7 +112,7 @@ public class HintsTestBase extends NbTestCase {
++
++ }
++
++- protected FileObject packageRoot;
+++ private FileObject packageRoot;
++ private FileObject testSource;
++ private JavaSource js;
++ protected CompilationInfo info;
++@@ -187,10 +187,6 @@ public class HintsTestBase extends NbTestCase {
++ protected void prepareTest(String capitalizedName) throws Exception {
++ prepareTest(capitalizedName, "1.5");
++ }
++-
++- protected void copyAdditionalData() throws Exception {
++-
++- }
++
++ protected void prepareTest(String capitalizedName, String sourceLevel) throws Exception {
++ File workFolder = new File(getWorkDir(), "work");
++@@ -234,7 +230,7 @@ public class HintsTestBase extends NbTestCase {
++ }
++
++ copyFiles(getDataDir(), FileUtil.toFile(sourceRoot), files);
++- copyAdditionalData();
+++
++ packageRoot.refresh();
++
++ testSource = packageRoot.getFileObject(testFileName);
++diff --git a/java.hints/test/unit/src/org/netbeans/modules/java/hints/introduce/IntroduceHintTest.java b/java.hints/test/unit/src/org/netbeans/modules/java/hints/introduce/IntroduceHintTest.java
++index e9b13cb0e..41597ca09 100644
++--- a/java.hints/test/unit/src/org/netbeans/modules/java/hints/introduce/IntroduceHintTest.java
+++++ b/java.hints/test/unit/src/org/netbeans/modules/java/hints/introduce/IntroduceHintTest.java
++@@ -358,7 +358,7 @@ public class IntroduceHintTest extends NbTestCase {
++ "}\n",
++ "package test; public class Test { public static void test() { Runnable name = new Runnable() { public void run() { throw new UnsupportedOperationException(); } }; t(name); } private static void t(Runnable r) {} } ",
++ new DialogDisplayerImpl("name", true, false, true),
++- 5, 0);
+++ 4, 0);
++ }
++
++ public void testSwitchCase219714() throws Exception {
++@@ -773,7 +773,7 @@ public class IntroduceHintTest extends NbTestCase {
++ "package test; public class Test { private static Runnable runnable; public static void test() { t(runnable); } private static void t(Runnable r) {} public Test() { runnable = new Runnable() { public void run() { throw new UnsupportedOperationException(); } }; } }",
++ new DialogDisplayerImpl2(null, IntroduceFieldPanel.INIT_CONSTRUCTORS, false, EnumSet
++ .<Modifier>of(Modifier.PRIVATE), false, true),
++- 5, 2);
+++ 4, 1);
++ }
++
++ public void testCorrectMethodSelection1() throws Exception {
++@@ -1227,7 +1227,7 @@ public class IntroduceHintTest extends NbTestCase {
++ "}\n",
++ "package test; public class Test { public static void test() { t(name()); } private static void t(Runnable r) {} private static Runnable name() { return new Runnable() { public void run() { throw new UnsupportedOperationException(); } }; } } ",
++ new DialogDisplayerImpl3("name", EnumSet.of(Modifier.PRIVATE), true),
++- 5, 3);
+++ 4, 2);
++ }
++
++ // public void testIntroduceMethodTooManyExceptions() throws Exception {
++diff --git a/java.hints/test/unit/src/org/netbeans/modules/java/hints/jackpot/hintsimpl/LoggerStringConcatTest.java b/java.hints/test/unit/src/org/netbeans/modules/java/hints/jackpot/hintsimpl/LoggerStringConcatTest.java
++index 9cbeff5e8..d4f223416 100644
++--- a/java.hints/test/unit/src/org/netbeans/modules/java/hints/jackpot/hintsimpl/LoggerStringConcatTest.java
+++++ b/java.hints/test/unit/src/org/netbeans/modules/java/hints/jackpot/hintsimpl/LoggerStringConcatTest.java
++@@ -174,7 +174,7 @@ public class LoggerStringConcatTest extends NbTestCase {
++ "import java.util.logging.Logger;\n" +
++ "public class Test {\n" +
++ " private void t(Logger l, int a, int b, int c) {\n" +
++- " l.log(Level.SEVERE, \"a=, b=''{0}''.\", b);\n" +
+++ " l.log(Level.SEVERE,\"a=\" + \", b=''{0}''.\", b);\n" +
++ " }\n" +
++ "}\n");
++ }
++diff --git a/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/Bundle_test.properties b/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/Bundle_test.properties
++index 65919bc95..6dbec9106 100644
++--- a/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/Bundle_test.properties
+++++ b/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/Bundle_test.properties
++@@ -47,8 +47,6 @@ FIX_JoinCatches=FIX_JoinCatches
++
++ ERR_UseSpecificCatch=ERR_UseSpecificCatch
++ FIX_UseSpecificCatch=FIX_UseSpecificCatch
++-FIX_UseSpecificCatchSplit=FIX_UseSpecificCatchSplit
++-FIX_UseSpecificCatchSingle=FIX_UseSpecificCatchSplit
++
++ TXT_ConvertToARM=TXT_ConvertToARM
++ FIX_MergeTryResources=FIX_MergeTryResources
++@@ -70,6 +68,3 @@ TEXT_UnnecessaryBoxing=TEXT_UnnecessaryBoxing
++ FIX_UnnecessaryBoxing1=FIX_UnnecessaryBoxing1
++ FIX_UnnecessaryBoxing2=FIX_UnnecessaryBoxing2
++ FIX_ChangeBoxingToTypecast=FIX_ChangeBoxingToTypecast
++-MSG_AnonymousConvertibleToLambda=MSG_AnonymousConvertibleToLambda
++-FIX_ConvertToMemberReference=FIX_ConvertToMemberReference
++-FIX_ConvertToLambda=FIX_ConvertToLambda
++diff --git a/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/ConvertToARMTest.java b/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/ConvertToARMTest.java
++index 3eb248359..6b06a4136 100644
++--- a/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/ConvertToARMTest.java
+++++ b/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/ConvertToARMTest.java
++@@ -87,29 +87,6 @@ public class ConvertToARMTest extends NbTestCase {
++ .assertOutput("package test;import java.io.InputStream;import java.io.FileInputStream;import java.io.File;public class Test { public void test() throws Exception { System.out.println(\"Start\"); try (InputStream in = new FileInputStream(new File(\"a\"))) { in.read(); } System.out.println(\"Done\"); }}");
++ }
++
++- public void testEFSimpleTryFinally() throws Exception {
++- HintTest
++- .create()
++- .input("package test;" +
++- "import java.io.InputStream;" +
++- "public class Test {" +
++- " public void test(InputStream in) throws Exception {" +
++- " System.out.println(\"Start\");" +
++- " try {" +
++- " in.read();" +
++- " } finally {" +
++- " in.close();" +
++- " }" +
++- " System.out.println(\"Done\");" +
++- " }" +
++- "}")
++- .sourceLevel("9")
++- .run(ConvertToARM.class)
++- .findWarning("0:178-0:180:verifier:TXT_ConvertToARM")
++- .applyFix("TXT_ConvertToARM")
++- .assertOutput("package test;import java.io.InputStream;public class Test { public void test(InputStream in) throws Exception { System.out.println(\"Start\"); try (in) { in.read(); } System.out.println(\"Done\"); }}");
++- }
++-
++ public void testTryFinally() throws Exception {
++ HintTest
++ .create()
++@@ -139,32 +116,6 @@ public class ConvertToARMTest extends NbTestCase {
++ .assertOutput("package test;import java.io.InputStream;import java.io.FileInputStream;import java.io.File;public class Test { public void test() throws Exception { System.out.println(\"Start\"); try (InputStream in = new FileInputStream(new File(\"a\"))) { in.read(); } catch (Exception e) { System.out.println(\"Ex\"); } finally { System.out.println(\"Fin\"); } System.out.println(\"Done\"); }}");
++ }
++
++- public void testEFTryFinally() throws Exception {
++- HintTest
++- .create()
++- .input("package test;" +
++- "import java.io.InputStream;" +
++- "public class Test {" +
++- " public void test(InputStream in) throws Exception {" +
++- " System.out.println(\"Start\");" +
++- " try {" +
++- " in.read();" +
++- " } catch (Exception e) {" +
++- " System.out.println(\"Ex\");" +
++- " } finally {" +
++- " in.close();" +
++- " System.out.println(\"Fin\");" +
++- " }" +
++- " System.out.println(\"Done\");" +
++- " }" +
++- "}")
++- .sourceLevel("9")
++- .run(ConvertToARM.class)
++- .findWarning("0:178-0:180:verifier:TXT_ConvertToARM")
++- .applyFix("TXT_ConvertToARM")
++- .assertOutput("package test;import java.io.InputStream;public class Test { public void test(InputStream in) throws Exception { System.out.println(\"Start\"); try (in) { in.read(); } catch (Exception e) { System.out.println(\"Ex\"); } finally { System.out.println(\"Fin\"); } System.out.println(\"Done\"); }}");
++- }
++-
++ public void testTryFinallyWithFinal() throws Exception {
++ HintTest
++ .create()
++@@ -245,25 +196,6 @@ public class ConvertToARMTest extends NbTestCase {
++ .assertOutput("package test;import java.io.InputStream;import java.io.FileInputStream;import java.io.File;public class Test { public void test() throws Exception { System.out.println(\"Start\"); try (InputStream in = new FileInputStream(new File(\"a\"))) { in.read(); } System.out.println(\"Done\"); }}");
++ }
++
++- public void testEFNoTry0Stms() throws Exception {
++- HintTest
++- .create()
++- .input("package test;" +
++- "import java.io.InputStream;" +
++- "public class Test {" +
++- " public void test(InputStream in) throws Exception {" +
++- " System.out.println(\"Start\");" +
++- " in.close();" +
++- " System.out.println(\"Done\");" +
++- " }" +
++- "}")
++- .sourceLevel("9")
++- .run(ConvertToARM.class)
++- .findWarning("0:161-0:163:verifier:TXT_ConvertToARM")
++- .applyFix("TXT_ConvertToARM")
++- .assertOutput("package test;import java.io.InputStream;public class Test { public void test(InputStream in) throws Exception { try (in) { System.out.println(\"Start\"); } System.out.println(\"Done\"); }}");
++- }
++-
++ public void testNoTry1Stm() throws Exception {
++ HintTest
++ .create()
++@@ -287,26 +219,6 @@ public class ConvertToARMTest extends NbTestCase {
++ .assertOutput("package test;import java.io.InputStream;import java.io.FileInputStream;import java.io.File;public class Test { public void test() throws Exception { System.out.println(\"Start\"); try (InputStream in = new FileInputStream(new File(\"a\"))) { in.read(); } System.out.println(\"Done\"); }}");
++ }
++
++- public void testEFNoTry1Stm() throws Exception {
++- HintTest
++- .create()
++- .input("package test;" +
++- "import java.io.InputStream;" +
++- "public class Test {" +
++- " public void test(InputStream in) throws Exception {" +
++- " System.out.println(\"Start\");" +
++- " in.read();" +
++- " in.close();" +
++- " System.out.println(\"Done\");" +
++- " }" +
++- "}")
++- .sourceLevel("9")
++- .run(ConvertToARM.class)
++- .findWarning("0:161-0:163:verifier:TXT_ConvertToARM")
++- .applyFix("TXT_ConvertToARM")
++- .assertOutput("package test;import java.io.InputStream;public class Test { public void test(InputStream in) throws Exception { try (in) { System.out.println(\"Start\"); in.read(); } System.out.println(\"Done\"); }}");
++- }
++-
++ public void testNoTryMoreStms() throws Exception {
++ HintTest
++ .create()
++@@ -331,27 +243,6 @@ public class ConvertToARMTest extends NbTestCase {
++ .assertOutput("package test;import java.io.InputStream;import java.io.FileInputStream;import java.io.File;public class Test { public void test() throws Exception { System.out.println(\"Start\"); try (InputStream in = new FileInputStream(new File(\"a\"))) { in.read(); in.read(); } System.out.println(\"Done\"); }}");
++ }
++
++- public void testEFNoTryMoreStms() throws Exception {
++- HintTest
++- .create()
++- .input("package test;" +
++- "import java.io.InputStream;" +
++- "public class Test {" +
++- " public void test(InputStream in) throws Exception {" +
++- " System.out.println(\"Start\");" +
++- " in.read();" +
++- " in.read();" +
++- " in.close();" +
++- " System.out.println(\"Done\");" +
++- " }" +
++- "}")
++- .sourceLevel("9")
++- .run(ConvertToARM.class)
++- .findWarning("0:161-0:163:verifier:TXT_ConvertToARM")
++- .applyFix("TXT_ConvertToARM")
++- .assertOutput("package test;import java.io.InputStream;public class Test { public void test(InputStream in) throws Exception { try (in) { System.out.println(\"Start\"); in.read(); in.read(); } System.out.println(\"Done\"); }}");
++- }
++-
++ public void testNoTry1StmFinal() throws Exception {
++ HintTest
++ .create()
++@@ -401,31 +292,6 @@ public class ConvertToARMTest extends NbTestCase {
++ .assertOutput("package test;import java.io.InputStream;import java.io.FileInputStream;import java.io.File;public class Test { public void test() throws Exception { try (InputStream in = new FileInputStream(new File(\"a\")); InputStream in2 = new FileInputStream(new File(\"a\"))) { in.read(); } }}");
++ }
++
++- public void testEFNestedInFinally() throws Exception {
++- HintTest
++- .create()
++- .input("package test;" +
++- "import java.io.InputStream;" +
++- "import java.io.FileInputStream;" +
++- "import java.io.File;" +
++- "public class Test {" +
++- " public void test(InputStream in) throws Exception {" +
++- " try {" +
++- " try (InputStream in2 = new FileInputStream(new File(\"a\"))){" +
++- " in.read();" +
++- " }" +
++- " } finally {" +
++- " in.close();" +
++- " }" +
++- " }" +
++- "}", false)
++- .sourceLevel("9")
++- .run(ConvertToARM.class)
++- .findWarning("0:269-0:271:verifier:TXT_ConvertToARM")
++- .applyFix("FIX_MergeTryResources")
++- .assertOutput("package test;import java.io.InputStream;import java.io.FileInputStream;import java.io.File;public class Test { public void test(InputStream in) throws Exception { try (in; InputStream in2 = new FileInputStream(new File(\"a\"))) { in.read(); } }}");
++- }
++-
++ public void testNestedInFinal() throws Exception {
++ HintTest
++ .create()
++@@ -481,34 +347,6 @@ public class ConvertToARMTest extends NbTestCase {
++ .assertOutput("package test;import java.io.InputStream;import java.io.FileInputStream;import java.io.File;public class Test { public void test() throws Exception { try (InputStream in = new FileInputStream(new File(\"a\")); InputStream in2 = new FileInputStream(new File(\"a\"))) { in.read(); } catch (Exception e) { throw e; }finally { System.gc(); } }}");
++ }
++
++- public void testEFNestedInCatchFinally() throws Exception {
++- HintTest
++- .create()
++- .input("package test;" +
++- "import java.io.InputStream;" +
++- "import java.io.FileInputStream;" +
++- "import java.io.File;" +
++- "public class Test {" +
++- " public void test(InputStream in) throws Exception {" +
++- " try {" +
++- " try (InputStream in2 = new FileInputStream(new File(\"a\"))){" +
++- " in.read();" +
++- " }" +
++- " } catch (Exception e) {" +
++- " throw e;" +
++- " }finally {" +
++- " in.close();" +
++- " System.gc();" +
++- " }" +
++- " }" +
++- "}", false)
++- .sourceLevel("9")
++- .run(ConvertToARM.class)
++- .findWarning("0:269-0:271:verifier:TXT_ConvertToARM")
++- .applyFix("FIX_MergeTryResources")
++- .assertOutput("package test;import java.io.InputStream;import java.io.FileInputStream;import java.io.File;public class Test { public void test(InputStream in) throws Exception { try (in; InputStream in2 = new FileInputStream(new File(\"a\"))) { in.read(); } catch (Exception e) { throw e; }finally { System.gc(); } }}");
++- }
++-
++ public void testNestedInLazyCatchFinally() throws Exception {
++ HintTest
++ .create()
++@@ -563,28 +401,6 @@ public class ConvertToARMTest extends NbTestCase {
++ .assertOutput("package test;import java.io.InputStream;import java.io.FileInputStream;import java.io.File;public class Test { public void test() throws Exception { try (InputStream in = new FileInputStream(new File(\"a\"));InputStream in2 = new FileInputStream(new File(\"a\"))){ in.read(); } }}");
++ }
++
++- public void testEFNestedInStms() throws Exception {
++- HintTest
++- .create()
++- .input("package test;" +
++- "import java.io.InputStream;" +
++- "import java.io.FileInputStream;" +
++- "import java.io.File;" +
++- "public class Test {" +
++- " public void test(InputStream in) throws Exception {" +
++- " try (InputStream in2 = new FileInputStream(new File(\"a\"))){" +
++- " in.read();" +
++- " }" +
++- " in.close();" +
++- " }" +
++- "}", false)
++- .sourceLevel("9")
++- .run(ConvertToARM.class)
++- .findWarning("0:247-0:249:verifier:TXT_ConvertToARM")
++- .applyFix("FIX_MergeTryResources")
++- .assertOutput("package test;import java.io.InputStream;import java.io.FileInputStream;import java.io.File;public class Test { public void test(InputStream in) throws Exception { try (in;InputStream in2 = new FileInputStream(new File(\"a\"))){ in.read(); } }}");
++- }
++-
++ public void testEnclosedFinally() throws Exception {
++ HintTest
++ .create()
++@@ -611,31 +427,6 @@ public class ConvertToARMTest extends NbTestCase {
++ .assertOutput("package test;import java.io.InputStream;import java.io.FileInputStream;import java.io.File;public class Test { public void test() throws Exception { try (InputStream in2 = new FileInputStream(new File(\"a\")); InputStream in = new FileInputStream(new File(\"a\"))){ in.read(); } }}");
++ }
++
++- public void testEFEnclosedFinally() throws Exception {
++- HintTest
++- .create()
++- .input("package test;" +
++- "import java.io.InputStream;" +
++- "import java.io.FileInputStream;" +
++- "import java.io.File;" +
++- "public class Test {" +
++- " public void test(InputStream in) throws Exception {" +
++- " try (InputStream in2 = new FileInputStream(new File(\"a\"))){" +
++- " try {" +
++- " in.read();" +
++- " } finally {" +
++- " in.close();" +
++- " }" +
++- " }" +
++- " }" +
++- "}", false)
++- .sourceLevel("9")
++- .run(ConvertToARM.class)
++- .findWarning("0:269-0:271:verifier:TXT_ConvertToARM")
++- .applyFix("FIX_MergeTryResources")
++- .assertOutput("package test;import java.io.InputStream;import java.io.FileInputStream;import java.io.File;public class Test { public void test(InputStream in) throws Exception { try (InputStream in2 = new FileInputStream(new File(\"a\")); in){ in.read(); } }}");
++- }
++-
++ public void testEnclosedFinallyInCatchFinally() throws Exception {
++ HintTest
++ .create()
++@@ -666,35 +457,6 @@ public class ConvertToARMTest extends NbTestCase {
++ .assertOutput("package test;import java.io.InputStream;import java.io.FileInputStream;import java.io.File;public class Test { public void test() throws Exception { try (InputStream in2 = new FileInputStream(new File(\"a\")); InputStream in = new FileInputStream(new File(\"a\"))){ in.read(); } catch (Exception e) { throw e; } finally { System.gc(); } }}");
++ }
++
++- public void testEFEnclosedFinallyInCatchFinally() throws Exception {
++- HintTest
++- .create()
++- .input("package test;" +
++- "import java.io.InputStream;" +
++- "import java.io.FileInputStream;" +
++- "import java.io.File;" +
++- "public class Test {" +
++- " public void test(InputStream in) throws Exception {" +
++- " try (InputStream in2 = new FileInputStream(new File(\"a\"))){" +
++- " try {" +
++- " in.read();" +
++- " } finally {" +
++- " in.close();" +
++- " }" +
++- " } catch (Exception e) {" +
++- " throw e;" +
++- " } finally {" +
++- " System.gc();" +
++- " }" +
++- " }" +
++- "}", false)
++- .sourceLevel("9")
++- .run(ConvertToARM.class)
++- .findWarning("0:269-0:271:verifier:TXT_ConvertToARM")
++- .applyFix("FIX_MergeTryResources")
++- .assertOutput("package test;import java.io.InputStream;import java.io.FileInputStream;import java.io.File;public class Test { public void test(InputStream in) throws Exception { try (InputStream in2 = new FileInputStream(new File(\"a\")); in){ in.read(); } catch (Exception e) { throw e; } finally { System.gc(); } }}");
++- }
++-
++ public void testEnclosedFinallyFinal() throws Exception {
++ HintTest
++ .create()
++@@ -744,28 +506,6 @@ public class ConvertToARMTest extends NbTestCase {
++ .assertOutput("package test;import java.io.InputStream;import java.io.FileInputStream;import java.io.File;public class Test { public void test() throws Exception { try (InputStream in2 = new FileInputStream(new File(\"a\")); InputStream in = new FileInputStream(new File(\"a\"))){ in.read(); } }}");
++ }
++
++- public void testEFEnclosedStms() throws Exception {
++- HintTest
++- .create()
++- .input("package test;" +
++- "import java.io.InputStream;" +
++- "import java.io.FileInputStream;" +
++- "import java.io.File;" +
++- "public class Test {" +
++- " public void test(InputStream in) throws Exception {" +
++- " try (InputStream in2 = new FileInputStream(new File(\"a\"))){" +
++- " in.read();" +
++- " in.close();" +
++- " }" +
++- " }" +
++- "}", false)
++- .sourceLevel("9")
++- .run(ConvertToARM.class)
++- .findWarning("0:247-0:249:verifier:TXT_ConvertToARM")
++- .applyFix("FIX_MergeTryResources")
++- .assertOutput("package test;import java.io.InputStream;import java.io.FileInputStream;import java.io.File;public class Test { public void test(InputStream in) throws Exception { try (InputStream in2 = new FileInputStream(new File(\"a\")); in){ in.read(); } }}");
++- }
++-
++ public void testEnclosedStmsInCatchFinally() throws Exception {
++ HintTest
++ .create()
++@@ -789,28 +529,6 @@ public class ConvertToARMTest extends NbTestCase {
++ .assertOutput("package test;import java.io.InputStream;import java.io.FileInputStream;import java.io.File;public class Test { public void test() throws Exception { try (InputStream in2 = new FileInputStream(new File(\"a\")); InputStream in = new FileInputStream(new File(\"a\"))){ in.read(); } catch (Exception e) { throw e;} finally { System.gc(); } }}");
++ }
++
++- public void testEFEnclosedStmsInCatchFinally() throws Exception {
++- HintTest
++- .create()
++- .input("package test;" +
++- "import java.io.InputStream;" +
++- "import java.io.FileInputStream;" +
++- "import java.io.File;" +
++- "public class Test {" +
++- " public void test(InputStream in) throws Exception {" +
++- " try (InputStream in2 = new FileInputStream(new File(\"a\"))){" +
++- " in.read();" +
++- " in.close();" +
++- " } catch (Exception e) { throw e;} finally { System.gc(); }" +
++- " }" +
++- "}", false)
++- .sourceLevel("9")
++- .run(ConvertToARM.class)
++- .findWarning("0:247-0:249:verifier:TXT_ConvertToARM")
++- .applyFix("FIX_MergeTryResources")
++- .assertOutput("package test;import java.io.InputStream;import java.io.FileInputStream;import java.io.File;public class Test { public void test(InputStream in) throws Exception { try (InputStream in2 = new FileInputStream(new File(\"a\")); in){ in.read(); } catch (Exception e) { throw e;} finally { System.gc(); } }}");
++- }
++-
++ public void testEnclosedStmsFinal() throws Exception {
++ HintTest
++ .create()
++diff --git a/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/ConvertToDiamondBulkHintTest.java b/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/ConvertToDiamondBulkHintTest.java
++index 591047d8c..71f76ee6a 100644
++--- a/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/ConvertToDiamondBulkHintTest.java
+++++ b/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/ConvertToDiamondBulkHintTest.java
++@@ -69,7 +69,7 @@ public class ConvertToDiamondBulkHintTest extends NbTestCase {
++ "}\n")
++ .sourceLevel("1.7")
++ .run(ConvertToDiamondBulkHint.class)
++- .findWarning("2:49-2:77:verifier:Redundant type arguments in new expression (use diamond operator instead).")
+++ .findWarning("2:49-2:77:verifier:redundant type arguments in new expression (use diamond operator instead).")
++ .applyFix("FIX_ConvertToDiamond")
++ .assertCompilable()
++ .assertOutput("package test;\n" +
++@@ -88,7 +88,7 @@ public class ConvertToDiamondBulkHintTest extends NbTestCase {
++ "}\n")
++ .sourceLevel("1.7")
++ .run(ConvertToDiamondBulkHint.class)
++- .findWarning("3:39-3:57:verifier:Redundant type arguments in new expression (use diamond operator instead).")
+++ .findWarning("3:39-3:57:verifier:redundant type arguments in new expression (use diamond operator instead).")
++ .applyFix("FIX_ConvertToDiamond")
++ .assertCompilable()
++ .assertOutput("package test;\n" +
++@@ -133,7 +133,7 @@ public class ConvertToDiamondBulkHintTest extends NbTestCase {
++ "}\n")
++ .sourceLevel("1.7")
++ .run(ConvertToDiamondBulkHint.class)
++- .assertWarnings("2:43-2:71:verifier:Redundant type arguments in new expression (use diamond operator instead).");
+++ .assertWarnings("2:43-2:71:verifier:redundant type arguments in new expression (use diamond operator instead).");
++ }
++
++ public void testConfiguration2b() throws Exception {
++@@ -145,7 +145,7 @@ public class ConvertToDiamondBulkHintTest extends NbTestCase {
++ "}\n")
++ .sourceLevel("1.7")
++ .run(ConvertToDiamondBulkHint.class)
++- .assertWarnings("2:43-2:71:verifier:Redundant type arguments in new expression (use diamond operator instead).");
+++ .assertWarnings("2:43-2:71:verifier:redundant type arguments in new expression (use diamond operator instead).");
++ }
++
++ public void testConfiguration2c() throws Exception {
++@@ -184,7 +184,7 @@ public class ConvertToDiamondBulkHintTest extends NbTestCase {
++ .preference(ConvertToDiamondBulkHint.KEY, allBut("initializer"))
++ .sourceLevel("1.7")
++ .run(ConvertToDiamondBulkHint.class)
++- .assertWarnings("2:58-2:86:verifier:Redundant type arguments in new expression (use diamond operator instead).");
+++ .assertWarnings("2:58-2:86:verifier:redundant type arguments in new expression (use diamond operator instead).");
++ }
++
++ public void testConfiguration5() throws Exception {
++@@ -261,7 +261,7 @@ public class ConvertToDiamondBulkHintTest extends NbTestCase {
++ "}\n")
++ .sourceLevel("1.7")
++ .run(ConvertToDiamondBulkHint.class)
++- .assertWarnings("2:75-2:93:verifier:Redundant type arguments in new expression (use diamond operator instead).");
+++ .assertWarnings("2:75-2:93:verifier:redundant type arguments in new expression (use diamond operator instead).");
++ }
++
++ public void testConfiguration7b() throws Exception {
++@@ -273,7 +273,7 @@ public class ConvertToDiamondBulkHintTest extends NbTestCase {
++ "}\n")
++ .sourceLevel("1.7")
++ .run(ConvertToDiamondBulkHint.class)
++- .assertWarnings("2:80-2:98:verifier:Redundant type arguments in new expression (use diamond operator instead).");
+++ .assertWarnings("2:80-2:98:verifier:redundant type arguments in new expression (use diamond operator instead).");
++ }
++
++ public void testConfiguration7c() throws Exception {
++@@ -285,7 +285,7 @@ public class ConvertToDiamondBulkHintTest extends NbTestCase {
++ "}\n")
++ .sourceLevel("1.7")
++ .run(ConvertToDiamondBulkHint.class)
++- .assertWarnings("2:79-2:97:verifier:Redundant type arguments in new expression (use diamond operator instead).");
+++ .assertWarnings("2:79-2:97:verifier:redundant type arguments in new expression (use diamond operator instead).");
++ }
++
++ public void testConfiguration7d() throws Exception {
++@@ -297,7 +297,7 @@ public class ConvertToDiamondBulkHintTest extends NbTestCase {
++ "}\n")
++ .sourceLevel("1.7")
++ .run(ConvertToDiamondBulkHint.class)
++- .assertWarnings("2:87-2:105:verifier:Redundant type arguments in new expression (use diamond operator instead).");
+++ .assertWarnings("2:87-2:105:verifier:redundant type arguments in new expression (use diamond operator instead).");
++ }
++
++ public void testConfiguration8() throws Exception {
++@@ -314,6 +314,6 @@ public class ConvertToDiamondBulkHintTest extends NbTestCase {
++ }
++
++ static {
++- TestCompilerSettings.commandLine = "-XDfind=diamond";
+++ TestCompilerSettings.commandLine = "-XDfindDiamond";
++ }
++ }
++\ No newline at end of file
++diff --git a/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/ConvertToLambdaTest.java b/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/ConvertToLambdaTest.java
++index ae9aa03ca..1921d9775 100644
++--- a/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/ConvertToLambdaTest.java
+++++ b/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/ConvertToLambdaTest.java
++@@ -35,12 +35,10 @@
++ * Version 2 license, then the option applies only if the new code is
++ * made subject to such option by the copyright holder.
++ *
+++ * Contributor(s): Lyle Franklin <lylejfranklin at gmail.com>
++ *
++ * Portions Copyrighted 2010 Sun Microsystems, Inc.
++ */
++-/*
++- * Contributor(s): Lyle Franklin <lylejfranklin at gmail.com>
++- */
++
++ package org.netbeans.modules.java.hints.jdk;
++
++@@ -55,10 +53,10 @@ import org.netbeans.modules.java.source.parsing.JavacParser;
++ */
++ public class ConvertToLambdaTest extends NbTestCase {
++
++- private static final String lambdaConvDesc = "MSG_AnonymousConvertibleToLambda";
+++ private static final String lambdaConvDesc = "This anonymous inner class creation can be turned into a lambda expression.";
++ private static final String lambdaConvWarning = "verifier:" + lambdaConvDesc;
++- private static final String lambdaFix = "FIX_ConvertToLambda";
++- private static final String memberReferenceFix = "FIX_ConvertToMemberReference";
+++ private static final String lambdaFix = "Use lambda expression";
+++ private static final String memberReferenceFix = "Use member reference";
++
++ public ConvertToLambdaTest(String name) {
++ super(name);
++@@ -138,91 +136,6 @@ public class ConvertToLambdaTest extends NbTestCase {
++ "}\n");
++ }
++
++- public void testConversionForStaticMemberReference() throws Exception {
++- HintTest.create()
++- .sourceLevel("1.8")
++- .input("package test;\n" +
++- "import java.util.*;\n" +
++- "public class Test {\n" +
++- " public static int doCompare(String s1, String s2) { return 0; }\n" +
++- " {\n" +
++- " Comparator<String> comp = new Comparator<String>() {\n" +
++- " public int compare(String s0, String s1) { return doCompare(s0, s1); }\n" +
++- " };\n" +
++- " }\n" +
++- "}\n")
++- .run(ConvertToLambda.class)
++- .findWarning("5:38-5:56:" + lambdaConvWarning)
++- .applyFix(memberReferenceFix)
++- .assertOutput("package test;\n" +
++- "import java.util.*;\n" +
++- "public class Test {\n" +
++- " public static int doCompare(String s1, String s2) { return 0; }\n" +
++- " {\n" +
++- " Comparator<String> comp = Test::doCompare;\n" +
++- " }\n" +
++- "}\n");
++- }
++-
++- public void testConvertToConstructorReference() throws Exception {
++- HintTest.create()
++- .sourceLevel("1.8")
++- .input("package test;\n" +
++- "import java.util.function.Supplier;\n" +
++- "public class Test {\n" +
++- " static class R implements Runnable { public void run() {}}\n" +
++- " public void test() {\n" +
++- " Supplier<Runnable> sr = new Supplier<Runnable>() {\n" +
++- " @Override\n" +
++- " public Runnable get() {\n" +
++- " return new R();\n" +
++- " }\n" +
++- " };\n" +
++- " }\n" +
++- "}")
++- .run(ConvertToLambda.class)
++- .findWarning("5:36-5:54:" + lambdaConvWarning)
++- .applyFix(memberReferenceFix)
++- .assertOutput("package test;\n"
++- + "import java.util.function.Supplier;\n"
++- + "public class Test {\n"
++- + " static class R implements Runnable { public void run() {}}\n"
++- + " public void test() {\n"
++- + " Supplier<Runnable> sr = R::new;\n"
++- + " }\n"
++- + "}");
++- }
++-
++- public void testNoMemberReferenceForExplicitInstance() throws Exception {
++- HintTest.create()
++- .sourceLevel("1.8")
++- .input("package test;\n"
++- + "import java.util.function.Supplier;\n"
++- + "public class Test {\n"
++- + " class R implements Runnable { public void run() {}}\n"
++- + " public static void test(Test inst) {\n"
++- + " Supplier<Runnable> sr = new Supplier<Runnable>() {\n"
++- + " @Override\n"
++- + " public Runnable get() {\n"
++- + " return inst.new R();\n"
++- + " }\n"
++- + " };\n"
++- + " }\n"
++- + "}")
++- .run(ConvertToLambda.class)
++- .findWarning("5:36-5:54:" + lambdaConvWarning)
++- .assertFixesNotPresent(memberReferenceFix)
++- .applyFix(lambdaFix)
++- .assertOutput("package test;\n"
++- + "import java.util.function.Supplier;\n"
++- + "public class Test {\n"
++- + " class R implements Runnable { public void run() {}}\n"
++- + " public static void test(Test inst) {\n"
++- + " Supplier<Runnable> sr = () -> inst.new R();\n"
++- + " }\n"
++- + "}");
++- }
++-
++ public void testThatSiteIsIgnoredWhenNoTypeIsFound() throws Exception {
++ HintTest.create()
++ .sourceLevel("1.8")
++@@ -950,7 +863,7 @@ public class ConvertToLambdaTest extends NbTestCase {
++ "}\n")
++ .run(ConvertToLambda.class)
++ .findWarning("3:25-3:49:" + lambdaConvWarning)
++- .applyFix(lambdaFix)
+++ .applyFix()
++ .assertOutput("package test;\n" +
++ "public class Test {\n" +
++ " {\n" +
++@@ -963,36 +876,6 @@ public class ConvertToLambdaTest extends NbTestCase {
++ "}\n");
++ }
++
++- public void testThatCastIsAddedWithAmbiguousLambdaWithGenericsReference() throws Exception {
++- HintTest.create()
++- .sourceLevel("1.8")
++- .input("package test;\n" +
++- "public class Test {\n" +
++- " {\n" +
++- " doPrivileged(new PrivilegedAction<String>() {\n" +
++- " public String run() { return new String(); }\n" +
++- " });\n" +
++- " }\n" +
++- " private <T> void doPrivileged(PrivilegedAction<T> pa) { }\n" +
++- " private <T> void doPrivileged(PrivilegedExceptionAction<T> pa) { }\n" +
++- " private interface PrivilegedAction<T> { T run(); }\n" +
++- " private interface PrivilegedExceptionAction<T> { T run() throws Exception; }\n" +
++- "}\n")
++- .run(ConvertToLambda.class)
++- .findWarning("3:25-3:49:" + lambdaConvWarning)
++- .applyFix(memberReferenceFix)
++- .assertOutput("package test;\n" +
++- "public class Test {\n" +
++- " {\n" +
++- " doPrivileged((PrivilegedAction<String>) String::new);\n" +
++- " }\n" +
++- " private <T> void doPrivileged(PrivilegedAction<T> pa) { }\n" +
++- " private <T> void doPrivileged(PrivilegedExceptionAction<T> pa) { }\n" +
++- " private interface PrivilegedAction<T> { T run(); }\n" +
++- " private interface PrivilegedExceptionAction<T> { T run() throws Exception; }\n" +
++- "}\n");
++- }
++-
++ public void testThatNoExceptionIsThrownWhenCheckingAicAgainstPrimitive() throws Exception {
++ HintTest.create()
++ .sourceLevel("1.8")
++@@ -1124,7 +1007,7 @@ public class ConvertToLambdaTest extends NbTestCase {
++ }
++
++ static {
++- TestCompilerSettings.commandLine = "-XDfind=lambda";
+++ TestCompilerSettings.commandLine = "-XDidentifyLambdaCandidate=true -XDfindDiamond";
++ JavacParser.DISABLE_SOURCE_LEVEL_DOWNGRADE = true;
++ }
++ }
++diff --git a/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/ConvertToStringSwitchTest.java b/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/ConvertToStringSwitchTest.java
++index 58f79b8ce..33b5f9b46 100644
++--- a/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/ConvertToStringSwitchTest.java
+++++ b/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/ConvertToStringSwitchTest.java
++@@ -179,10 +179,7 @@ public class ConvertToStringSwitchTest extends NbTestCase {
++ + "public class Test {\n"
++ + " public void test() {\n"
++ + " String g = null;\n"
++- + " if (null == g) {\n"
++- + " System.err.println(4);\n"
++- + " return;\n"
++- + " } else switch (g) {\n"
+++ + " if (null != g) switch (g) {\n"
++ + " case \"j\":\n"
++ + " case \"m\":\n"
++ + " System.err.println(1);\n"
++@@ -491,9 +488,7 @@ public class ConvertToStringSwitchTest extends NbTestCase {
++ + "final class Test {\n"
++ + " public void test(String val) {\n"
++ + " int res = 0;\n"
++- + " if (null == val) {\n"
++- + " res = 3;"
++- + " } else switch (val) {\n"
+++ + " if (null != val) switch (val) {\n"
++ + " case \"a\":\n"
++ + " res = 1;\n"
++ + " break;\n"
++diff --git a/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/UseSpecificCatchTest.java b/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/UseSpecificCatchTest.java
++index f8790d6d2..7bc908335 100644
++--- a/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/UseSpecificCatchTest.java
+++++ b/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/UseSpecificCatchTest.java
++@@ -163,88 +163,6 @@ public class UseSpecificCatchTest extends NbTestCase {
++ .assertWarnings();
++ }
++
++- public void testParametrizedTypeException() throws Exception {
++- HintTest
++- .create()
++- .input("package test;\n"
++- + "\n"
++- + "public abstract class Test<X extends SecurityException> {\n"
++- + "\n"
++- + " public abstract void foo() throws X, java.io.IOException;\n"
++- + "\n"
++- + " public void example() {\n"
++- + " try {\n"
++- + " foo();\n"
++- + " } catch (Exception ex) {\n"
++- + " // do something\n"
++- + " }\n"
++- + " }\n"
++- + "}")
++- .sourceLevel("1.7")
++- .run(UseSpecificCatch.class)
++- .findWarning("9:17-9:26:verifier:ERR_UseSpecificCatch")
++- .applyFix("FIX_UseSpecificCatch")
++- .assertCompilable()
++- .assertOutput("package test;\n"
++- + "\n"
++- + "import java.io.IOException;\n"
++- + "\n"
++- + "public abstract class Test<X extends SecurityException> {\n"
++- + "\n"
++- + " public abstract void foo() throws X, java.io.IOException;\n"
++- + "\n"
++- + " public void example() {\n"
++- + " try {\n"
++- + " foo();\n"
++- + " } catch (IOException | SecurityException ex) {\n"
++- + " // do something\n"
++- + " }\n"
++- + " }\n"
++- + "}");
++- }
++-
++- public void testParametrizedTypeExceptionJDK6() throws Exception {
++- HintTest
++- .create()
++- .input("package test;\n"
++- + "\n"
++- + "public abstract class Test<X extends SecurityException> {\n"
++- + "\n"
++- + " public abstract void foo() throws X, java.io.IOException;\n"
++- + "\n"
++- + " public void example() {\n"
++- + " try {\n"
++- + " foo();\n"
++- + " } catch (Exception ex) {\n"
++- + " // do something\n"
++- + " }\n"
++- + " }\n"
++- + "}")
++- .sourceLevel("1.6")
++- .run(UseSpecificCatch.class)
++- .findWarning("9:17-9:26:verifier:ERR_UseSpecificCatch")
++- .applyFix("FIX_UseSpecificCatchSplit")
++- .assertCompilable()
++- .assertOutput("package test;\n"
++- + "\n"
++- + "import java.io.IOException;\n"
++- + "\n"
++- + "public abstract class Test<X extends SecurityException> {\n"
++- + "\n"
++- + " public abstract void foo() throws X, java.io.IOException;\n"
++- + "\n"
++- + " public void example() {\n"
++- + " try {\n"
++- + " foo();\n"
++- + " } catch (IOException ex) { \n"
++- + " // do something\n"
++- + " } catch (SecurityException ex) {\n"
++- + " // do something\n"
++- + " }\n"
++- + " }\n"
++- + "}");
++- }
++-
++ public void testSuppressWarningsOnCatchVariable229740() throws Exception {
++ HintTest
++ .create()
++diff --git a/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/mapreduce/ForLoopToFunctionalHintTest.java b/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/mapreduce/ForLoopToFunctionalHintTest.java
++index 7ebcf4427..068234a15 100644
++--- a/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/mapreduce/ForLoopToFunctionalHintTest.java
+++++ b/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/mapreduce/ForLoopToFunctionalHintTest.java
++@@ -35,11 +35,9 @@
++ * Version 2 license, then the option applies only if the new code is
++ * made subject to such option by the copyright holder.
++ *
++- *
++- * Portions Copyrighted 2012-2013 Sun Microsystems, Inc.
++- */
++-/*
++ * Contributor(s): Alexandru Gyori <Alexandru.Gyori at gmail.com>
+++ *
+++ * Portions Copyrighted 2012-2013 Sun Microsystems, Inc.
++ */
++ package org.netbeans.modules.java.hints.jdk.mapreduce;
++
++@@ -92,7 +90,7 @@ public class ForLoopToFunctionalHintTest extends NbTestCase {
++ + " }\n"
++ + "\n"
++ + " public void test(List<Integer> ls) { \n"
++- + " ls.forEach((l) -> { \n"
+++ + " ls.stream().forEach((l) -> { \n"
++ + " System.out.println(l);\n"
++ + " });\n"
++ + " \n"
++@@ -162,7 +160,7 @@ public class ForLoopToFunctionalHintTest extends NbTestCase {
++ + " }\n"
++ + "\n"
++ + " public void test(List<Integer> ls) { \n"
++- + " ls.stream().map((l) -> l.toString()).forEachOrdered((s) -> {\n"
+++ + " ls.stream().map((l) -> l.toString()).forEach((s) -> {\n"
++ + " System.out.println(s);\n"
++ + " });\n"
++ + " \n"
++@@ -273,7 +271,7 @@ public class ForLoopToFunctionalHintTest extends NbTestCase {
++ + " }\n"
++ + "\n"
++ + " public void test(List<Integer> ls) { \n"
++- + " ls.stream().filter((l) -> (l!=null)).map((l) -> l.toString()).forEachOrdered((s) -> {\n"
+++ + " ls.stream().filter((l) -> (l!=null)).map((l) -> l.toString()).forEach((s) -> {\n"
++ + " System.out.println(s);\n"
++ + " });\n"
++ + " \n"
++@@ -324,7 +322,7 @@ public class ForLoopToFunctionalHintTest extends NbTestCase {
++ + " }\n"
++ + "\n"
++ + " public void test(List<Integer> ls) { \n"
++- + " ls.stream().map((a) -> new Integer(a.intValue())).filter((l) -> (l!=null)).map((l) -> l.toString()).forEachOrdered((s) -> {\n"
+++ + " ls.stream().map((a) -> new Integer(a.intValue())).filter((l) -> (l!=null)).map((l) -> l.toString()).forEach((s) -> {\n"
++ + " System.out.println(s);\n"
++ + " });\n"
++ + " \n"
++@@ -381,7 +379,7 @@ public class ForLoopToFunctionalHintTest extends NbTestCase {
++ + " if(s!=null)\n"
++ + " System.out.println(s);\n"
++ + " return s;\n"
++- + " }).forEachOrdered((_item) -> {\n"
+++ + " }).forEach((_item) -> {\n"
++ + " System.out.println(\"cucu\");\n"
++ + " });\n"
++ + " \n"
++@@ -434,7 +432,7 @@ public class ForLoopToFunctionalHintTest extends NbTestCase {
++ + " }\n"
++ + "\n"
++ + " public void test(List<Integer> ls) {\n"
++- + " ls.stream().filter((l) -> !(l == null)).map((l) -> l.toString()).filter((s) -> (s != null)).forEachOrdered((s) -> {\n"
+++ + " ls.stream().filter((l) -> !(l == null)).map((l) -> l.toString()).filter((s) -> (s != null)).forEach((s) -> {\n"
++ + " System.out.println(s);\n"
++ + " });\n"
++ + "\n"
++@@ -624,7 +622,7 @@ public class ForLoopToFunctionalHintTest extends NbTestCase {
++ + " ls.stream().map((_item) -> { \n"
++ + " System.out.println();\n"
++ + " return _item;\n"
++- + " }).forEachOrdered((_item) -> {\n"
+++ + " }).forEach((_item) -> {\n"
++ + " System.out.println(\"\");\n"
++ + " });\n"
++ + " System.out.println(i);\n"
++@@ -705,7 +703,7 @@ public class ForLoopToFunctionalHintTest extends NbTestCase {
++ + " System.out.println(\"cucu\");\n"
++ + " } \n"
++ + " return l;\n"
++- + " }).forEachOrdered((_item) -> {\n"
+++ + " }).forEach((_item) -> {\n"
++ + " System.out.println();\n"
++ + " });\n"
++ + " \n"
++@@ -1171,7 +1169,7 @@ public class ForLoopToFunctionalHintTest extends NbTestCase {
++ + " List<String> strs = new ArrayList<String>();\n"
++ + " int i = 0;\n"
++ + " int j = 0;\n"
++- + " strs.forEach((str) -> { \n"
+++ + " strs.stream().forEach((str) -> { \n"
++ + " int len1=str.length();\n"
++ + " int len2 = str.length();\n"
++ + " if (len1%2==0) {\n"
++@@ -1249,7 +1247,7 @@ public class ForLoopToFunctionalHintTest extends NbTestCase {
++ + " List<String> strs = new ArrayList<String>();\n"
++ + " int i = 0;\n"
++ + " int j = 0;\n"
++- + " strs.stream().map((_item) -> \"foo\").map((s) -> s.toString()).forEachOrdered((s) -> {\n"
+++ + " strs.stream().map((_item) -> \"foo\").map((s) -> s.toString()).forEach((s) -> {\n"
++ + " System.out.println(s);\n"
++ + " });\n"
++ + " return false;\n"
++@@ -1321,7 +1319,7 @@ public class ForLoopToFunctionalHintTest extends NbTestCase {
++ + " List<String> strs = new ArrayList<String>();\n"
++ + " int i = 0;\n"
++ + " int j = 0;\n"
++- + " strs.stream().map((_item) -> \"foo\").map((s) -> s.toString()).forEachOrdered((_item) -> {\n"
+++ + " strs.stream().map((_item) -> \"foo\").map((s) -> s.toString()).forEach((_item) -> {\n"
++ + " System.out.println();\n"
++ + " });\n"
++ + " return false;\n"
++diff --git a/java.hints/test/unit/src/org/netbeans/modules/java/hints/suggestions/Bundle_test.properties b/java.hints/test/unit/src/org/netbeans/modules/java/hints/suggestions/Bundle_test.properties
++index 3aeb312db..c08507ec2 100644
++--- a/java.hints/test/unit/src/org/netbeans/modules/java/hints/suggestions/Bundle_test.properties
+++++ b/java.hints/test/unit/src/org/netbeans/modules/java/hints/suggestions/Bundle_test.properties
++@@ -65,6 +65,3 @@ ERR_addExplicitLambdaParameters=ERR_addExplicitLambdaParameters
++ ERR_CreateSubclass=ERR_CreateSubclass
++ ERR_ToOrIf=ERR_ToOrIf
++ ERR_splitIfCondition=ERR_splitIfCondition
++-
++-HINT_ConvertIfToSwitch=HINT_ConvertIfToSwitch
++-FIX_ConvertIfsToSwitch=FIX_ConvertIfsToSwitch
++diff --git a/java.hints/test/unit/src/org/netbeans/modules/java/hints/suggestions/ConvertIfToSwitchTest.java b/java.hints/test/unit/src/org/netbeans/modules/java/hints/suggestions/ConvertIfToSwitchTest.java
++deleted file mode 100644
++index fd87a2080..000000000
++--- a/java.hints/test/unit/src/org/netbeans/modules/java/hints/suggestions/ConvertIfToSwitchTest.java
+++++ /dev/null
++@@ -1,162 +0,0 @@
++-/*
++- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++- *
++- * Copyright 2009-2010 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
++- *
++- * The contents of this file are subject to the terms of either the GNU
++- * General Public License Version 2 only ("GPL") or the Common
++- * Development and Distribution License("CDDL") (collectively, the
++- * "License"). You may not use this file except in compliance with the
++- * License. You can obtain a copy of the License at
++- * http://www.netbeans.org/cddl-gplv2.html
++- * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++- * specific language governing permissions and limitations under the
++- * License. When distributing the software, include this License Header
++- * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
++- * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
++- * accompanied this code. If applicable, add the following below the
++- * License Header, with the fields enclosed by brackets [] replaced by
++- * your own identifying information:
++- * "Portions Copyrighted [year] [name of copyright owner]"
++- *
++- * If you wish your version of this file to be governed by only the CDDL
++- * or only the GPL Version 2, indicate your decision by adding
++- * "[Contributor] elects to include this software in this distribution
++- * under the [CDDL or GPL Version 2] license." If you do not indicate a
++- * single choice of license, a recipient has the option to distribute
++- * your version of this file under either the CDDL, the GPL Version 2 or
++- * to extend the choice of license to its licensees as provided above.
++- * However, if you add GPL Version 2 code and therefore, elected the GPL
++- * Version 2 license, then the option applies only if the new code is
++- * made subject to such option by the copyright holder.
++- *
++- * Contributor(s):
++- *
++- * Portions Copyrighted 2009-2010 Sun Microsystems, Inc.
++- */
++-package org.netbeans.modules.java.hints.suggestions;
++-
++-import org.netbeans.modules.java.hints.jdk.*;
++-import org.netbeans.junit.NbTestCase;
++-import org.netbeans.modules.java.hints.test.api.HintTest;
++-
++-/**
++- * Note: many of the cases are already tested in StringToSwitchTest. String
++- * conversion works for equals only, so null-ity may not be tested fully.
++- *
++- * @author Svata
++- */
++-public class ConvertIfToSwitchTest extends NbTestCase {
++-
++- public ConvertIfToSwitchTest(String name) {
++- super(name);
++- }
++-
++- public void testPrimitiveWithDefault() throws Exception {
++- HintTest
++- .create()
++- .input("package test;\n"
++- + "\n"
++- + "public abstract class Test {\n"
++- + " public String toString(int t) {\n"
++- + " String s;\n"
++- + " if (t == 1) {\n"
++- + " s = \"1\";\n"
++- + " } else if (t == 2) {\n"
++- + " s = \"2\";\n"
++- + " } else {\n"
++- + " s = \"3\";\n"
++- + " }\n"
++- + " return \"number is \" + s;\n"
++- + " }\n"
++- + "}")
++- .sourceLevel("1.7")
++- .run(ConvertIfToSwitch.class)
++- .findWarning("5:1-5:14:verifier:HINT_ConvertIfToSwitch")
++- .applyFix("FIX_ConvertIfsToSwitch")
++- .assertCompilable()
++- .assertOutput("package test;\n"
++- + "\n"
++- + "public abstract class Test {\n"
++- + " public String toString(int t) {\n"
++- + " String s;\n"
++- + " switch (t) {\n"
++- + " case 1:\n"
++- + " s = \"1\";\n"
++- + " break;\n"
++- + " case 2:\n"
++- + " s = \"2\";\n"
++- + " break;\n"
++- + " default:\n"
++- + " s = \"3\";\n"
++- + " break;\n"
++- + " }\n"
++- + " return \"number is \" + s;\n"
++- + " }\n"
++- + "}\n"
++- + "");
++- }
++-
++- public void testUsedValueFromElseBranch259071() throws Exception {
++- HintTest
++- .create()
++- .input("package test;\n"
++- + "\n"
++- + "public abstract class Test {\n"
++- + " public enum testEnum{\n"
++- + " ONE,\n"
++- + " TWO,\n"
++- + " THREE;\n"
++- + " }\n"
++- + " \n"
++- + " public String toString(testEnum t) {\n"
++- + " String s;\n"
++- + " if (t == testEnum.ONE) {\n"
++- + " s = \"1\";\n"
++- + " } else if (t == testEnum.TWO) {\n"
++- + " s = \"2\";\n"
++- + " } else {\n"
++- + " s = \"3\";\n"
++- + " }\n"
++- + " return \"number is \" + s;\n"
++- + " }\n"
++- + "}")
++- .sourceLevel("1.7")
++- .run(ConvertIfToSwitch.class)
++- .findWarning("11:1-11:25:verifier:HINT_ConvertIfToSwitch")
++- .applyFix("FIX_ConvertIfsToSwitch")
++- .assertCompilable()
++- .assertOutput("package test;\n"
++- + "\n"
++- + "public abstract class Test {\n"
++- + " public enum testEnum{\n"
++- + " ONE,\n"
++- + " TWO,\n"
++- + " THREE;\n"
++- + " }\n"
++- + " \n"
++- + " public String toString(testEnum t) {\n"
++- + " String s;\n"
++- + " if (null == t) {\n"
++- + " s = \"3\";\n"
++- + " } else switch (t) {\n"
++- + " case ONE:\n"
++- + " s = \"1\";\n"
++- + " break;\n"
++- + " case TWO:\n"
++- + " s = \"2\";\n"
++- + " break;\n"
++- + " default:\n"
++- + " s = \"3\";\n"
++- + " break;\n"
++- + " }\n"
++- + " return \"number is \" + s;\n"
++- + " }\n"
++- + "}");
++- }
++-}
++diff --git a/java.hints/test/unit/src/org/netbeans/modules/java/hints/suggestions/ExpandEnhancedForLoopTest.java b/java.hints/test/unit/src/org/netbeans/modules/java/hints/suggestions/ExpandEnhancedForLoopTest.java
++index 4a7a05148..a1495b560 100644
++--- a/java.hints/test/unit/src/org/netbeans/modules/java/hints/suggestions/ExpandEnhancedForLoopTest.java
+++++ b/java.hints/test/unit/src/org/netbeans/modules/java/hints/suggestions/ExpandEnhancedForLoopTest.java
++@@ -1,10 +1,7 @@
++ /*
++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++ *
++- * Copyright 2009-2010 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
+++ * Copyright 2009-2011 Sun Microsystems, Inc. All rights reserved.
++ *
++ * The contents of this file are subject to the terms of either the GNU
++ * General Public License Version 2 only ("GPL") or the Common
++@@ -16,9 +13,9 @@
++ * specific language governing permissions and limitations under the
++ * License. When distributing the software, include this License Header
++ * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
+++ * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
++ * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
+++ * by Sun in the GPL Version 2 section of the License file that
++ * accompanied this code. If applicable, add the following below the
++ * License Header, with the fields enclosed by brackets [] replaced by
++ * your own identifying information:
++diff --git a/java.hints/test/unit/src/org/netbeans/modules/java/hints/suggestions/LambdaTest.java b/java.hints/test/unit/src/org/netbeans/modules/java/hints/suggestions/LambdaTest.java
++index 7db2ff2c4..9276c2be3 100644
++--- a/java.hints/test/unit/src/org/netbeans/modules/java/hints/suggestions/LambdaTest.java
+++++ b/java.hints/test/unit/src/org/netbeans/modules/java/hints/suggestions/LambdaTest.java
++@@ -108,219 +108,6 @@ public class LambdaTest {
++ }
++
++ @Test
++- public void testLambda2ClassShadowedMethod() throws Exception {
++- HintTest.create()
++- .setCaretMarker('^')
++- .input("package test;\n"
++- + "import java.util.Objects;\n"
++- + "import java.util.function.Function;\n"
++- + "\n"
++- + "@FunctionalInterface\n"
++- + "interface Test<A, B, C, R> {\n"
++- + " public static final int EE = 1;\n"
++- + " public R apply(A a, B b, C c);\n"
++- + "\n"
++- + " default <V> Test<A, B, C, V> andThen(Function<? super R, ? extends V> after) {\n"
++- + " Objects.requireNonNull(after);\n"
++- + " return (A a, B b, C c) -^> {\n"
++- + " return after.apply(apply(a, b, c));\n"
++- + " };\n"
++- + " }\n"
++- + "}\n")
++- .sourceLevel("1.8")
++- .run(Lambda.class)
++- .findWarning("11:32-11:32:verifier:ERR_lambda2Class")
++- .applyFix()
++- .assertCompilable()
++- .assertVerbatimOutput("package test;\n"
++- + "import java.util.Objects;\n"
++- + "import java.util.function.Function;\n"
++- + "\n"
++- + "@FunctionalInterface\n"
++- + "interface Test<A, B, C, R> {\n"
++- + " public static final int EE = 1;\n"
++- + " public R apply(A a, B b, C c);\n"
++- + "\n"
++- + " default <V> Test<A, B, C, V> andThen(Function<? super R, ? extends V> after) {\n"
++- + " Objects.requireNonNull(after);\n"
++- + " return new Test<A, B, C, V>() {\n"
++- + " @Override\n"
++- + " public V apply(A a, B b, C c) {\n"
++- + " return after.apply(Test.this.apply(a, b, c));\n"
++- + " }\n"
++- + " };\n"
++- + " }\n"
++- + "}\n");
++- }
++-
++- @Test
++- public void testLambda2ClassShadowedStaticSameField() throws Exception {
++- HintTest.create()
++- .setCaretMarker('^')
++- .input("package test;\n"
++- + "import java.util.Objects;\n"
++- + "import java.util.function.Function;\n"
++- + "\n"
++- + "@FunctionalInterface\n"
++- + "interface Test<A, B, C, R> {\n"
++- + " public static final int EE = 1;\n"
++- + " public R apply(A a, B b, C c);\n"
++- + "\n"
++- + " default <V> Test<A, B, C, V> andThen(Function<? super R, ? extends V> after) {\n"
++- + " Objects.requireNonNull(after);\n"
++- + " return (A a, B b, C c) -^> {\n"
++- + " System.err.println(EE);\n"
++- + " return after.apply(apply(a, b, c));\n"
++- + " };\n"
++- + " }\n"
++- + "}\n")
++- .sourceLevel("1.8")
++- .run(Lambda.class)
++- .findWarning("11:32-11:32:verifier:ERR_lambda2Class")
++- .applyFix()
++- .assertCompilable()
++- .assertVerbatimOutput("package test;\n"
++- + "import java.util.Objects;\n"
++- + "import java.util.function.Function;\n"
++- + "\n"
++- + "@FunctionalInterface\n"
++- + "interface Test<A, B, C, R> {\n"
++- + " public static final int EE = 1;\n"
++- + " public R apply(A a, B b, C c);\n"
++- + "\n"
++- + " default <V> Test<A, B, C, V> andThen(Function<? super R, ? extends V> after) {\n"
++- + " Objects.requireNonNull(after);\n"
++- + " return new Test<A, B, C, V>() {\n"
++- + " @Override\n"
++- + " public V apply(A a, B b, C c) {\n"
++- + " System.err.println(EE);\n"
++- + " return after.apply(Test.this.apply(a, b, c));\n"
++- + " }\n"
++- + " };\n"
++- + " }\n"
++- + "}\n");
++- }
++-
++- @Test
++- public void testLambda2ClassShadowedInheritedMethod() throws Exception {
++- HintTest.create()
++- .setCaretMarker('^')
++- .input("package test;\n"
++- + "import java.util.Objects;\n"
++- + "import java.util.function.Function;\n"
++- + "\n"
++- + "@FunctionalInterface\n"
++- + "interface Test<A, B, C, R> {\n"
++- + " public static final int EE = 1;\n"
++- + " public R apply(A a, B b, C c);\n"
++- + "\n"
++- + " default <V> Test2<A, B, C, V> andThen(Function<? super R, ? extends V> after) {\n"
++- + " Objects.requireNonNull(after);\n"
++- + " return (A a, B b, C c) -^> {\n"
++- + " return after.apply(apply(a, b, c));\n"
++- + " };\n"
++- + " \n"
++- + " \n"
++- + " }\n"
++- + "}\n"
++- + "\n"
++- + "interface Test2<A, B, C, R> extends Test<A, B, C, R> {\n"
++- + " public static final int EE = 2;\n"
++- + "}")
++- .sourceLevel("1.8")
++- .run(Lambda.class)
++- .findWarning("11:32-11:32:verifier:ERR_lambda2Class")
++- .applyFix()
++- .assertCompilable()
++- .assertVerbatimOutput("package test;\n"
++- + "import java.util.Objects;\n"
++- + "import java.util.function.Function;\n"
++- + "\n"
++- + "@FunctionalInterface\n"
++- + "interface Test<A, B, C, R> {\n"
++- + " public static final int EE = 1;\n"
++- + " public R apply(A a, B b, C c);\n"
++- + "\n"
++- + " default <V> Test2<A, B, C, V> andThen(Function<? super R, ? extends V> after) {\n"
++- + " Objects.requireNonNull(after);\n"
++- + " return new Test2<A, B, C, V>() {\n"
++- + " @Override\n"
++- + " public V apply(A a, B b, C c) {\n"
++- + " return after.apply(Test.this.apply(a, b, c));\n"
++- + " }\n"
++- + " };\n"
++- + " \n"
++- + " \n"
++- + " }\n"
++- + "}\n"
++- + "\n"
++- + "interface Test2<A, B, C, R> extends Test<A, B, C, R> {\n"
++- + " public static final int EE = 2;\n"
++- + "}"
++- );
++- }
++-
++- @Test
++- public void testLambda2ClassShadowedUnrelatedField() throws Exception {
++- HintTest.create()
++- .setCaretMarker('^')
++- .input("package test;\n"
++- + "import java.util.Objects;\n"
++- + "import java.util.function.Function;\n"
++- + "\n"
++- + "@FunctionalInterface\n"
++- + "interface Test<A, B, C, R> {\n"
++- + " public static final int EE = 1;\n"
++- + " public R apply(A a, B b, C c);\n"
++- + "\n"
++- + " default <V> Test2<A, B, C, V> andThen(Function<? super R, ? extends V> after) {\n"
++- + " Objects.requireNonNull(after);\n"
++- + " return (A a, B b, C c) -^> {\n"
++- + " System.err.println(EE);\n"
++- + " return null;\n"
++- + " };\n"
++- + " \n"
++- + " \n"
++- + " }\n"
++- + "}\n"
++- + "\n"
++- + "interface Test2<A, B, C, R> extends Test<A, B, C, R> {\n"
++- + " public static final int EE = 2;\n"
++- + "}\n")
++- .sourceLevel("1.8")
++- .run(Lambda.class)
++- .findWarning("11:32-11:32:verifier:ERR_lambda2Class")
++- .applyFix()
++- .assertCompilable()
++- .assertVerbatimOutput("package test;\n"
++- + "import java.util.Objects;\n"
++- + "import java.util.function.Function;\n"
++- + "\n"
++- + "@FunctionalInterface\n"
++- + "interface Test<A, B, C, R> {\n"
++- + " public static final int EE = 1;\n"
++- + " public R apply(A a, B b, C c);\n"
++- + "\n"
++- + " default <V> Test2<A, B, C, V> andThen(Function<? super R, ? extends V> after) {\n"
++- + " Objects.requireNonNull(after);\n"
++- + " return new Test2<A, B, C, V>() {\n"
++- + " @Override\n"
++- + " public V apply(A a, B b, C c) {\n"
++- + " System.err.println(Test.EE);\n"
++- + " return null;\n"
++- + " }\n"
++- + " };\n"
++- + " \n"
++- + " \n"
++- + " }\n"
++- + "}\n"
++- + "\n"
++- + "interface Test2<A, B, C, R> extends Test<A, B, C, R> {\n"
++- + " public static final int EE = 2;\n"
++- + "}\n");
++- }
++-
++- @Test
++ public void testLambda2ClassExpression() throws Exception {
++ HintTest.create()
++ .setCaretMarker('^')
diff --cc debian/patches/netbeans-java.source.base.patch
index 0000000,0000000..67f9e5a
new file mode 100644
--- /dev/null
+++ b/debian/patches/netbeans-java.source.base.patch
@@@ -1,0 -1,0 +1,13484 @@@
++From: Markus Koschany <apo at debian.org>
++Date: Sun, 25 Dec 2016 22:02:42 +0100
++Subject: netbeans java.source.base
++
++Ugly workaround for a FTBFS due to missing OpenJDK 9 classes. Module was
++replaced with the one from 8.1.
++
++Forwarded: not-needed
++---
++ java.source.base/apichanges.xml | 66 -
++ java.source.base/build.xml | 39 -
++ .../org-netbeans-modules-java-source-base.sig | 1767 --------------------
++ java.source.base/nbproject/project.properties | 4 +-
++ java.source.base/nbproject/project.xml | 6 +-
++ .../netbeans/api/java/source/AssignComments.java | 178 +-
++ .../netbeans/api/java/source/ClasspathInfo.java | 81 +-
++ .../org/netbeans/api/java/source/CodeStyle.java | 40 -
++ .../netbeans/api/java/source/ElementHandle.java | 7 +-
++ .../netbeans/api/java/source/ElementUtilities.java | 250 +--
++ .../api/java/source/GeneratorUtilities.java | 376 +----
++ .../org/netbeans/api/java/source/SourceUtils.java | 73 +-
++ .../org/netbeans/api/java/source/TreeMaker.java | 38 +-
++ .../netbeans/api/java/source/TreeUtilities.java | 1 -
++ .../netbeans/api/java/source/TypeMirrorHandle.java | 18 +-
++ .../netbeans/api/java/source/TypeUtilities.java | 99 --
++ .../org/netbeans/api/java/source/WorkingCopy.java | 96 +-
++ .../src/org/netbeans/api/java/source/package.html | 39 -
++ .../modules/java/source/JavaSourceUtilImpl.java | 332 ----
++ .../netbeans/modules/java/source/JavadocEnv.java | 12 +-
++ .../modules/java/source/JavadocHelper.java | 69 +-
++ .../modules/java/source/PostFlowAnalysis.java | 27 +-
++ .../netbeans/modules/java/source/TreeLoader.java | 12 +-
++ .../modules/java/source/base/Bundle.properties | 37 -
++ .../java/source/builder/CommentHandlerService.java | 32 -
++ .../java/source/builder/CommentSetImpl.java | 17 +-
++ .../java/source/builder/ElementsService.java | 125 +-
++ .../modules/java/source/builder/TreeFactory.java | 57 +-
++ .../modules/java/source/indexing/APTUtils.java | 458 +----
++ .../source/indexing/COSSynchronizingIndexer.java | 9 +-
++ .../modules/java/source/indexing/FQN2Files.java | 28 +-
++ .../java/source/indexing/JavaBinaryIndexer.java | 12 +-
++ .../java/source/indexing/JavaCustomIndexer.java | 154 +-
++ .../modules/java/source/indexing/JavaIndex.java | 9 +-
++ .../java/source/indexing/JavaParsingContext.java | 5 +-
++ .../source/indexing/MultiPassCompileWorker.java | 1 +
++ .../java/source/indexing/OnePassCompileWorker.java | 16 +-
++ .../source/indexing/SuperOnePassCompileWorker.java | 13 +-
++ .../source/parsing/CachingArchiveClassLoader.java | 47 +-
++ .../source/parsing/CachingArchiveProvider.java | 29 +-
++ .../java/source/parsing/CachingPathArchive.java | 241 ---
++ .../modules/java/source/parsing/ClassParser.java | 8 +-
++ .../java/source/parsing/ClasspathInfoProvider.java | 3 +-
++ .../java/source/parsing/CompilationInfoImpl.java | 132 +-
++ .../java/source/parsing/FileObjectArchive.java | 16 +-
++ .../modules/java/source/parsing/FileObjects.java | 488 ++----
++ .../modules/java/source/parsing/Hacks.java | 22 -
++ .../modules/java/source/parsing/JavacParser.java | 26 +-
++ .../modules/java/source/parsing/PathArchive.java | 148 --
++ .../modules/java/source/pretty/VeryPretty.java | 46 +-
++ .../modules/java/source/pretty/WidthEstimator.java | 15 +-
++ .../modules/java/source/save/CasualDiff.java | 162 +-
++ .../modules/java/source/save/Reformatter.java | 172 +-
++ .../modules/java/source/save/Reindenter.java | 11 +-
++ .../source/transform/ImmutableTreeTranslator.java | 18 +-
++ .../java/source/transform/TreeDuplicator.java | 12 +-
++ .../modules/java/source/transform/package.html | 79 +-
++ .../modules/java/source/usages/BinaryAnalyser.java | 168 +-
++ .../modules/java/source/usages/BinaryName.java | 177 --
++ .../source/usages/BuildArtifactMapperImpl.java | 566 +++----
++ .../modules/java/source/usages/ClassIndexImpl.java | 6 +-
++ .../java/source/usages/ClasspathInfoAccessor.java | 8 +-
++ .../modules/java/source/usages/DocumentUtil.java | 64 +-
++ .../modules/java/source/usages/LongHashMap.java | 14 +-
++ .../java/source/usages/PersistentClassIndex.java | 22 +-
++ .../java/source/usages/SourceAnalyzerFactory.java | 276 ++-
++ .../org/netbeans/modules/java/ui/FmtOptions.java | 2 -
++ .../netbeans/api/java/source/ClassIndexTest.java | 2 -
++ .../api/java/source/ElementUtilitiesTest.java | 293 ----
++ .../netbeans/api/java/source/SourceUtilsTest.java | 25 +
++ .../api/java/source/SourceUtilsTestUtil.java | 20 +-
++ .../api/java/source/gen/BreakContinueTest.java | 15 +-
++ .../api/java/source/gen/FieldGroupTest.java | 62 -
++ .../org/netbeans/api/java/source/gen/IfTest.java | 109 --
++ .../api/java/source/gen/ImportAnalysis2Test.java | 8 +-
++ .../api/java/source/gen/InterfaceTest.java | 18 +-
++ .../api/java/source/gen/ModifiersTest.java | 38 -
++ .../netbeans/api/java/source/gen/PackageTest.java | 2 +-
++ .../netbeans/api/java/source/gen/SwitchTest.java | 17 +-
++ .../java/source/JavaSourceUtilImplTest.java | 134 --
++ .../CacheSourceForBinaryQueryImplTest.java | 2 +-
++ .../source/classpath/JShellSourcePathTest.java | 155 --
++ .../java/source/indexing/SourcePrefetcherTest.java | 2 +-
++ .../source/parsing/CachingPathArchiveTest.java | 268 ---
++ .../java/source/parsing/ClasspathInfoTest.java | 2 +-
++ .../java/source/parsing/PathArchiveTest.java | 207 ---
++ .../java/source/usages/BinaryAnalyserTest.java | 14 +-
++ .../modules/java/source/usages/BinaryNameTest.java | 107 --
++ .../java/source/usages/LucenePerformanceTest.java | 15 +-
++ .../usages/PersistentClassIndexScopesTest.java | 6 +-
++ .../java/source/usages/SourceAnalyzerTest.java | 6 +-
++ 91 files changed, 1275 insertions(+), 7833 deletions(-)
++ delete mode 100644 java.source.base/nbproject/org-netbeans-modules-java-source-base.sig
++ delete mode 100644 java.source.base/src/org/netbeans/modules/java/source/parsing/CachingPathArchive.java
++ delete mode 100644 java.source.base/src/org/netbeans/modules/java/source/parsing/PathArchive.java
++ delete mode 100644 java.source.base/src/org/netbeans/modules/java/source/usages/BinaryName.java
++ delete mode 100644 java.source.base/test/unit/src/org/netbeans/modules/java/source/JavaSourceUtilImplTest.java
++ delete mode 100644 java.source.base/test/unit/src/org/netbeans/modules/java/source/classpath/JShellSourcePathTest.java
++ delete mode 100644 java.source.base/test/unit/src/org/netbeans/modules/java/source/parsing/CachingPathArchiveTest.java
++ delete mode 100644 java.source.base/test/unit/src/org/netbeans/modules/java/source/parsing/PathArchiveTest.java
++ delete mode 100644 java.source.base/test/unit/src/org/netbeans/modules/java/source/usages/BinaryNameTest.java
++
++diff --git a/java.source.base/apichanges.xml b/java.source.base/apichanges.xml
++index 2b4e3ae49..002fbb041 100644
++--- a/java.source.base/apichanges.xml
+++++ b/java.source.base/apichanges.xml
++@@ -49,72 +49,6 @@ made subject to such option by the copyright holder.
++ <apidef name="javasource_base">Java Source API</apidef>
++ </apidefs>
++ <changes>
++- <change id="TypeUtilities.getDenotableType">
++- <api name="javasource_base"/>
++- <summary>Provide type suitable for declaration in source</summary>
++- <version major="1" minor="2.17"/>
++- <date day="16" month="5" year="2016"/>
++- <author login="sdedic"/>
++- <compatibility addition="yes" binary="compatible" source="compatible"/>
++- <description>
++- Support method which allows to infer a type suitable for use in symbol
++- declaration in the source was added.
++- </description>
++- <class name="TypeUtilities" package="org.netbeans.api.java.source"/>
++- <issue number="262073"/>
++- </change>
++- <change id="utilities.findVisibleElements">
++- <api name="javasource_base"/>
++- <summary>List elements with their definining Scope</summary>
++- <version major="1" minor="2.16"/>
++- <date day="31" month="5" year="2016"/>
++- <author login="sdedic"/>
++- <compatibility addition="yes" binary="compatible" source="compatible"/>
++- <description>
++- Allows to enumerate Elements matching passed <code>ElementFilter</code> according
++- to hiding and inheritance rules. The method may be useful to list elements matching certain
++- criteria, or to check whether an element exists and find what class/method defined it.
++- </description>
++- <class name="ElementUtilities" package="org.netbeans.api.java.source"/>
++- <issue number="262281"/>
++- </change>
++- <change id="utilities.implementAndOverride.defaultMethods">
++- <api name="javasource_base"/>
++- <summary>Allow to return also unimplemented default methods</summary>
++- <version major="1" minor="2.15"/>
++- <date day="10" month="5" year="2016"/>
++- <author login="sdedic"/>
++- <compatibility addition="yes" binary="compatible" source="compatible"/>
++- <description>
++- <p>
++- <code>findUnimplementedMethods</code> and <code>findOverridableMethods</code>
++- work better with interface default methods: they are treated as implemented,
++- but overridable.
++- </p>
++- <p>
++- Allow <code>ElementUtilities.findUnimplementedMethods</code> enumerate
++- also default methods whose implementations are not provided by class or
++- superclasses.
++- </p>
++- </description>
++- <class name="ElementUtilities" package="org.netbeans.api.java.source"/>
++- <issue number="258981"/>
++- </change>
++- <change id="generator.insert.caretlocation">
++- <api name="javasource_base"/>
++- <summary>Code Generator uses caret location to insert members</summary>
++- <version major="1" minor="2.11"/>
++- <date day="5" month="10" year="2015"/>
++- <author login="ralphbenjamin"/>
++- <compatibility addition="yes" binary="compatible" source="compatible"/>
++- <description>
++- Added an overloaded method to Code Generator should to include the
++- caret location when inserting members. This will be used when the
++- codestyle is CodeStyle.InsertionPoint.CARET_LOCATION.
++- </description>
++- <class name="CodeStyle" package="org.netbeans.api.java.source"/>
++- <issue number="255214"/>
++- </change>
++ <change id="classindex.searchkind.lambda">
++ <api name="javasource_base"/>
++ <summary>ClassIndex SearchKind extended by FUNCTIONAL_IMPLEMENTORS</summary>
++diff --git a/java.source.base/build.xml b/java.source.base/build.xml
++index e76f42b09..01b700c33 100644
++--- a/java.source.base/build.xml
+++++ b/java.source.base/build.xml
++@@ -1,43 +1,4 @@
++ <?xml version="1.0" encoding="UTF-8"?>
++-<!--
++-DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++-
++-Copyright (c) 2014, 2016 Oracle and/or its affiliates. All rights reserved.
++-
++-Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++-Other names may be trademarks of their respective owners.
++-
++-The contents of this file are subject to the terms of either the GNU
++-General Public License Version 2 only ("GPL") or the Common
++-Development and Distribution License("CDDL") (collectively, the
++-"License"). You may not use this file except in compliance with the
++-License. You can obtain a copy of the License at
++-http://www.netbeans.org/cddl-gplv2.html
++-or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++-specific language governing permissions and limitations under the
++-License. When distributing the software, include this License Header
++-Notice in each file and include the License file at
++-nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
++-particular file as subject to the "Classpath" exception as provided
++-by Oracle in the GPL Version 2 section of the License file that
++-accompanied this code. If applicable, add the following below the
++-License Header, with the fields enclosed by brackets [] replaced by
++-your own identifying information:
++-"Portions Copyrighted [year] [name of copyright owner]"
++-
++-If you wish your version of this file to be governed by only the CDDL
++-or only the GPL Version 2, indicate your decision by adding
++-"[Contributor] elects to include this software in this distribution
++-under the [CDDL or GPL Version 2] license." If you do not indicate a
++-single choice of license, a recipient has the option to distribute
++-your version of this file under either the CDDL, the GPL Version 2 or
++-to extend the choice of license to its licensees as provided above.
++-However, if you add GPL Version 2 code and therefore, elected the GPL
++-Version 2 license, then the option applies only if the new code is
++-made subject to such option by the copyright holder.
++-
++-Contributor(s):
++--->
++ <project basedir="." default="netbeans" name="java.source.base">
++ <description>Builds, tests, and runs the project org.netbeans.modules.java.source.base</description>
++ <import file="../nbbuild/templates/projectized.xml"/>
++diff --git a/java.source.base/nbproject/org-netbeans-modules-java-source-base.sig b/java.source.base/nbproject/org-netbeans-modules-java-source-base.sig
++deleted file mode 100644
++index adb77ef5e..000000000
++--- a/java.source.base/nbproject/org-netbeans-modules-java-source-base.sig
+++++ /dev/null
++@@ -1,1767 +0,0 @@
++-#Signature file v4.1
++-#Version 2.9.1
++-
++-CLSS public abstract interface com.sun.source.tree.TreeVisitor<%0 extends java.lang.Object, %1 extends java.lang.Object>
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitAnnotatedType(com.sun.source.tree.AnnotatedTypeTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitAnnotation(com.sun.source.tree.AnnotationTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitArrayAccess(com.sun.source.tree.ArrayAccessTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitArrayType(com.sun.source.tree.ArrayTypeTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitAssert(com.sun.source.tree.AssertTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitAssignment(com.sun.source.tree.AssignmentTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitBinary(com.sun.source.tree.BinaryTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitBlock(com.sun.source.tree.BlockTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitBreak(com.sun.source.tree.BreakTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitCase(com.sun.source.tree.CaseTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitCatch(com.sun.source.tree.CatchTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitClass(com.sun.source.tree.ClassTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitCompilationUnit(com.sun.source.tree.CompilationUnitTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitCompoundAssignment(com.sun.source.tree.CompoundAssignmentTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitConditionalExpression(com.sun.source.tree.ConditionalExpressionTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitContinue(com.sun.source.tree.ContinueTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitDoWhileLoop(com.sun.source.tree.DoWhileLoopTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitEmptyStatement(com.sun.source.tree.EmptyStatementTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitEnhancedForLoop(com.sun.source.tree.EnhancedForLoopTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitErroneous(com.sun.source.tree.ErroneousTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitExpressionStatement(com.sun.source.tree.ExpressionStatementTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitForLoop(com.sun.source.tree.ForLoopTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitIdentifier(com.sun.source.tree.IdentifierTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitIf(com.sun.source.tree.IfTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitImport(com.sun.source.tree.ImportTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitInstanceOf(com.sun.source.tree.InstanceOfTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitIntersectionType(com.sun.source.tree.IntersectionTypeTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitLabeledStatement(com.sun.source.tree.LabeledStatementTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitLambdaExpression(com.sun.source.tree.LambdaExpressionTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitLiteral(com.sun.source.tree.LiteralTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitMemberReference(com.sun.source.tree.MemberReferenceTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitMemberSelect(com.sun.source.tree.MemberSelectTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitMethod(com.sun.source.tree.MethodTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitMethodInvocation(com.sun.source.tree.MethodInvocationTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitModifiers(com.sun.source.tree.ModifiersTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitNewArray(com.sun.source.tree.NewArrayTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitNewClass(com.sun.source.tree.NewClassTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitOther(com.sun.source.tree.Tree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitParameterizedType(com.sun.source.tree.ParameterizedTypeTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitParenthesized(com.sun.source.tree.ParenthesizedTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitPrimitiveType(com.sun.source.tree.PrimitiveTypeTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitReturn(com.sun.source.tree.ReturnTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitSwitch(com.sun.source.tree.SwitchTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitSynchronized(com.sun.source.tree.SynchronizedTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitThrow(com.sun.source.tree.ThrowTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitTry(com.sun.source.tree.TryTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitTypeCast(com.sun.source.tree.TypeCastTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitTypeParameter(com.sun.source.tree.TypeParameterTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitUnary(com.sun.source.tree.UnaryTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitUnionType(com.sun.source.tree.UnionTypeTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitVariable(com.sun.source.tree.VariableTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitWhileLoop(com.sun.source.tree.WhileLoopTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitWildcard(com.sun.source.tree.WildcardTree,{com.sun.source.tree.TreeVisitor%1})
++-
++-CLSS public com.sun.source.util.TreePathScanner<%0 extends java.lang.Object, %1 extends java.lang.Object>
++-cons public init()
++-meth public com.sun.source.util.TreePath getCurrentPath()
++-meth public {com.sun.source.util.TreePathScanner%0} scan(com.sun.source.tree.Tree,{com.sun.source.util.TreePathScanner%1})
++-meth public {com.sun.source.util.TreePathScanner%0} scan(com.sun.source.util.TreePath,{com.sun.source.util.TreePathScanner%1})
++-supr com.sun.source.util.TreeScanner<{com.sun.source.util.TreePathScanner%0},{com.sun.source.util.TreePathScanner%1}>
++-hfds path
++-
++-CLSS public com.sun.source.util.TreeScanner<%0 extends java.lang.Object, %1 extends java.lang.Object>
++-cons public init()
++-intf com.sun.source.tree.TreeVisitor<{com.sun.source.util.TreeScanner%0},{com.sun.source.util.TreeScanner%1}>
++-meth public {com.sun.source.util.TreeScanner%0} reduce({com.sun.source.util.TreeScanner%0},{com.sun.source.util.TreeScanner%0})
++-meth public {com.sun.source.util.TreeScanner%0} scan(com.sun.source.tree.Tree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} scan(java.lang.Iterable<? extends com.sun.source.tree.Tree>,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitAnnotatedType(com.sun.source.tree.AnnotatedTypeTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitAnnotation(com.sun.source.tree.AnnotationTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitArrayAccess(com.sun.source.tree.ArrayAccessTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitArrayType(com.sun.source.tree.ArrayTypeTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitAssert(com.sun.source.tree.AssertTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitAssignment(com.sun.source.tree.AssignmentTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitBinary(com.sun.source.tree.BinaryTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitBlock(com.sun.source.tree.BlockTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitBreak(com.sun.source.tree.BreakTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitCase(com.sun.source.tree.CaseTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitCatch(com.sun.source.tree.CatchTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitClass(com.sun.source.tree.ClassTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitCompilationUnit(com.sun.source.tree.CompilationUnitTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitCompoundAssignment(com.sun.source.tree.CompoundAssignmentTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitConditionalExpression(com.sun.source.tree.ConditionalExpressionTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitContinue(com.sun.source.tree.ContinueTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitDoWhileLoop(com.sun.source.tree.DoWhileLoopTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitEmptyStatement(com.sun.source.tree.EmptyStatementTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitEnhancedForLoop(com.sun.source.tree.EnhancedForLoopTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitErroneous(com.sun.source.tree.ErroneousTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitExpressionStatement(com.sun.source.tree.ExpressionStatementTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitForLoop(com.sun.source.tree.ForLoopTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitIdentifier(com.sun.source.tree.IdentifierTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitIf(com.sun.source.tree.IfTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitImport(com.sun.source.tree.ImportTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitInstanceOf(com.sun.source.tree.InstanceOfTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitIntersectionType(com.sun.source.tree.IntersectionTypeTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitLabeledStatement(com.sun.source.tree.LabeledStatementTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitLambdaExpression(com.sun.source.tree.LambdaExpressionTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitLiteral(com.sun.source.tree.LiteralTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitMemberReference(com.sun.source.tree.MemberReferenceTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitMemberSelect(com.sun.source.tree.MemberSelectTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitMethod(com.sun.source.tree.MethodTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitMethodInvocation(com.sun.source.tree.MethodInvocationTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitModifiers(com.sun.source.tree.ModifiersTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitNewArray(com.sun.source.tree.NewArrayTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitNewClass(com.sun.source.tree.NewClassTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitOther(com.sun.source.tree.Tree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitParameterizedType(com.sun.source.tree.ParameterizedTypeTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitParenthesized(com.sun.source.tree.ParenthesizedTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitPrimitiveType(com.sun.source.tree.PrimitiveTypeTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitReturn(com.sun.source.tree.ReturnTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitSwitch(com.sun.source.tree.SwitchTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitSynchronized(com.sun.source.tree.SynchronizedTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitThrow(com.sun.source.tree.ThrowTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitTry(com.sun.source.tree.TryTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitTypeCast(com.sun.source.tree.TypeCastTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitTypeParameter(com.sun.source.tree.TypeParameterTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitUnary(com.sun.source.tree.UnaryTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitUnionType(com.sun.source.tree.UnionTypeTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitVariable(com.sun.source.tree.VariableTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitWhileLoop(com.sun.source.tree.WhileLoopTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitWildcard(com.sun.source.tree.WildcardTree,{com.sun.source.util.TreeScanner%1})
++-supr java.lang.Object
++-
++-CLSS public java.io.IOException
++-cons public init()
++-cons public init(java.lang.String)
++-cons public init(java.lang.String,java.lang.Throwable)
++-cons public init(java.lang.Throwable)
++-supr java.lang.Exception
++-hfds serialVersionUID
++-
++-CLSS public abstract interface java.io.Serializable
++-
++-CLSS public abstract interface java.lang.Comparable<%0 extends java.lang.Object>
++-meth public abstract int compareTo({java.lang.Comparable%0})
++-
++-CLSS public abstract interface !annotation java.lang.Deprecated
++- anno 0 java.lang.annotation.Documented()
++- anno 0 java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy value=RUNTIME)
++- anno 0 java.lang.annotation.Target(java.lang.annotation.ElementType[] value=[CONSTRUCTOR, FIELD, LOCAL_VARIABLE, METHOD, PACKAGE, PARAMETER, TYPE])
++-intf java.lang.annotation.Annotation
++-
++-CLSS public abstract java.lang.Enum<%0 extends java.lang.Enum<{java.lang.Enum%0}>>
++-cons protected init(java.lang.String,int)
++-intf java.io.Serializable
++-intf java.lang.Comparable<{java.lang.Enum%0}>
++-meth protected final java.lang.Object clone() throws java.lang.CloneNotSupportedException
++-meth protected final void finalize()
++-meth public final boolean equals(java.lang.Object)
++-meth public final int compareTo({java.lang.Enum%0})
++-meth public final int hashCode()
++-meth public final int ordinal()
++-meth public final java.lang.Class<{java.lang.Enum%0}> getDeclaringClass()
++-meth public final java.lang.String name()
++-meth public java.lang.String toString()
++-meth public static <%0 extends java.lang.Enum<{%%0}>> {%%0} valueOf(java.lang.Class<{%%0}>,java.lang.String)
++-supr java.lang.Object
++-hfds name,ordinal
++-
++-CLSS public java.lang.Exception
++-cons protected init(java.lang.String,java.lang.Throwable,boolean,boolean)
++-cons public init()
++-cons public init(java.lang.String)
++-cons public init(java.lang.String,java.lang.Throwable)
++-cons public init(java.lang.Throwable)
++-supr java.lang.Throwable
++-hfds serialVersionUID
++-
++-CLSS public java.lang.Object
++-cons public init()
++-meth protected java.lang.Object clone() throws java.lang.CloneNotSupportedException
++-meth protected void finalize() throws java.lang.Throwable
++-meth public boolean equals(java.lang.Object)
++-meth public final java.lang.Class<?> getClass()
++-meth public final void notify()
++-meth public final void notifyAll()
++-meth public final void wait() throws java.lang.InterruptedException
++-meth public final void wait(long) throws java.lang.InterruptedException
++-meth public final void wait(long,int) throws java.lang.InterruptedException
++-meth public int hashCode()
++-meth public java.lang.String toString()
++-
++-CLSS public java.lang.Throwable
++-cons protected init(java.lang.String,java.lang.Throwable,boolean,boolean)
++-cons public init()
++-cons public init(java.lang.String)
++-cons public init(java.lang.String,java.lang.Throwable)
++-cons public init(java.lang.Throwable)
++-intf java.io.Serializable
++-meth public final java.lang.Throwable[] getSuppressed()
++-meth public final void addSuppressed(java.lang.Throwable)
++-meth public java.lang.StackTraceElement[] getStackTrace()
++-meth public java.lang.String getLocalizedMessage()
++-meth public java.lang.String getMessage()
++-meth public java.lang.String toString()
++-meth public java.lang.Throwable fillInStackTrace()
++-meth public java.lang.Throwable getCause()
++-meth public java.lang.Throwable initCause(java.lang.Throwable)
++-meth public void printStackTrace()
++-meth public void printStackTrace(java.io.PrintStream)
++-meth public void printStackTrace(java.io.PrintWriter)
++-meth public void setStackTrace(java.lang.StackTraceElement[])
++-supr java.lang.Object
++-hfds CAUSE_CAPTION,EMPTY_THROWABLE_ARRAY,NULL_CAUSE_MESSAGE,SELF_SUPPRESSION_MESSAGE,SUPPRESSED_CAPTION,SUPPRESSED_SENTINEL,UNASSIGNED_STACK,backtrace,cause,detailMessage,serialVersionUID,stackTrace,suppressedExceptions
++-hcls PrintStreamOrWriter,SentinelHolder,WrappedPrintStream,WrappedPrintWriter
++-
++-CLSS public abstract interface java.lang.annotation.Annotation
++-meth public abstract boolean equals(java.lang.Object)
++-meth public abstract int hashCode()
++-meth public abstract java.lang.Class<? extends java.lang.annotation.Annotation> annotationType()
++-meth public abstract java.lang.String toString()
++-
++-CLSS public abstract interface !annotation java.lang.annotation.Documented
++- anno 0 java.lang.annotation.Documented()
++- anno 0 java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy value=RUNTIME)
++- anno 0 java.lang.annotation.Target(java.lang.annotation.ElementType[] value=[ANNOTATION_TYPE])
++-intf java.lang.annotation.Annotation
++-
++-CLSS public abstract interface !annotation java.lang.annotation.Retention
++- anno 0 java.lang.annotation.Documented()
++- anno 0 java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy value=RUNTIME)
++- anno 0 java.lang.annotation.Target(java.lang.annotation.ElementType[] value=[ANNOTATION_TYPE])
++-intf java.lang.annotation.Annotation
++-meth public abstract java.lang.annotation.RetentionPolicy value()
++-
++-CLSS public abstract interface !annotation java.lang.annotation.Target
++- anno 0 java.lang.annotation.Documented()
++- anno 0 java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy value=RUNTIME)
++- anno 0 java.lang.annotation.Target(java.lang.annotation.ElementType[] value=[ANNOTATION_TYPE])
++-intf java.lang.annotation.Annotation
++-meth public abstract java.lang.annotation.ElementType[] value()
++-
++-CLSS public abstract interface java.util.EventListener
++-
++-CLSS public java.util.EventObject
++-cons public init(java.lang.Object)
++-fld protected java.lang.Object source
++-intf java.io.Serializable
++-meth public java.lang.Object getSource()
++-meth public java.lang.String toString()
++-supr java.lang.Object
++-hfds serialVersionUID
++-
++-CLSS public org.netbeans.api.java.source.BuildArtifactMapper
++-cons public init()
++-innr public abstract interface static ArtifactsUpdated
++-meth public static void addArtifactsUpdatedListener(java.net.URL,org.netbeans.api.java.source.BuildArtifactMapper$ArtifactsUpdated)
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++-meth public static void removeArtifactsUpdatedListener(java.net.URL,org.netbeans.api.java.source.BuildArtifactMapper$ArtifactsUpdated)
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++-supr java.lang.Object
++-
++-CLSS public abstract interface static org.netbeans.api.java.source.BuildArtifactMapper$ArtifactsUpdated
++- outer org.netbeans.api.java.source.BuildArtifactMapper
++-meth public abstract void artifactsUpdated(java.lang.Iterable<java.io.File>)
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-
++-CLSS public abstract interface org.netbeans.api.java.source.CancellableTask<%0 extends java.lang.Object>
++-intf org.netbeans.api.java.source.Task<{org.netbeans.api.java.source.CancellableTask%0}>
++-meth public abstract void cancel()
++-
++-CLSS public final org.netbeans.api.java.source.ClassIndex
++-innr public abstract interface static SearchScopeType
++-innr public abstract static !enum SearchScope
++-innr public final static !enum NameKind
++-innr public final static !enum ResourceType
++-innr public final static !enum SearchKind
++-innr public final static Symbols
++-meth public !varargs static org.netbeans.api.java.source.ClassIndex$SearchScopeType createPackageSearchScope(org.netbeans.api.java.source.ClassIndex$SearchScopeType,java.lang.String[])
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++-meth public java.lang.Iterable<org.netbeans.api.java.source.ClassIndex$Symbols> getDeclaredSymbols(java.lang.String,org.netbeans.api.java.source.ClassIndex$NameKind,java.util.Set<? extends org.netbeans.api.java.source.ClassIndex$SearchScopeType>)
++- anno 0 org.netbeans.api.annotations.common.NullUnknown()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++- anno 3 org.netbeans.api.annotations.common.NonNull()
++-meth public java.util.Set<java.lang.String> getPackageNames(java.lang.String,boolean,java.util.Set<? extends org.netbeans.api.java.source.ClassIndex$SearchScopeType>)
++- anno 0 org.netbeans.api.annotations.common.NullUnknown()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 3 org.netbeans.api.annotations.common.NonNull()
++-meth public java.util.Set<org.netbeans.api.java.source.ElementHandle<javax.lang.model.element.TypeElement>> getDeclaredTypes(java.lang.String,org.netbeans.api.java.source.ClassIndex$NameKind,java.util.Set<? extends org.netbeans.api.java.source.ClassIndex$SearchScopeType>)
++- anno 0 org.netbeans.api.annotations.common.NullUnknown()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++- anno 3 org.netbeans.api.annotations.common.NonNull()
++-meth public java.util.Set<org.netbeans.api.java.source.ElementHandle<javax.lang.model.element.TypeElement>> getElements(org.netbeans.api.java.source.ElementHandle<javax.lang.model.element.TypeElement>,java.util.Set<org.netbeans.api.java.source.ClassIndex$SearchKind>,java.util.Set<? extends org.netbeans.api.java.source.ClassIndex$SearchScopeType>)
++- anno 0 org.netbeans.api.annotations.common.NullUnknown()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++- anno 3 org.netbeans.api.annotations.common.NonNull()
++-meth public java.util.Set<org.netbeans.api.java.source.ElementHandle<javax.lang.model.element.TypeElement>> getElementsForPackage(org.netbeans.api.java.source.ElementHandle<javax.lang.model.element.PackageElement>,java.util.Set<org.netbeans.api.java.source.ClassIndex$SearchKind>,java.util.Set<? extends org.netbeans.api.java.source.ClassIndex$SearchScopeType>)
++- anno 0 org.netbeans.api.annotations.common.NullUnknown()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++- anno 3 org.netbeans.api.annotations.common.NonNull()
++-meth public java.util.Set<org.openide.filesystems.FileObject> getResources(org.netbeans.api.java.source.ElementHandle<javax.lang.model.element.TypeElement>,java.util.Set<org.netbeans.api.java.source.ClassIndex$SearchKind>,java.util.Set<? extends org.netbeans.api.java.source.ClassIndex$SearchScopeType>)
++- anno 0 org.netbeans.api.annotations.common.NullUnknown()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++- anno 3 org.netbeans.api.annotations.common.NonNull()
++-meth public java.util.Set<org.openide.filesystems.FileObject> getResources(org.netbeans.api.java.source.ElementHandle<javax.lang.model.element.TypeElement>,java.util.Set<org.netbeans.api.java.source.ClassIndex$SearchKind>,java.util.Set<? extends org.netbeans.api.java.source.ClassIndex$SearchScopeType>,java.util.Set<org.netbeans.api.java.source.ClassIndex$ResourceType>)
++- anno 0 org.netbeans.api.annotations.common.NullUnknown()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++- anno 3 org.netbeans.api.annotations.common.NonNull()
++- anno 4 org.netbeans.api.annotations.common.NonNull()
++-meth public java.util.Set<org.openide.filesystems.FileObject> getResourcesForPackage(org.netbeans.api.java.source.ElementHandle<javax.lang.model.element.PackageElement>,java.util.Set<org.netbeans.api.java.source.ClassIndex$SearchKind>,java.util.Set<? extends org.netbeans.api.java.source.ClassIndex$SearchScopeType>)
++- anno 0 org.netbeans.api.annotations.common.NullUnknown()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++- anno 3 org.netbeans.api.annotations.common.NonNull()
++-meth public void addClassIndexListener(org.netbeans.api.java.source.ClassIndexListener)
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public void removeClassIndexListener(org.netbeans.api.java.source.ClassIndexListener)
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-supr java.lang.Object
++-hfds LOGGER,bootPath,classPath,depsIndeces,listeners,oldBoot,oldCompile,oldSources,sourceIndeces,sourcePath,spiListener
++-hcls ClassIndexFactoryImpl,SPIListener
++-
++-CLSS public final static !enum org.netbeans.api.java.source.ClassIndex$NameKind
++- outer org.netbeans.api.java.source.ClassIndex
++-fld public final static org.netbeans.api.java.source.ClassIndex$NameKind CAMEL_CASE
++-fld public final static org.netbeans.api.java.source.ClassIndex$NameKind CAMEL_CASE_INSENSITIVE
++-fld public final static org.netbeans.api.java.source.ClassIndex$NameKind CASE_INSENSITIVE_PREFIX
++-fld public final static org.netbeans.api.java.source.ClassIndex$NameKind CASE_INSENSITIVE_REGEXP
++-fld public final static org.netbeans.api.java.source.ClassIndex$NameKind PREFIX
++-fld public final static org.netbeans.api.java.source.ClassIndex$NameKind REGEXP
++-fld public final static org.netbeans.api.java.source.ClassIndex$NameKind SIMPLE_NAME
++-meth public static org.netbeans.api.java.source.ClassIndex$NameKind valueOf(java.lang.String)
++-meth public static org.netbeans.api.java.source.ClassIndex$NameKind[] values()
++-supr java.lang.Enum<org.netbeans.api.java.source.ClassIndex$NameKind>
++-
++-CLSS public final static !enum org.netbeans.api.java.source.ClassIndex$ResourceType
++- outer org.netbeans.api.java.source.ClassIndex
++-fld public final static org.netbeans.api.java.source.ClassIndex$ResourceType BINARY
++-fld public final static org.netbeans.api.java.source.ClassIndex$ResourceType SOURCE
++-meth public static org.netbeans.api.java.source.ClassIndex$ResourceType valueOf(java.lang.String)
++-meth public static org.netbeans.api.java.source.ClassIndex$ResourceType[] values()
++-supr java.lang.Enum<org.netbeans.api.java.source.ClassIndex$ResourceType>
++-
++-CLSS public final static !enum org.netbeans.api.java.source.ClassIndex$SearchKind
++- outer org.netbeans.api.java.source.ClassIndex
++-fld public final static org.netbeans.api.java.source.ClassIndex$SearchKind FIELD_REFERENCES
++-fld public final static org.netbeans.api.java.source.ClassIndex$SearchKind FUNCTIONAL_IMPLEMENTORS
++-fld public final static org.netbeans.api.java.source.ClassIndex$SearchKind IMPLEMENTORS
++-fld public final static org.netbeans.api.java.source.ClassIndex$SearchKind METHOD_REFERENCES
++-fld public final static org.netbeans.api.java.source.ClassIndex$SearchKind TYPE_REFERENCES
++-meth public static org.netbeans.api.java.source.ClassIndex$SearchKind valueOf(java.lang.String)
++-meth public static org.netbeans.api.java.source.ClassIndex$SearchKind[] values()
++-supr java.lang.Enum<org.netbeans.api.java.source.ClassIndex$SearchKind>
++-
++-CLSS public abstract static !enum org.netbeans.api.java.source.ClassIndex$SearchScope
++- outer org.netbeans.api.java.source.ClassIndex
++-fld public final static org.netbeans.api.java.source.ClassIndex$SearchScope DEPENDENCIES
++-fld public final static org.netbeans.api.java.source.ClassIndex$SearchScope SOURCE
++-intf org.netbeans.api.java.source.ClassIndex$SearchScopeType
++-meth public java.util.Set<? extends java.lang.String> getPackages()
++- anno 0 org.netbeans.api.annotations.common.CheckForNull()
++-meth public static org.netbeans.api.java.source.ClassIndex$SearchScope valueOf(java.lang.String)
++-meth public static org.netbeans.api.java.source.ClassIndex$SearchScope[] values()
++-supr java.lang.Enum<org.netbeans.api.java.source.ClassIndex$SearchScope>
++-
++-CLSS public abstract interface static org.netbeans.api.java.source.ClassIndex$SearchScopeType
++- outer org.netbeans.api.java.source.ClassIndex
++-meth public abstract boolean isDependencies()
++-meth public abstract boolean isSources()
++-meth public abstract java.util.Set<? extends java.lang.String> getPackages()
++- anno 0 org.netbeans.api.annotations.common.CheckForNull()
++-
++-CLSS public final static org.netbeans.api.java.source.ClassIndex$Symbols
++- outer org.netbeans.api.java.source.ClassIndex
++-meth public java.util.Set<java.lang.String> getSymbols()
++-meth public org.netbeans.api.java.source.ElementHandle<javax.lang.model.element.TypeElement> getEnclosingType()
++-supr java.lang.Object
++-hfds enclosingType,symbols
++-
++-CLSS public abstract interface org.netbeans.api.java.source.ClassIndexListener
++-intf java.util.EventListener
++-meth public abstract void rootsAdded(org.netbeans.api.java.source.RootsEvent)
++-meth public abstract void rootsRemoved(org.netbeans.api.java.source.RootsEvent)
++-meth public abstract void typesAdded(org.netbeans.api.java.source.TypesEvent)
++-meth public abstract void typesChanged(org.netbeans.api.java.source.TypesEvent)
++-meth public abstract void typesRemoved(org.netbeans.api.java.source.TypesEvent)
++-
++-CLSS public final org.netbeans.api.java.source.ClasspathInfo
++-innr public final static !enum PathKind
++-meth public boolean equals(java.lang.Object)
++-meth public int hashCode()
++-meth public java.lang.String toString()
++-meth public org.netbeans.api.java.classpath.ClassPath getClassPath(org.netbeans.api.java.source.ClasspathInfo$PathKind)
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public org.netbeans.api.java.source.ClassIndex getClassIndex()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public static org.netbeans.api.java.source.ClasspathInfo create(java.io.File)
++- anno 0 org.netbeans.api.annotations.common.NullUnknown()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public static org.netbeans.api.java.source.ClasspathInfo create(javax.swing.text.Document)
++- anno 0 org.netbeans.api.annotations.common.NullUnknown()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public static org.netbeans.api.java.source.ClasspathInfo create(org.netbeans.api.java.classpath.ClassPath,org.netbeans.api.java.classpath.ClassPath,org.netbeans.api.java.classpath.ClassPath)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++- anno 3 org.netbeans.api.annotations.common.NullAllowed()
++-meth public static org.netbeans.api.java.source.ClasspathInfo create(org.openide.filesystems.FileObject)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public void addChangeListener(javax.swing.event.ChangeListener)
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public void removeChangeListener(javax.swing.event.ChangeListener)
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-supr java.lang.Object
++-hfds archiveProvider,bootClassPath,cachedAptSrcClassPath,cachedBootClassPath,cachedCompileClassPath,cachedSrcClassPath,compileClassPath,cpListener,filter,fmTx,ignoreExcludes,listenerList,log,memoryFileManager,outputClassPath,pgTx,srcClassPath,usagesQuery,useModifiedFiles
++-hcls ClassPathListener,ClasspathInfoAccessorImpl
++-
++-CLSS public final static !enum org.netbeans.api.java.source.ClasspathInfo$PathKind
++- outer org.netbeans.api.java.source.ClasspathInfo
++-fld public final static org.netbeans.api.java.source.ClasspathInfo$PathKind BOOT
++-fld public final static org.netbeans.api.java.source.ClasspathInfo$PathKind COMPILE
++-fld public final static org.netbeans.api.java.source.ClasspathInfo$PathKind OUTPUT
++-fld public final static org.netbeans.api.java.source.ClasspathInfo$PathKind SOURCE
++-meth public static org.netbeans.api.java.source.ClasspathInfo$PathKind valueOf(java.lang.String)
++-meth public static org.netbeans.api.java.source.ClasspathInfo$PathKind[] values()
++-supr java.lang.Enum<org.netbeans.api.java.source.ClasspathInfo$PathKind>
++-
++-CLSS public final org.netbeans.api.java.source.CodeStyle
++-innr public final static !enum BracePlacement
++-innr public final static !enum BracesGenerationStyle
++-innr public final static !enum InsertionPoint
++-innr public final static !enum WrapStyle
++-innr public final static ImportGroups
++-innr public final static MemberGroups
++-meth public boolean absoluteLabelIndent()
++-meth public boolean addLeadingStarInComment()
++-meth public boolean addOverrideAnnotation()
++-meth public boolean alignJavadocExceptionDescriptions()
++-meth public boolean alignJavadocParameterDescriptions()
++-meth public boolean alignJavadocReturnDescription()
++-meth public boolean alignMultilineAnnotationArgs()
++-meth public boolean alignMultilineArrayInit()
++-meth public boolean alignMultilineAssignment()
++-meth public boolean alignMultilineBinaryOp()
++-meth public boolean alignMultilineCallArgs()
++-meth public boolean alignMultilineDisjunctiveCatchTypes()
++-meth public boolean alignMultilineFor()
++-meth public boolean alignMultilineImplements()
++-meth public boolean alignMultilineLambdaParams()
++-meth public boolean alignMultilineMethodParams()
++-meth public boolean alignMultilineParenthesized()
++-meth public boolean alignMultilineTernaryOp()
++-meth public boolean alignMultilineThrows()
++-meth public boolean alignMultilineTryResources()
++-meth public boolean blankLineAfterJavadocDescription()
++-meth public boolean blankLineAfterJavadocParameterDescriptions()
++-meth public boolean blankLineAfterJavadocReturnTag()
++-meth public boolean computeMemberDependencies()
++-meth public boolean enableBlockCommentFormatting()
++-meth public boolean enableJavadocFormatting()
++-meth public boolean expandTabToSpaces()
++-meth public boolean generateParagraphTagOnBlankLines()
++-meth public boolean importInnerClasses()
++-meth public boolean indentCasesFromSwitch()
++-meth public boolean indentTopLevelClassMembers()
++-meth public boolean keepGettersAndSettersTogether()
++-meth public boolean makeLocalVarsFinal()
++-meth public boolean makeParametersFinal()
++-meth public boolean placeCatchOnNewLine()
++-meth public boolean placeElseOnNewLine()
++-meth public boolean placeFinallyOnNewLine()
++-meth public boolean placeNewLineAfterModifiers()
++-meth public boolean placeWhileOnNewLine()
++-meth public boolean preferLongerNames()
++-meth public boolean preferStaticImports()
++-meth public boolean preserveNewLinesInComments()
++-meth public boolean qualifyFieldAccess()
++-meth public boolean separateImportGroups()
++-meth public boolean sortMembersInGroupsAlphabetically()
++-meth public boolean spaceAfterColon()
++-meth public boolean spaceAfterComma()
++-meth public boolean spaceAfterSemi()
++-meth public boolean spaceAfterTypeCast()
++-meth public boolean spaceAroundAnnotationValueAssignOps()
++-meth public boolean spaceAroundAssignOps()
++-meth public boolean spaceAroundBinaryOps()
++-meth public boolean spaceAroundLambdaArrow()
++-meth public boolean spaceAroundMethodReferenceDoubleColon()
++-meth public boolean spaceAroundTernaryOps()
++-meth public boolean spaceAroundUnaryOps()
++-meth public boolean spaceBeforeAnnotationParen()
++-meth public boolean spaceBeforeArrayInitLeftBrace()
++-meth public boolean spaceBeforeCatch()
++-meth public boolean spaceBeforeCatchLeftBrace()
++-meth public boolean spaceBeforeCatchParen()
++-meth public boolean spaceBeforeClassDeclLeftBrace()
++-meth public boolean spaceBeforeColon()
++-meth public boolean spaceBeforeComma()
++-meth public boolean spaceBeforeDoLeftBrace()
++-meth public boolean spaceBeforeElse()
++-meth public boolean spaceBeforeElseLeftBrace()
++-meth public boolean spaceBeforeFinally()
++-meth public boolean spaceBeforeFinallyLeftBrace()
++-meth public boolean spaceBeforeForLeftBrace()
++-meth public boolean spaceBeforeForParen()
++-meth public boolean spaceBeforeIfLeftBrace()
++-meth public boolean spaceBeforeIfParen()
++-meth public boolean spaceBeforeMethodCallParen()
++-meth public boolean spaceBeforeMethodDeclLeftBrace()
++-meth public boolean spaceBeforeMethodDeclParen()
++-meth public boolean spaceBeforeSemi()
++-meth public boolean spaceBeforeStaticInitLeftBrace()
++-meth public boolean spaceBeforeSwitchLeftBrace()
++-meth public boolean spaceBeforeSwitchParen()
++-meth public boolean spaceBeforeSynchronizedLeftBrace()
++-meth public boolean spaceBeforeSynchronizedParen()
++-meth public boolean spaceBeforeTryLeftBrace()
++-meth public boolean spaceBeforeTryParen()
++-meth public boolean spaceBeforeWhile()
++-meth public boolean spaceBeforeWhileLeftBrace()
++-meth public boolean spaceBeforeWhileParen()
++-meth public boolean spaceWithinAnnotationParens()
++-meth public boolean spaceWithinArrayIndexBrackets()
++-meth public boolean spaceWithinArrayInitBrackets()
++-meth public boolean spaceWithinBraces()
++-meth public boolean spaceWithinCatchParens()
++-meth public boolean spaceWithinForParens()
++-meth public boolean spaceWithinIfParens()
++-meth public boolean spaceWithinLambdaParens()
++-meth public boolean spaceWithinMethodCallParens()
++-meth public boolean spaceWithinMethodDeclParens()
++-meth public boolean spaceWithinParens()
++-meth public boolean spaceWithinSwitchParens()
++-meth public boolean spaceWithinSynchronizedParens()
++-meth public boolean spaceWithinTryParens()
++-meth public boolean spaceWithinTypeCastParens()
++-meth public boolean spaceWithinWhileParens()
++-meth public boolean specialElseIf()
++-meth public boolean useFQNs()
++-meth public boolean useIsForBooleanGetters()
++-meth public boolean useSingleClassImport()
++-meth public boolean wrapAfterAssignOps()
++-meth public boolean wrapAfterBinaryOps()
++-meth public boolean wrapAfterDotInChainedMethodCalls()
++-meth public boolean wrapAfterLambdaArrow()
++-meth public boolean wrapAfterTernaryOps()
++-meth public boolean wrapCommentText()
++-meth public boolean wrapOneLineComments()
++-meth public int countForUsingStarImport()
++-meth public int countForUsingStaticStarImport()
++-meth public int getBlankLinesAfterAnonymousClassHeader()
++-meth public int getBlankLinesAfterClass()
++-meth public int getBlankLinesAfterClassHeader()
++-meth public int getBlankLinesAfterEnumHeader()
++-meth public int getBlankLinesAfterFields()
++-meth public int getBlankLinesAfterImports()
++-meth public int getBlankLinesAfterMethods()
++-meth public int getBlankLinesAfterPackage()
++-meth public int getBlankLinesBeforeAnonymousClassClosingBrace()
++-meth public int getBlankLinesBeforeClass()
++-meth public int getBlankLinesBeforeClassClosingBrace()
++-meth public int getBlankLinesBeforeEnumClosingBrace()
++-meth public int getBlankLinesBeforeFields()
++-meth public int getBlankLinesBeforeImports()
++-meth public int getBlankLinesBeforeMethods()
++-meth public int getBlankLinesBeforePackage()
++-meth public int getContinuationIndentSize()
++-meth public int getIndentSize()
++-meth public int getLabelIndent()
++-meth public int getMaximumBlankLinesInCode()
++-meth public int getMaximumBlankLinesInDeclarations()
++-meth public int getRightMargin()
++-meth public int getTabSize()
++-meth public java.lang.String getFieldNamePrefix()
++-meth public java.lang.String getFieldNameSuffix()
++-meth public java.lang.String getLocalVarNamePrefix()
++-meth public java.lang.String getLocalVarNameSuffix()
++-meth public java.lang.String getParameterNamePrefix()
++-meth public java.lang.String getParameterNameSuffix()
++-meth public java.lang.String getStaticFieldNamePrefix()
++-meth public java.lang.String getStaticFieldNameSuffix()
++-meth public java.lang.String[] getPackagesForStarImport()
++-meth public org.netbeans.api.java.source.CodeStyle$BracePlacement getClassDeclBracePlacement()
++-meth public org.netbeans.api.java.source.CodeStyle$BracePlacement getMethodDeclBracePlacement()
++-meth public org.netbeans.api.java.source.CodeStyle$BracePlacement getOtherBracePlacement()
++-meth public org.netbeans.api.java.source.CodeStyle$BracesGenerationStyle redundantDoWhileBraces()
++-meth public org.netbeans.api.java.source.CodeStyle$BracesGenerationStyle redundantForBraces()
++-meth public org.netbeans.api.java.source.CodeStyle$BracesGenerationStyle redundantIfBraces()
++-meth public org.netbeans.api.java.source.CodeStyle$BracesGenerationStyle redundantWhileBraces()
++-meth public org.netbeans.api.java.source.CodeStyle$ImportGroups getImportGroups()
++-meth public org.netbeans.api.java.source.CodeStyle$InsertionPoint getClassMemberInsertionPoint()
++-meth public org.netbeans.api.java.source.CodeStyle$MemberGroups getClassMemberGroups()
++-meth public org.netbeans.api.java.source.CodeStyle$WrapStyle wrapAnnotationArgs()
++-meth public org.netbeans.api.java.source.CodeStyle$WrapStyle wrapAnnotations()
++-meth public org.netbeans.api.java.source.CodeStyle$WrapStyle wrapArrayInit()
++-meth public org.netbeans.api.java.source.CodeStyle$WrapStyle wrapAssert()
++-meth public org.netbeans.api.java.source.CodeStyle$WrapStyle wrapAssignOps()
++-meth public org.netbeans.api.java.source.CodeStyle$WrapStyle wrapBinaryOps()
++-meth public org.netbeans.api.java.source.CodeStyle$WrapStyle wrapCaseStatements()
++-meth public org.netbeans.api.java.source.CodeStyle$WrapStyle wrapChainedMethodCalls()
++-meth public org.netbeans.api.java.source.CodeStyle$WrapStyle wrapDisjunctiveCatchTypes()
++-meth public org.netbeans.api.java.source.CodeStyle$WrapStyle wrapDoWhileStatement()
++-meth public org.netbeans.api.java.source.CodeStyle$WrapStyle wrapEnumConstants()
++-meth public org.netbeans.api.java.source.CodeStyle$WrapStyle wrapExtendsImplementsKeyword()
++-meth public org.netbeans.api.java.source.CodeStyle$WrapStyle wrapExtendsImplementsList()
++-meth public org.netbeans.api.java.source.CodeStyle$WrapStyle wrapFor()
++-meth public org.netbeans.api.java.source.CodeStyle$WrapStyle wrapForStatement()
++-meth public org.netbeans.api.java.source.CodeStyle$WrapStyle wrapIfStatement()
++-meth public org.netbeans.api.java.source.CodeStyle$WrapStyle wrapLambdaArrow()
++-meth public org.netbeans.api.java.source.CodeStyle$WrapStyle wrapLambdaParams()
++-meth public org.netbeans.api.java.source.CodeStyle$WrapStyle wrapMethodCallArgs()
++-meth public org.netbeans.api.java.source.CodeStyle$WrapStyle wrapMethodParams()
++-meth public org.netbeans.api.java.source.CodeStyle$WrapStyle wrapTernaryOps()
++-meth public org.netbeans.api.java.source.CodeStyle$WrapStyle wrapThrowsKeyword()
++-meth public org.netbeans.api.java.source.CodeStyle$WrapStyle wrapThrowsList()
++-meth public org.netbeans.api.java.source.CodeStyle$WrapStyle wrapTryResources()
++-meth public org.netbeans.api.java.source.CodeStyle$WrapStyle wrapWhileStatement()
++-meth public static org.netbeans.api.java.source.CodeStyle getDefault(javax.swing.text.Document)
++-meth public static org.netbeans.api.java.source.CodeStyle getDefault(org.netbeans.api.project.Project)
++-meth public static org.netbeans.api.java.source.CodeStyle getDefault(org.openide.filesystems.FileObject)
++-supr java.lang.Object
++-hfds preferences
++-hcls Producer
++-
++-CLSS public final static !enum org.netbeans.api.java.source.CodeStyle$BracePlacement
++- outer org.netbeans.api.java.source.CodeStyle
++-fld public final static org.netbeans.api.java.source.CodeStyle$BracePlacement NEW_LINE
++-fld public final static org.netbeans.api.java.source.CodeStyle$BracePlacement NEW_LINE_HALF_INDENTED
++-fld public final static org.netbeans.api.java.source.CodeStyle$BracePlacement NEW_LINE_INDENTED
++-fld public final static org.netbeans.api.java.source.CodeStyle$BracePlacement SAME_LINE
++-meth public static org.netbeans.api.java.source.CodeStyle$BracePlacement valueOf(java.lang.String)
++-meth public static org.netbeans.api.java.source.CodeStyle$BracePlacement[] values()
++-supr java.lang.Enum<org.netbeans.api.java.source.CodeStyle$BracePlacement>
++-
++-CLSS public final static !enum org.netbeans.api.java.source.CodeStyle$BracesGenerationStyle
++- outer org.netbeans.api.java.source.CodeStyle
++-fld public final static org.netbeans.api.java.source.CodeStyle$BracesGenerationStyle ELIMINATE
++-fld public final static org.netbeans.api.java.source.CodeStyle$BracesGenerationStyle GENERATE
++-fld public final static org.netbeans.api.java.source.CodeStyle$BracesGenerationStyle LEAVE_ALONE
++-meth public static org.netbeans.api.java.source.CodeStyle$BracesGenerationStyle valueOf(java.lang.String)
++-meth public static org.netbeans.api.java.source.CodeStyle$BracesGenerationStyle[] values()
++-supr java.lang.Enum<org.netbeans.api.java.source.CodeStyle$BracesGenerationStyle>
++-
++-CLSS public final static org.netbeans.api.java.source.CodeStyle$ImportGroups
++- outer org.netbeans.api.java.source.CodeStyle
++-meth public int getGroupId(java.lang.String,boolean)
++-supr java.lang.Object
++-hfds infos,separateStatic
++-hcls Info
++-
++-CLSS public final static !enum org.netbeans.api.java.source.CodeStyle$InsertionPoint
++- outer org.netbeans.api.java.source.CodeStyle
++-fld public final static org.netbeans.api.java.source.CodeStyle$InsertionPoint CARET_LOCATION
++-fld public final static org.netbeans.api.java.source.CodeStyle$InsertionPoint FIRST_IN_CATEGORY
++-fld public final static org.netbeans.api.java.source.CodeStyle$InsertionPoint LAST_IN_CATEGORY
++-fld public final static org.netbeans.api.java.source.CodeStyle$InsertionPoint ORDERED_IN_CATEGORY
++-meth public static org.netbeans.api.java.source.CodeStyle$InsertionPoint valueOf(java.lang.String)
++-meth public static org.netbeans.api.java.source.CodeStyle$InsertionPoint[] values()
++-supr java.lang.Enum<org.netbeans.api.java.source.CodeStyle$InsertionPoint>
++-
++-CLSS public final static org.netbeans.api.java.source.CodeStyle$MemberGroups
++- outer org.netbeans.api.java.source.CodeStyle
++-meth public int getGroupId(com.sun.source.tree.Tree)
++-meth public int getGroupId(javax.lang.model.element.Element)
++-supr java.lang.Object
++-hfds infos
++-hcls Info
++-
++-CLSS public final static !enum org.netbeans.api.java.source.CodeStyle$WrapStyle
++- outer org.netbeans.api.java.source.CodeStyle
++-fld public final static org.netbeans.api.java.source.CodeStyle$WrapStyle WRAP_ALWAYS
++-fld public final static org.netbeans.api.java.source.CodeStyle$WrapStyle WRAP_IF_LONG
++-fld public final static org.netbeans.api.java.source.CodeStyle$WrapStyle WRAP_NEVER
++-meth public static org.netbeans.api.java.source.CodeStyle$WrapStyle valueOf(java.lang.String)
++-meth public static org.netbeans.api.java.source.CodeStyle$WrapStyle[] values()
++-supr java.lang.Enum<org.netbeans.api.java.source.CodeStyle$WrapStyle>
++-
++-CLSS public final org.netbeans.api.java.source.CodeStyleUtils
++-meth public static java.lang.String addPrefixSuffix(java.lang.CharSequence,java.lang.String,java.lang.String)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NullAllowed()
++- anno 2 org.netbeans.api.annotations.common.NullAllowed()
++- anno 3 org.netbeans.api.annotations.common.NullAllowed()
++-meth public static java.lang.String computeGetterName(java.lang.CharSequence,boolean,boolean,org.netbeans.api.java.source.CodeStyle)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public static java.lang.String computeSetterName(java.lang.CharSequence,boolean,org.netbeans.api.java.source.CodeStyle)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public static java.lang.String getCapitalizedName(java.lang.CharSequence)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public static java.lang.String getDecapitalizedName(java.lang.CharSequence)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public static java.lang.String removePrefixSuffix(java.lang.CharSequence,java.lang.String,java.lang.String)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NullAllowed()
++- anno 3 org.netbeans.api.annotations.common.NullAllowed()
++-supr java.lang.Object
++-
++-CLSS public final org.netbeans.api.java.source.Comment
++-innr public final static !enum Style
++-meth public boolean equals(java.lang.Object)
++-meth public boolean isDocComment()
++-meth public boolean isNew()
++-meth public int endPos()
++-meth public int hashCode()
++-meth public int indent()
++-meth public int pos()
++-meth public java.lang.String getText()
++-meth public java.lang.String toString()
++-meth public org.netbeans.api.java.source.Comment$Style style()
++-meth public static org.netbeans.api.java.source.Comment create(java.lang.String)
++-meth public static org.netbeans.api.java.source.Comment create(org.netbeans.api.java.source.Comment$Style,int,int,int,java.lang.String)
++-meth public static org.netbeans.api.java.source.Comment create(org.netbeans.api.java.source.Comment$Style,java.lang.String)
++-supr java.lang.Object
++-hfds endPos,indent,pos,style,text
++-
++-CLSS public final static !enum org.netbeans.api.java.source.Comment$Style
++- outer org.netbeans.api.java.source.Comment
++-fld public final static org.netbeans.api.java.source.Comment$Style BLOCK
++-fld public final static org.netbeans.api.java.source.Comment$Style JAVADOC
++-fld public final static org.netbeans.api.java.source.Comment$Style LINE
++-fld public final static org.netbeans.api.java.source.Comment$Style WHITESPACE
++-meth public static org.netbeans.api.java.source.Comment$Style valueOf(java.lang.String)
++-meth public static org.netbeans.api.java.source.Comment$Style[] values()
++-supr java.lang.Enum<org.netbeans.api.java.source.Comment$Style>
++-
++-CLSS public final org.netbeans.api.java.source.CommentCollector
++- anno 0 java.lang.Deprecated()
++-meth public static org.netbeans.api.java.source.CommentCollector getInstance()
++- anno 0 java.lang.Deprecated()
++-meth public void collect(org.netbeans.api.java.source.WorkingCopy) throws java.io.IOException
++- anno 0 java.lang.Deprecated()
++-meth public void collect(org.netbeans.api.lexer.TokenSequence<org.netbeans.api.java.lexer.JavaTokenId>,org.netbeans.api.java.source.CompilationInfo)
++- anno 0 java.lang.Deprecated()
++-supr java.lang.Object
++-hfds instance
++-
++-CLSS public org.netbeans.api.java.source.CompilationController
++-meth protected void doInvalidate()
++-meth public org.netbeans.api.java.source.JavaSource$Phase toPhase(org.netbeans.api.java.source.JavaSource$Phase) throws java.io.IOException
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public static org.netbeans.api.java.source.CompilationController get(org.netbeans.modules.parsing.spi.Parser$Result)
++- anno 0 org.netbeans.api.annotations.common.NullUnknown()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-supr org.netbeans.api.java.source.CompilationInfo
++-
++-CLSS public org.netbeans.api.java.source.CompilationInfo
++-innr public final static !enum CacheClearPolicy
++-meth protected void doInvalidate()
++-meth public com.sun.source.tree.CompilationUnitTree getCompilationUnit()
++-meth public com.sun.source.util.DocTrees getDocTrees()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public com.sun.source.util.TreePath getChangedTree()
++- anno 0 org.netbeans.api.annotations.common.CheckForNull()
++- anno 0 org.netbeans.api.annotations.common.CheckReturnValue()
++-meth public com.sun.source.util.Trees getTrees()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public java.lang.Object getCachedValue(java.lang.Object)
++- anno 0 org.netbeans.api.annotations.common.CheckForNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public java.lang.String getText()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public java.util.List<? extends javax.lang.model.element.TypeElement> getTopLevelElements()
++- anno 0 org.netbeans.api.annotations.common.NullUnknown()
++-meth public java.util.List<javax.tools.Diagnostic> getDiagnostics()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public javax.lang.model.SourceVersion getSourceVersion()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public javax.lang.model.util.Elements getElements()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public javax.lang.model.util.Types getTypes()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public javax.swing.text.Document getDocument() throws java.io.IOException
++- anno 0 org.netbeans.api.annotations.common.CheckForNull()
++-meth public org.netbeans.api.java.source.ClasspathInfo getClasspathInfo()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public org.netbeans.api.java.source.ElementUtilities getElementUtilities()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public org.netbeans.api.java.source.JavaSource getJavaSource()
++- anno 0 org.netbeans.api.annotations.common.NullUnknown()
++-meth public org.netbeans.api.java.source.JavaSource$Phase getPhase()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public org.netbeans.api.java.source.PositionConverter getPositionConverter()
++- anno 0 java.lang.Deprecated()
++-meth public org.netbeans.api.java.source.TreeUtilities getTreeUtilities()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public org.netbeans.api.java.source.TypeUtilities getTypeUtilities()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public org.netbeans.api.lexer.TokenHierarchy<?> getTokenHierarchy()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public org.netbeans.modules.parsing.api.Snapshot getSnapshot()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public org.openide.filesystems.FileObject getFileObject()
++- anno 0 org.netbeans.api.annotations.common.NullUnknown()
++-meth public static org.netbeans.api.java.source.CompilationInfo get(org.netbeans.modules.parsing.spi.Parser$Result)
++- anno 0 org.netbeans.api.annotations.common.NullUnknown()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public void putCachedValue(java.lang.Object,java.lang.Object,org.netbeans.api.java.source.CompilationInfo$CacheClearPolicy)
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NullAllowed()
++- anno 3 org.netbeans.api.annotations.common.NonNull()
++-supr java.lang.Object
++-hfds VERIFY_CONFINEMENT,elementUtilities,impl,invalid,javaSource,treeUtilities,trees,typeUtilities
++-
++-CLSS public final static !enum org.netbeans.api.java.source.CompilationInfo$CacheClearPolicy
++- outer org.netbeans.api.java.source.CompilationInfo
++-fld public final static org.netbeans.api.java.source.CompilationInfo$CacheClearPolicy ON_CHANGE
++-fld public final static org.netbeans.api.java.source.CompilationInfo$CacheClearPolicy ON_SIGNATURE_CHANGE
++-fld public final static org.netbeans.api.java.source.CompilationInfo$CacheClearPolicy ON_TASK_END
++-meth public static org.netbeans.api.java.source.CompilationInfo$CacheClearPolicy valueOf(java.lang.String)
++-meth public static org.netbeans.api.java.source.CompilationInfo$CacheClearPolicy[] values()
++-supr java.lang.Enum<org.netbeans.api.java.source.CompilationInfo$CacheClearPolicy>
++-
++-CLSS public final org.netbeans.api.java.source.DocTreePathHandle
++-meth public boolean equals(java.lang.Object)
++-meth public com.sun.source.doctree.DocTree$Kind getKind()
++-meth public com.sun.source.util.DocTreePath resolve(org.netbeans.api.java.source.CompilationInfo)
++-meth public int hashCode()
++-meth public java.lang.String toString()
++-meth public org.netbeans.api.java.source.TreePathHandle getTreePathHandle()
++-meth public static org.netbeans.api.java.source.DocTreePathHandle create(com.sun.source.util.DocTreePath,org.netbeans.api.java.source.CompilationInfo)
++-supr java.lang.Object
++-hfds delegate,log
++-hcls CountingDelegate,Delegate,DocCommentDelegate,DocTreeDelegate
++-
++-CLSS public final org.netbeans.api.java.source.ElementHandle<%0 extends javax.lang.model.element.Element>
++-meth public boolean equals(java.lang.Object)
++-meth public boolean signatureEquals(org.netbeans.api.java.source.ElementHandle<? extends javax.lang.model.element.Element>)
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public boolean signatureEquals({org.netbeans.api.java.source.ElementHandle%0})
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public int hashCode()
++-meth public java.lang.String getBinaryName()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public java.lang.String getQualifiedName()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public java.lang.String toString()
++-meth public javax.lang.model.element.ElementKind getKind()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public static <%0 extends javax.lang.model.element.Element> org.netbeans.api.java.source.ElementHandle<{%%0}> create({%%0})
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public static org.netbeans.api.java.source.ElementHandle<? extends javax.lang.model.element.TypeElement> from(org.netbeans.api.java.source.TypeMirrorHandle<? extends javax.lang.model.type.DeclaredType>)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public static org.netbeans.api.java.source.ElementHandle<javax.lang.model.element.PackageElement> createPackageElementHandle(java.lang.String)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public static org.netbeans.api.java.source.ElementHandle<javax.lang.model.element.TypeElement> createTypeElementHandle(javax.lang.model.element.ElementKind,java.lang.String)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++-meth public {org.netbeans.api.java.source.ElementHandle%0} resolve(org.netbeans.api.java.source.CompilationInfo)
++- anno 0 org.netbeans.api.annotations.common.CheckForNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-supr java.lang.Object
++-hfds NORMALIZATION_CACHE,kind,log,signatures
++-hcls ElementHandleAccessorImpl
++-
++-CLSS public final org.netbeans.api.java.source.ElementUtilities
++-innr public abstract interface static ElementAcceptor
++-meth public boolean alreadyDefinedIn(java.lang.CharSequence,javax.lang.model.type.ExecutableType,javax.lang.model.element.TypeElement)
++-meth public boolean hasGetter(javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement,org.netbeans.api.java.source.CodeStyle)
++-meth public boolean hasSetter(javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement,org.netbeans.api.java.source.CodeStyle)
++-meth public boolean implementsMethod(javax.lang.model.element.ExecutableElement)
++-meth public boolean isEffectivelyFinal(javax.lang.model.element.VariableElement)
++-meth public boolean isErroneous(javax.lang.model.element.Element)
++- anno 1 org.netbeans.api.annotations.common.NullAllowed()
++-meth public boolean isLocal(javax.lang.model.element.Element)
++-meth public boolean isMemberOf(javax.lang.model.element.Element,javax.lang.model.element.TypeElement)
++-meth public boolean isSynthetic(javax.lang.model.element.Element)
++-meth public boolean overridesMethod(javax.lang.model.element.ExecutableElement)
++-meth public com.sun.javadoc.Doc javaDocFor(javax.lang.model.element.Element)
++-meth public java.lang.CharSequence getElementName(javax.lang.model.element.Element,boolean)
++-meth public java.lang.Iterable<? extends javax.lang.model.element.Element> getLocalMembersAndVars(com.sun.source.tree.Scope,org.netbeans.api.java.source.ElementUtilities$ElementAcceptor)
++-meth public java.lang.Iterable<? extends javax.lang.model.element.Element> getLocalVars(com.sun.source.tree.Scope,org.netbeans.api.java.source.ElementUtilities$ElementAcceptor)
++-meth public java.lang.Iterable<? extends javax.lang.model.element.Element> getMembers(javax.lang.model.type.TypeMirror,org.netbeans.api.java.source.ElementUtilities$ElementAcceptor)
++-meth public java.lang.Iterable<? extends javax.lang.model.element.TypeElement> getGlobalTypes(org.netbeans.api.java.source.ElementUtilities$ElementAcceptor)
++-meth public java.util.List<? extends javax.lang.model.element.ExecutableElement> findOverridableMethods(javax.lang.model.element.TypeElement)
++-meth public java.util.List<? extends javax.lang.model.element.ExecutableElement> findUnimplementedMethods(javax.lang.model.element.TypeElement)
++-meth public javax.lang.model.element.Element elementFor(com.sun.javadoc.Doc)
++-meth public javax.lang.model.element.Element findElement(java.lang.String)
++- anno 0 org.netbeans.api.annotations.common.CheckForNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public javax.lang.model.element.Element getImplementationOf(javax.lang.model.element.ExecutableElement,javax.lang.model.element.TypeElement)
++-meth public javax.lang.model.element.ExecutableElement getOverriddenMethod(javax.lang.model.element.ExecutableElement)
++-meth public javax.lang.model.element.TypeElement enclosingTypeElement(javax.lang.model.element.Element)
++-meth public javax.lang.model.element.TypeElement outermostTypeElement(javax.lang.model.element.Element)
++-meth public static java.lang.String getBinaryName(javax.lang.model.element.TypeElement)
++-supr java.lang.Object
++-hfds NOT_OVERRIDABLE,ctx,delegate,info
++-hcls ElementNameVisitor
++-
++-CLSS public abstract interface static org.netbeans.api.java.source.ElementUtilities$ElementAcceptor
++- outer org.netbeans.api.java.source.ElementUtilities
++-meth public abstract boolean accept(javax.lang.model.element.Element,javax.lang.model.type.TypeMirror)
++-
++-CLSS public final org.netbeans.api.java.source.GeneratorUtilities
++-meth public !varargs com.sun.source.tree.CompilationUnitTree appendToAnnotationValue(com.sun.source.tree.CompilationUnitTree,javax.lang.model.element.TypeElement,java.lang.String,com.sun.source.tree.ExpressionTree[])
++-meth public !varargs com.sun.source.tree.ModifiersTree appendToAnnotationValue(com.sun.source.tree.ModifiersTree,javax.lang.model.element.TypeElement,java.lang.String,com.sun.source.tree.ExpressionTree[])
++-meth public <%0 extends com.sun.source.tree.Tree> {%%0} importComments({%%0},com.sun.source.tree.CompilationUnitTree)
++-meth public <%0 extends com.sun.source.tree.Tree> {%%0} importFQNs({%%0})
++-meth public com.sun.source.tree.ClassTree insertClassMember(com.sun.source.tree.ClassTree,com.sun.source.tree.Tree)
++-meth public com.sun.source.tree.ClassTree insertClassMembers(com.sun.source.tree.ClassTree,java.lang.Iterable<? extends com.sun.source.tree.Tree>)
++-meth public com.sun.source.tree.CompilationUnitTree addImports(com.sun.source.tree.CompilationUnitTree,java.util.Set<? extends javax.lang.model.element.Element>)
++-meth public com.sun.source.tree.CompilationUnitTree createFromTemplate(org.openide.filesystems.FileObject,java.lang.String,javax.lang.model.element.ElementKind) throws java.io.IOException
++-meth public com.sun.source.tree.MethodTree createAbstractMethodImplementation(javax.lang.model.element.TypeElement,javax.lang.model.element.ExecutableElement)
++-meth public com.sun.source.tree.MethodTree createConstructor(com.sun.source.tree.ClassTree,java.lang.Iterable<? extends com.sun.source.tree.VariableTree>)
++-meth public com.sun.source.tree.MethodTree createConstructor(javax.lang.model.element.TypeElement,java.lang.Iterable<? extends javax.lang.model.element.VariableElement>,javax.lang.model.element.ExecutableElement)
++-meth public com.sun.source.tree.MethodTree createDefaultConstructor(javax.lang.model.element.TypeElement,java.lang.Iterable<? extends javax.lang.model.element.VariableElement>,javax.lang.model.element.ExecutableElement)
++-meth public com.sun.source.tree.MethodTree createGetter(com.sun.source.tree.VariableTree)
++-meth public com.sun.source.tree.MethodTree createGetter(javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement)
++-meth public com.sun.source.tree.MethodTree createMethod(javax.lang.model.type.DeclaredType,javax.lang.model.element.ExecutableElement)
++-meth public com.sun.source.tree.MethodTree createOverridingMethod(javax.lang.model.element.TypeElement,javax.lang.model.element.ExecutableElement)
++-meth public com.sun.source.tree.MethodTree createSetter(com.sun.source.tree.ClassTree,com.sun.source.tree.VariableTree)
++-meth public com.sun.source.tree.MethodTree createSetter(javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement)
++-meth public java.util.List<? extends com.sun.source.tree.MethodTree> createAbstractMethodImplementations(javax.lang.model.element.TypeElement,java.lang.Iterable<? extends javax.lang.model.element.ExecutableElement>)
++-meth public java.util.List<? extends com.sun.source.tree.MethodTree> createAllAbstractMethodImplementations(javax.lang.model.element.TypeElement)
++-meth public java.util.List<? extends com.sun.source.tree.MethodTree> createOverridingMethods(javax.lang.model.element.TypeElement,java.lang.Iterable<? extends javax.lang.model.element.ExecutableElement>)
++-meth public static org.netbeans.api.java.source.GeneratorUtilities get(org.netbeans.api.java.source.WorkingCopy)
++-meth public void copyComments(com.sun.source.tree.Tree,com.sun.source.tree.Tree,boolean)
++-supr java.lang.Object
++-hfds CLASS_NAME,DEFAULT_RETURN_TYPE_VALUE,GENERATED_METHOD_BODY,METHOD_NAME,METHOD_RETURN_TYPE,OVERRIDDEN_METHOD_BODY,SCRIPT_ENGINE_ATTR,SIMPLE_CLASS_NAME,STRING_OUTPUT_MODE_ATTR,SUPER_METHOD_CALL,copy,manager
++-hcls ClassMemberComparator,FieldRefVisitor,ImportsComparator
++-
++-CLSS public abstract org.netbeans.api.java.source.JavaParserResultTask<%0 extends org.netbeans.modules.parsing.spi.Parser$Result>
++-cons protected init(org.netbeans.api.java.source.JavaSource$Phase)
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-cons protected init(org.netbeans.api.java.source.JavaSource$Phase,org.netbeans.modules.parsing.spi.TaskIndexingMode)
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++-meth public final org.netbeans.api.java.source.JavaSource$Phase getPhase()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-supr org.netbeans.modules.parsing.spi.IndexingAwareParserResultTask<{org.netbeans.api.java.source.JavaParserResultTask%0}>
++-hfds phase
++-
++-CLSS public final org.netbeans.api.java.source.JavaSource
++-innr public final static !enum Phase
++-innr public final static !enum Priority
++-innr public final static InsufficientMemoryException
++-meth public !varargs static org.netbeans.api.java.source.JavaSource create(org.netbeans.api.java.source.ClasspathInfo,org.openide.filesystems.FileObject[])
++- anno 0 org.netbeans.api.annotations.common.NullUnknown()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++-meth public java.util.Collection<org.openide.filesystems.FileObject> getFileObjects()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public java.util.concurrent.Future<java.lang.Void> runWhenScanFinished(org.netbeans.api.java.source.Task<org.netbeans.api.java.source.CompilationController>,boolean) throws java.io.IOException
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public org.netbeans.api.java.source.ClasspathInfo getClasspathInfo()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public org.netbeans.api.java.source.ModificationResult runModificationTask(org.netbeans.api.java.source.Task<org.netbeans.api.java.source.WorkingCopy>) throws java.io.IOException
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public static org.netbeans.api.java.source.JavaSource create(org.netbeans.api.java.source.ClasspathInfo,java.util.Collection<? extends org.openide.filesystems.FileObject>)
++- anno 0 org.netbeans.api.annotations.common.NullUnknown()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++-meth public static org.netbeans.api.java.source.JavaSource forDocument(javax.swing.text.Document)
++- anno 0 org.netbeans.api.annotations.common.CheckForNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public static org.netbeans.api.java.source.JavaSource forFileObject(org.openide.filesystems.FileObject)
++- anno 0 org.netbeans.api.annotations.common.CheckForNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public void runUserActionTask(org.netbeans.api.java.source.Task<org.netbeans.api.java.source.CompilationController>,boolean) throws java.io.IOException
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-supr java.lang.Object
++-hfds LOGGER,cachedCpInfo,classpathInfo,file2JavaSource,files,sources,supportedMIMETypes
++-hcls JavaSourceAccessorImpl,MultiTask
++-
++-CLSS public final static org.netbeans.api.java.source.JavaSource$InsufficientMemoryException
++- outer org.netbeans.api.java.source.JavaSource
++-meth public org.openide.filesystems.FileObject getFile()
++-supr java.io.IOException
++-hfds fo
++-
++-CLSS public final static !enum org.netbeans.api.java.source.JavaSource$Phase
++- outer org.netbeans.api.java.source.JavaSource
++-fld public final static org.netbeans.api.java.source.JavaSource$Phase ELEMENTS_RESOLVED
++-fld public final static org.netbeans.api.java.source.JavaSource$Phase MODIFIED
++-fld public final static org.netbeans.api.java.source.JavaSource$Phase PARSED
++-fld public final static org.netbeans.api.java.source.JavaSource$Phase RESOLVED
++-fld public final static org.netbeans.api.java.source.JavaSource$Phase UP_TO_DATE
++-meth public static org.netbeans.api.java.source.JavaSource$Phase valueOf(java.lang.String)
++-meth public static org.netbeans.api.java.source.JavaSource$Phase[] values()
++-supr java.lang.Enum<org.netbeans.api.java.source.JavaSource$Phase>
++-
++-CLSS public final static !enum org.netbeans.api.java.source.JavaSource$Priority
++- outer org.netbeans.api.java.source.JavaSource
++-fld public final static org.netbeans.api.java.source.JavaSource$Priority ABOVE_NORMAL
++-fld public final static org.netbeans.api.java.source.JavaSource$Priority BELOW_NORMAL
++-fld public final static org.netbeans.api.java.source.JavaSource$Priority HIGH
++-fld public final static org.netbeans.api.java.source.JavaSource$Priority LOW
++-fld public final static org.netbeans.api.java.source.JavaSource$Priority MAX
++-fld public final static org.netbeans.api.java.source.JavaSource$Priority MIN
++-fld public final static org.netbeans.api.java.source.JavaSource$Priority NORMAL
++-meth public static org.netbeans.api.java.source.JavaSource$Priority valueOf(java.lang.String)
++-meth public static org.netbeans.api.java.source.JavaSource$Priority[] values()
++-supr java.lang.Enum<org.netbeans.api.java.source.JavaSource$Priority>
++-
++-CLSS public abstract org.netbeans.api.java.source.JavaSourceTaskFactory
++-cons protected init(org.netbeans.api.java.source.JavaSource$Phase,org.netbeans.api.java.source.JavaSource$Priority)
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++-cons protected init(org.netbeans.api.java.source.JavaSource$Phase,org.netbeans.api.java.source.JavaSource$Priority,org.netbeans.modules.parsing.spi.TaskIndexingMode)
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++- anno 3 org.netbeans.api.annotations.common.NonNull()
++-meth protected abstract java.util.Collection<org.openide.filesystems.FileObject> getFileObjects()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth protected abstract org.netbeans.api.java.source.CancellableTask<org.netbeans.api.java.source.CompilationInfo> createTask(org.openide.filesystems.FileObject)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth protected final void fileObjectsChanged()
++-meth protected final void reschedule(org.openide.filesystems.FileObject)
++-supr java.lang.Object
++-hfds ACCESSOR2,BEFORE_ADDING_REMOVING_TASKS,FILEOBJECTS_COMPUTATION,LOG,SYNCHRONOUS_EVENTS,WORKER,file2JS,file2Task,filesLock,phase,priority,taskIndexingMode
++-hcls Accessor2
++-
++-CLSS public final org.netbeans.api.java.source.ModificationResult
++-innr public static Difference
++-meth public int[] getSpan(java.lang.Object)
++- anno 0 org.netbeans.api.annotations.common.NullUnknown()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public java.lang.String getResultingSource(org.openide.filesystems.FileObject) throws java.io.IOException
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public java.util.List<? extends org.netbeans.api.java.source.ModificationResult$Difference> getDifferences(org.openide.filesystems.FileObject)
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public java.util.Set<? extends org.openide.filesystems.FileObject> getModifiedFileObjects()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public java.util.Set<java.io.File> getNewFiles()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public static org.netbeans.api.java.source.ModificationResult runModificationTask(java.util.Collection<org.netbeans.modules.parsing.api.Source>,org.netbeans.modules.parsing.api.UserTask) throws org.netbeans.modules.parsing.spi.ParseException
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++-meth public void commit() throws java.io.IOException
++-supr java.lang.Object
++-hfds LOG,committed,creator,diffs,lastCommitted,tag2Span
++-hcls CreateChange,FilteringReader,FilteringWriter
++-
++-CLSS public static org.netbeans.api.java.source.ModificationResult$Difference
++- outer org.netbeans.api.java.source.ModificationResult
++-innr public final static !enum Kind
++-meth public boolean isCommitToGuards()
++-meth public boolean isExcluded()
++-meth public java.lang.String getDescription()
++-meth public java.lang.String getNewText()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public java.lang.String getOldText()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public java.lang.String toString()
++-meth public javax.swing.text.Document openDocument() throws java.io.IOException
++- anno 0 org.netbeans.api.annotations.common.CheckForNull()
++-meth public javax.swing.text.Position getEndPosition()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public javax.swing.text.Position getStartPosition()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public org.netbeans.api.java.source.ModificationResult$Difference$Kind getKind()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public void exclude(boolean)
++-meth public void setCommitToGuards(boolean)
++-supr java.lang.Object
++-hfds ctxLookup,description,endPos,excluded,ignoreGuards,kind,newText,oldText,sourceFile,startPos,theSource
++-
++-CLSS public final static !enum org.netbeans.api.java.source.ModificationResult$Difference$Kind
++- outer org.netbeans.api.java.source.ModificationResult$Difference
++-fld public final static org.netbeans.api.java.source.ModificationResult$Difference$Kind CHANGE
++-fld public final static org.netbeans.api.java.source.ModificationResult$Difference$Kind CREATE
++-fld public final static org.netbeans.api.java.source.ModificationResult$Difference$Kind INSERT
++-fld public final static org.netbeans.api.java.source.ModificationResult$Difference$Kind REMOVE
++-meth public static org.netbeans.api.java.source.ModificationResult$Difference$Kind valueOf(java.lang.String)
++-meth public static org.netbeans.api.java.source.ModificationResult$Difference$Kind[] values()
++-supr java.lang.Enum<org.netbeans.api.java.source.ModificationResult$Difference$Kind>
++-
++-CLSS public final org.netbeans.api.java.source.PositionConverter
++-meth public int getJavaSourcePosition(int)
++-meth public int getOriginalPosition(int)
++-supr java.lang.Object
++-hfds snapshot
++-
++-CLSS public final org.netbeans.api.java.source.RootsEvent
++-meth public java.lang.Iterable<? extends java.net.URL> getRoots()
++-meth public java.lang.String toString()
++-supr java.util.EventObject
++-hfds roots
++-
++-CLSS public final org.netbeans.api.java.source.ScanUtils
++-meth public static <%0 extends javax.lang.model.element.Element> {%%0} checkElement(org.netbeans.api.java.source.CompilationInfo,{%%0})
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NullAllowed()
++-meth public static java.util.concurrent.Future<java.lang.Void> postUserActionTask(org.netbeans.api.java.source.JavaSource,org.netbeans.api.java.source.Task<org.netbeans.api.java.source.CompilationController>)
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++-meth public static java.util.concurrent.Future<java.lang.Void> postUserTask(org.netbeans.modules.parsing.api.Source,org.netbeans.modules.parsing.api.UserTask)
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++-meth public static void signalIncompleteData(org.netbeans.api.java.source.CompilationInfo,org.netbeans.api.java.source.ElementHandle)
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NullAllowed()
++-meth public static void waitUserActionTask(org.netbeans.api.java.source.JavaSource,org.netbeans.api.java.source.Task<org.netbeans.api.java.source.CompilationController>) throws java.io.IOException
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++-meth public static void waitUserTask(org.netbeans.modules.parsing.api.Source,org.netbeans.modules.parsing.api.UserTask) throws org.netbeans.modules.parsing.spi.ParseException
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++-supr java.lang.Object
++-hfds retryGuard
++-hcls FinishedFuture,RetryWhenScanFinished,TaskWrapper
++-
++-CLSS public org.netbeans.api.java.source.SourceUtils
++-meth public static boolean checkTypesAssignable(org.netbeans.api.java.source.CompilationInfo,javax.lang.model.type.TypeMirror,javax.lang.model.type.TypeMirror)
++-meth public static boolean isMainClass(java.lang.String,org.netbeans.api.java.source.ClasspathInfo)
++-meth public static boolean isMainClass(java.lang.String,org.netbeans.api.java.source.ClasspathInfo,boolean)
++-meth public static boolean isMainMethod(javax.lang.model.element.ExecutableElement)
++-meth public static boolean isScanInProgress()
++-meth public static java.lang.String resolveImport(org.netbeans.api.java.source.CompilationInfo,com.sun.source.util.TreePath,java.lang.String) throws java.io.IOException
++-meth public static java.lang.String[] getJVMSignature(org.netbeans.api.java.source.ElementHandle<?>)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public static java.net.URL getJavadoc(javax.lang.model.element.Element,org.netbeans.api.java.source.ClasspathInfo)
++- anno 0 java.lang.Deprecated()
++-meth public static java.net.URL getPreferredJavadoc(javax.lang.model.element.Element)
++- anno 0 org.netbeans.api.annotations.common.CheckForNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public static java.util.Collection<? extends java.net.URL> getJavadoc(javax.lang.model.element.Element)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public static java.util.Collection<? extends javax.lang.model.element.Element> getForwardReferences(com.sun.source.util.TreePath,int,com.sun.source.util.SourcePositions,com.sun.source.util.Trees)
++-meth public static java.util.Collection<org.netbeans.api.java.source.ElementHandle<javax.lang.model.element.TypeElement>> getMainClasses(org.openide.filesystems.FileObject)
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public static java.util.Collection<org.netbeans.api.java.source.ElementHandle<javax.lang.model.element.TypeElement>> getMainClasses(org.openide.filesystems.FileObject[])
++-meth public static java.util.List<? extends javax.annotation.processing.Completion> getAttributeValueCompletions(org.netbeans.api.java.source.CompilationInfo,javax.lang.model.element.Element,javax.lang.model.element.AnnotationMirror,javax.lang.model.element.ExecutableElement,java.lang.String)
++-meth public static java.util.Set<com.sun.source.util.TreePath> computeDuplicates(org.netbeans.api.java.source.CompilationInfo,com.sun.source.util.TreePath,com.sun.source.util.TreePath,java.util.concurrent.atomic.AtomicBoolean)
++-meth public static java.util.Set<java.net.URL> getDependentRoots(java.net.URL)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public static java.util.Set<java.net.URL> getDependentRoots(java.net.URL,boolean)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public static javax.lang.model.element.TypeElement getEnclosingTypeElement(javax.lang.model.element.Element)
++- anno 0 java.lang.Deprecated()
++-meth public static javax.lang.model.element.TypeElement getOutermostEnclosingTypeElement(javax.lang.model.element.Element)
++-meth public static javax.lang.model.type.TypeMirror getBound(javax.lang.model.type.WildcardType)
++-meth public static javax.lang.model.type.TypeMirror resolveCapturedType(org.netbeans.api.java.source.CompilationInfo,javax.lang.model.type.TypeMirror)
++-meth public static javax.lang.model.type.WildcardType resolveCapturedType(javax.lang.model.type.TypeMirror)
++-meth public static org.netbeans.api.lexer.TokenSequence<org.netbeans.api.java.lexer.JavaTokenId> getJavaTokenSequence(org.netbeans.api.lexer.TokenHierarchy,int)
++-meth public static org.openide.filesystems.FileObject getFile(javax.lang.model.element.Element,org.netbeans.api.java.source.ClasspathInfo)
++-meth public static org.openide.filesystems.FileObject getFile(org.netbeans.api.java.source.ElementHandle<? extends javax.lang.model.element.Element>,org.netbeans.api.java.source.ClasspathInfo)
++-meth public static void waitScanFinished() throws java.lang.InterruptedException
++-supr java.lang.Object
++-hfds LOG,MAX_LEN,VOWELS
++-hcls CaseInsensitiveMatch,CaseSensitiveMatch,Match
++-
++-CLSS public abstract interface org.netbeans.api.java.source.Task<%0 extends java.lang.Object>
++-meth public abstract void run({org.netbeans.api.java.source.Task%0}) throws java.lang.Exception
++-
++-CLSS public final org.netbeans.api.java.source.TreeMaker
++-meth public <%0 extends com.sun.source.tree.Tree> {%%0} asNew({%%0})
++-meth public <%0 extends com.sun.source.tree.Tree> {%%0} asRemoved({%%0})
++-meth public <%0 extends com.sun.source.tree.Tree> {%%0} asReplacementOf({%%0},com.sun.source.tree.Tree)
++-meth public <%0 extends com.sun.source.tree.Tree> {%%0} asReplacementOf({%%0},com.sun.source.tree.Tree,boolean)
++-meth public <%0 extends com.sun.source.tree.Tree> {%%0} setInitialValue({%%0},com.sun.source.tree.ExpressionTree)
++-meth public <%0 extends com.sun.source.tree.Tree> {%%0} setLabel({%%0},java.lang.CharSequence)
++-meth public com.sun.source.doctree.AttributeTree Attribute(java.lang.CharSequence,com.sun.source.doctree.AttributeTree$ValueKind,java.util.List<? extends com.sun.source.doctree.DocTree>)
++-meth public com.sun.source.doctree.AuthorTree Author(java.util.List<? extends com.sun.source.doctree.DocTree>)
++-meth public com.sun.source.doctree.CommentTree Comment(java.lang.String)
++-meth public com.sun.source.doctree.DeprecatedTree Deprecated(java.util.List<? extends com.sun.source.doctree.DocTree>)
++-meth public com.sun.source.doctree.DocCommentTree DocComment(java.util.List<? extends com.sun.source.doctree.DocTree>,java.util.List<? extends com.sun.source.doctree.DocTree>,java.util.List<? extends com.sun.source.doctree.DocTree>)
++-meth public com.sun.source.doctree.DocRootTree DocRoot()
++-meth public com.sun.source.doctree.EndElementTree EndElement(java.lang.CharSequence)
++-meth public com.sun.source.doctree.EntityTree Entity(java.lang.CharSequence)
++-meth public com.sun.source.doctree.IdentifierTree DocIdentifier(java.lang.CharSequence)
++-meth public com.sun.source.doctree.InheritDocTree InheritDoc()
++-meth public com.sun.source.doctree.LinkTree Link(com.sun.source.doctree.ReferenceTree,java.util.List<? extends com.sun.source.doctree.DocTree>)
++-meth public com.sun.source.doctree.LinkTree LinkPlain(com.sun.source.doctree.ReferenceTree,java.util.List<? extends com.sun.source.doctree.DocTree>)
++-meth public com.sun.source.doctree.LiteralTree Code(com.sun.source.doctree.TextTree)
++-meth public com.sun.source.doctree.LiteralTree DocLiteral(com.sun.source.doctree.TextTree)
++-meth public com.sun.source.doctree.ParamTree Param(boolean,com.sun.source.doctree.IdentifierTree,java.util.List<? extends com.sun.source.doctree.DocTree>)
++-meth public com.sun.source.doctree.ReferenceTree Reference(com.sun.source.tree.ExpressionTree,java.lang.CharSequence,java.util.List<? extends com.sun.source.tree.Tree>)
++- anno 1 org.netbeans.api.annotations.common.NullAllowed()
++- anno 2 org.netbeans.api.annotations.common.NullAllowed()
++- anno 3 org.netbeans.api.annotations.common.NullAllowed()
++-meth public com.sun.source.doctree.ReturnTree DocReturn(java.util.List<? extends com.sun.source.doctree.DocTree>)
++-meth public com.sun.source.doctree.SeeTree See(java.util.List<? extends com.sun.source.doctree.DocTree>)
++-meth public com.sun.source.doctree.SerialDataTree SerialData(java.util.List<? extends com.sun.source.doctree.DocTree>)
++-meth public com.sun.source.doctree.SerialFieldTree SerialField(com.sun.source.doctree.IdentifierTree,com.sun.source.doctree.ReferenceTree,java.util.List<? extends com.sun.source.doctree.DocTree>)
++-meth public com.sun.source.doctree.SerialTree Serial(java.util.List<? extends com.sun.source.doctree.DocTree>)
++-meth public com.sun.source.doctree.SinceTree Since(java.util.List<? extends com.sun.source.doctree.DocTree>)
++-meth public com.sun.source.doctree.StartElementTree StartElement(java.lang.CharSequence,java.util.List<? extends com.sun.source.doctree.DocTree>,boolean)
++-meth public com.sun.source.doctree.TextTree Text(java.lang.String)
++-meth public com.sun.source.doctree.ThrowsTree Exception(com.sun.source.doctree.ReferenceTree,java.util.List<? extends com.sun.source.doctree.DocTree>)
++-meth public com.sun.source.doctree.ThrowsTree Throws(com.sun.source.doctree.ReferenceTree,java.util.List<? extends com.sun.source.doctree.DocTree>)
++-meth public com.sun.source.doctree.UnknownBlockTagTree UnknownBlockTag(java.lang.CharSequence,java.util.List<? extends com.sun.source.doctree.DocTree>)
++-meth public com.sun.source.doctree.UnknownInlineTagTree UnknownInlineTag(java.lang.CharSequence,java.util.List<? extends com.sun.source.doctree.DocTree>)
++-meth public com.sun.source.doctree.ValueTree Value(com.sun.source.doctree.ReferenceTree)
++-meth public com.sun.source.doctree.VersionTree Version(java.util.List<? extends com.sun.source.doctree.DocTree>)
++-meth public com.sun.source.tree.AnnotationTree Annotation(com.sun.source.tree.Tree,java.util.List<? extends com.sun.source.tree.ExpressionTree>)
++-meth public com.sun.source.tree.AnnotationTree TypeAnnotation(com.sun.source.tree.Tree,java.util.List<? extends com.sun.source.tree.ExpressionTree>)
++-meth public com.sun.source.tree.AnnotationTree addAnnotationAttrValue(com.sun.source.tree.AnnotationTree,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.AnnotationTree insertAnnotationAttrValue(com.sun.source.tree.AnnotationTree,int,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.AnnotationTree removeAnnotationAttrValue(com.sun.source.tree.AnnotationTree,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.AnnotationTree removeAnnotationAttrValue(com.sun.source.tree.AnnotationTree,int)
++-meth public com.sun.source.tree.ArrayAccessTree ArrayAccess(com.sun.source.tree.ExpressionTree,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.ArrayTypeTree ArrayType(com.sun.source.tree.Tree)
++-meth public com.sun.source.tree.AssertTree Assert(com.sun.source.tree.ExpressionTree,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.AssignmentTree Assignment(com.sun.source.tree.ExpressionTree,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.BinaryTree Binary(com.sun.source.tree.Tree$Kind,com.sun.source.tree.ExpressionTree,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.BlockTree Block(java.util.List<? extends com.sun.source.tree.StatementTree>,boolean)
++-meth public com.sun.source.tree.BlockTree addBlockStatement(com.sun.source.tree.BlockTree,com.sun.source.tree.StatementTree)
++-meth public com.sun.source.tree.BlockTree createMethodBody(com.sun.source.tree.MethodTree,java.lang.String)
++-meth public com.sun.source.tree.BlockTree insertBlockStatement(com.sun.source.tree.BlockTree,int,com.sun.source.tree.StatementTree)
++-meth public com.sun.source.tree.BlockTree removeBlockStatement(com.sun.source.tree.BlockTree,com.sun.source.tree.StatementTree)
++-meth public com.sun.source.tree.BlockTree removeBlockStatement(com.sun.source.tree.BlockTree,int)
++-meth public com.sun.source.tree.BreakTree Break(java.lang.CharSequence)
++-meth public com.sun.source.tree.CaseTree Case(com.sun.source.tree.ExpressionTree,java.util.List<? extends com.sun.source.tree.StatementTree>)
++-meth public com.sun.source.tree.CaseTree addCaseStatement(com.sun.source.tree.CaseTree,com.sun.source.tree.StatementTree)
++-meth public com.sun.source.tree.CaseTree insertCaseStatement(com.sun.source.tree.CaseTree,int,com.sun.source.tree.StatementTree)
++-meth public com.sun.source.tree.CaseTree removeCaseStatement(com.sun.source.tree.CaseTree,com.sun.source.tree.StatementTree)
++-meth public com.sun.source.tree.CaseTree removeCaseStatement(com.sun.source.tree.CaseTree,int)
++-meth public com.sun.source.tree.CatchTree Catch(com.sun.source.tree.VariableTree,com.sun.source.tree.BlockTree)
++-meth public com.sun.source.tree.ClassTree AnnotationType(com.sun.source.tree.ModifiersTree,java.lang.CharSequence,java.util.List<? extends com.sun.source.tree.Tree>)
++-meth public com.sun.source.tree.ClassTree Class(com.sun.source.tree.ModifiersTree,java.lang.CharSequence,java.util.List<? extends com.sun.source.tree.TypeParameterTree>,com.sun.source.tree.Tree,java.util.List<? extends com.sun.source.tree.Tree>,java.util.List<? extends com.sun.source.tree.Tree>)
++-meth public com.sun.source.tree.ClassTree Enum(com.sun.source.tree.ModifiersTree,java.lang.CharSequence,java.util.List<? extends com.sun.source.tree.Tree>,java.util.List<? extends com.sun.source.tree.Tree>)
++-meth public com.sun.source.tree.ClassTree Interface(com.sun.source.tree.ModifiersTree,java.lang.CharSequence,java.util.List<? extends com.sun.source.tree.TypeParameterTree>,java.util.List<? extends com.sun.source.tree.Tree>,java.util.List<? extends com.sun.source.tree.Tree>)
++-meth public com.sun.source.tree.ClassTree addClassImplementsClause(com.sun.source.tree.ClassTree,com.sun.source.tree.Tree)
++-meth public com.sun.source.tree.ClassTree addClassMember(com.sun.source.tree.ClassTree,com.sun.source.tree.Tree)
++-meth public com.sun.source.tree.ClassTree addClassTypeParameter(com.sun.source.tree.ClassTree,com.sun.source.tree.TypeParameterTree)
++-meth public com.sun.source.tree.ClassTree insertClassImplementsClause(com.sun.source.tree.ClassTree,int,com.sun.source.tree.Tree)
++-meth public com.sun.source.tree.ClassTree insertClassMember(com.sun.source.tree.ClassTree,int,com.sun.source.tree.Tree)
++-meth public com.sun.source.tree.ClassTree insertClassTypeParameter(com.sun.source.tree.ClassTree,int,com.sun.source.tree.TypeParameterTree)
++-meth public com.sun.source.tree.ClassTree removeClassImplementsClause(com.sun.source.tree.ClassTree,com.sun.source.tree.Tree)
++-meth public com.sun.source.tree.ClassTree removeClassImplementsClause(com.sun.source.tree.ClassTree,int)
++-meth public com.sun.source.tree.ClassTree removeClassMember(com.sun.source.tree.ClassTree,com.sun.source.tree.Tree)
++-meth public com.sun.source.tree.ClassTree removeClassMember(com.sun.source.tree.ClassTree,int)
++-meth public com.sun.source.tree.ClassTree removeClassTypeParameter(com.sun.source.tree.ClassTree,com.sun.source.tree.TypeParameterTree)
++-meth public com.sun.source.tree.ClassTree removeClassTypeParameter(com.sun.source.tree.ClassTree,int)
++-meth public com.sun.source.tree.ClassTree setExtends(com.sun.source.tree.ClassTree,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.CompilationUnitTree CompilationUnit(com.sun.source.tree.ExpressionTree,java.util.List<? extends com.sun.source.tree.ImportTree>,java.util.List<? extends com.sun.source.tree.Tree>,javax.tools.JavaFileObject)
++-meth public com.sun.source.tree.CompilationUnitTree CompilationUnit(java.util.List<? extends com.sun.source.tree.AnnotationTree>,com.sun.source.tree.ExpressionTree,java.util.List<? extends com.sun.source.tree.ImportTree>,java.util.List<? extends com.sun.source.tree.Tree>,javax.tools.JavaFileObject)
++-meth public com.sun.source.tree.CompilationUnitTree CompilationUnit(java.util.List<? extends com.sun.source.tree.AnnotationTree>,org.openide.filesystems.FileObject,java.lang.String,java.util.List<? extends com.sun.source.tree.ImportTree>,java.util.List<? extends com.sun.source.tree.Tree>)
++-meth public com.sun.source.tree.CompilationUnitTree CompilationUnit(org.openide.filesystems.FileObject,java.lang.String,java.util.List<? extends com.sun.source.tree.ImportTree>,java.util.List<? extends com.sun.source.tree.Tree>)
++-meth public com.sun.source.tree.CompilationUnitTree addCompUnitImport(com.sun.source.tree.CompilationUnitTree,com.sun.source.tree.ImportTree)
++-meth public com.sun.source.tree.CompilationUnitTree addCompUnitTypeDecl(com.sun.source.tree.CompilationUnitTree,com.sun.source.tree.Tree)
++-meth public com.sun.source.tree.CompilationUnitTree addPackageAnnotation(com.sun.source.tree.CompilationUnitTree,com.sun.source.tree.AnnotationTree)
++-meth public com.sun.source.tree.CompilationUnitTree insertCompUnitImport(com.sun.source.tree.CompilationUnitTree,int,com.sun.source.tree.ImportTree)
++-meth public com.sun.source.tree.CompilationUnitTree insertCompUnitTypeDecl(com.sun.source.tree.CompilationUnitTree,int,com.sun.source.tree.Tree)
++-meth public com.sun.source.tree.CompilationUnitTree insertPackageAnnotation(com.sun.source.tree.CompilationUnitTree,int,com.sun.source.tree.AnnotationTree)
++-meth public com.sun.source.tree.CompilationUnitTree removeCompUnitImport(com.sun.source.tree.CompilationUnitTree,com.sun.source.tree.ImportTree)
++-meth public com.sun.source.tree.CompilationUnitTree removeCompUnitImport(com.sun.source.tree.CompilationUnitTree,int)
++-meth public com.sun.source.tree.CompilationUnitTree removeCompUnitTypeDecl(com.sun.source.tree.CompilationUnitTree,com.sun.source.tree.Tree)
++-meth public com.sun.source.tree.CompilationUnitTree removeCompUnitTypeDecl(com.sun.source.tree.CompilationUnitTree,int)
++-meth public com.sun.source.tree.CompilationUnitTree removePackageAnnotation(com.sun.source.tree.CompilationUnitTree,com.sun.source.tree.AnnotationTree)
++-meth public com.sun.source.tree.CompilationUnitTree removePackageAnnotation(com.sun.source.tree.CompilationUnitTree,int)
++-meth public com.sun.source.tree.CompoundAssignmentTree CompoundAssignment(com.sun.source.tree.Tree$Kind,com.sun.source.tree.ExpressionTree,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.ConditionalExpressionTree ConditionalExpression(com.sun.source.tree.ExpressionTree,com.sun.source.tree.ExpressionTree,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.ContinueTree Continue(java.lang.CharSequence)
++-meth public com.sun.source.tree.DoWhileLoopTree DoWhileLoop(com.sun.source.tree.ExpressionTree,com.sun.source.tree.StatementTree)
++-meth public com.sun.source.tree.EmptyStatementTree EmptyStatement()
++-meth public com.sun.source.tree.EnhancedForLoopTree EnhancedForLoop(com.sun.source.tree.VariableTree,com.sun.source.tree.ExpressionTree,com.sun.source.tree.StatementTree)
++-meth public com.sun.source.tree.ErroneousTree Erroneous(java.util.List<? extends com.sun.source.tree.Tree>)
++-meth public com.sun.source.tree.ExpressionStatementTree ExpressionStatement(com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.ExpressionTree QualIdent(java.lang.String)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public com.sun.source.tree.ExpressionTree QualIdent(javax.lang.model.element.Element)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public com.sun.source.tree.ForLoopTree ForLoop(java.util.List<? extends com.sun.source.tree.StatementTree>,com.sun.source.tree.ExpressionTree,java.util.List<? extends com.sun.source.tree.ExpressionStatementTree>,com.sun.source.tree.StatementTree)
++-meth public com.sun.source.tree.ForLoopTree addForLoopInitializer(com.sun.source.tree.ForLoopTree,com.sun.source.tree.StatementTree)
++-meth public com.sun.source.tree.ForLoopTree addForLoopUpdate(com.sun.source.tree.ForLoopTree,com.sun.source.tree.ExpressionStatementTree)
++-meth public com.sun.source.tree.ForLoopTree insertForLoopInitializer(com.sun.source.tree.ForLoopTree,int,com.sun.source.tree.StatementTree)
++-meth public com.sun.source.tree.ForLoopTree insertForLoopUpdate(com.sun.source.tree.ForLoopTree,int,com.sun.source.tree.ExpressionStatementTree)
++-meth public com.sun.source.tree.ForLoopTree removeForLoopInitializer(com.sun.source.tree.ForLoopTree,com.sun.source.tree.StatementTree)
++-meth public com.sun.source.tree.ForLoopTree removeForLoopInitializer(com.sun.source.tree.ForLoopTree,int)
++-meth public com.sun.source.tree.ForLoopTree removeForLoopUpdate(com.sun.source.tree.ForLoopTree,com.sun.source.tree.ExpressionStatementTree)
++-meth public com.sun.source.tree.ForLoopTree removeForLoopUpdate(com.sun.source.tree.ForLoopTree,int)
++-meth public com.sun.source.tree.IdentifierTree Identifier(java.lang.CharSequence)
++-meth public com.sun.source.tree.IdentifierTree Identifier(javax.lang.model.element.Element)
++-meth public com.sun.source.tree.IfTree If(com.sun.source.tree.ExpressionTree,com.sun.source.tree.StatementTree,com.sun.source.tree.StatementTree)
++-meth public com.sun.source.tree.ImportTree Import(com.sun.source.tree.Tree,boolean)
++-meth public com.sun.source.tree.InstanceOfTree InstanceOf(com.sun.source.tree.ExpressionTree,com.sun.source.tree.Tree)
++-meth public com.sun.source.tree.LabeledStatementTree LabeledStatement(java.lang.CharSequence,com.sun.source.tree.StatementTree)
++-meth public com.sun.source.tree.LambdaExpressionTree LambdaExpression(java.util.List<? extends com.sun.source.tree.VariableTree>,com.sun.source.tree.Tree)
++-meth public com.sun.source.tree.LambdaExpressionTree addLambdaParameter(com.sun.source.tree.LambdaExpressionTree,com.sun.source.tree.VariableTree)
++-meth public com.sun.source.tree.LambdaExpressionTree insertLambdaParameter(com.sun.source.tree.LambdaExpressionTree,int,com.sun.source.tree.VariableTree)
++-meth public com.sun.source.tree.LambdaExpressionTree removeLambdaParameter(com.sun.source.tree.LambdaExpressionTree,com.sun.source.tree.VariableTree)
++-meth public com.sun.source.tree.LambdaExpressionTree removeLambdaParameter(com.sun.source.tree.LambdaExpressionTree,int)
++-meth public com.sun.source.tree.LambdaExpressionTree setLambdaBody(com.sun.source.tree.LambdaExpressionTree,com.sun.source.tree.Tree)
++-meth public com.sun.source.tree.LiteralTree Literal(java.lang.Object)
++-meth public com.sun.source.tree.MemberReferenceTree MemberReference(com.sun.source.tree.MemberReferenceTree$ReferenceMode,com.sun.source.tree.ExpressionTree,java.lang.CharSequence,java.util.List<? extends com.sun.source.tree.ExpressionTree>)
++-meth public com.sun.source.tree.MemberSelectTree MemberSelect(com.sun.source.tree.ExpressionTree,java.lang.CharSequence)
++-meth public com.sun.source.tree.MemberSelectTree MemberSelect(com.sun.source.tree.ExpressionTree,javax.lang.model.element.Element)
++-meth public com.sun.source.tree.MethodInvocationTree MethodInvocation(java.util.List<? extends com.sun.source.tree.ExpressionTree>,com.sun.source.tree.ExpressionTree,java.util.List<? extends com.sun.source.tree.ExpressionTree>)
++-meth public com.sun.source.tree.MethodInvocationTree addMethodInvocationArgument(com.sun.source.tree.MethodInvocationTree,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.MethodInvocationTree addMethodInvocationTypeArgument(com.sun.source.tree.MethodInvocationTree,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.MethodInvocationTree insertMethodInvocationArgument(com.sun.source.tree.MethodInvocationTree,int,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.MethodInvocationTree insertMethodInvocationTypeArgument(com.sun.source.tree.MethodInvocationTree,int,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.MethodInvocationTree removeMethodInvocationArgument(com.sun.source.tree.MethodInvocationTree,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.MethodInvocationTree removeMethodInvocationArgument(com.sun.source.tree.MethodInvocationTree,int)
++-meth public com.sun.source.tree.MethodInvocationTree removeMethodInvocationTypeArgument(com.sun.source.tree.MethodInvocationTree,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.MethodInvocationTree removeMethodInvocationTypeArgument(com.sun.source.tree.MethodInvocationTree,int)
++-meth public com.sun.source.tree.MethodTree Constructor(com.sun.source.tree.ModifiersTree,java.util.List<? extends com.sun.source.tree.TypeParameterTree>,java.util.List<? extends com.sun.source.tree.VariableTree>,java.util.List<? extends com.sun.source.tree.ExpressionTree>,com.sun.source.tree.BlockTree)
++-meth public com.sun.source.tree.MethodTree Constructor(com.sun.source.tree.ModifiersTree,java.util.List<? extends com.sun.source.tree.TypeParameterTree>,java.util.List<? extends com.sun.source.tree.VariableTree>,java.util.List<? extends com.sun.source.tree.ExpressionTree>,java.lang.String)
++-meth public com.sun.source.tree.MethodTree Method(com.sun.source.tree.ModifiersTree,java.lang.CharSequence,com.sun.source.tree.Tree,java.util.List<? extends com.sun.source.tree.TypeParameterTree>,java.util.List<? extends com.sun.source.tree.VariableTree>,java.util.List<? extends com.sun.source.tree.ExpressionTree>,com.sun.source.tree.BlockTree,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.MethodTree Method(com.sun.source.tree.ModifiersTree,java.lang.CharSequence,com.sun.source.tree.Tree,java.util.List<? extends com.sun.source.tree.TypeParameterTree>,java.util.List<? extends com.sun.source.tree.VariableTree>,java.util.List<? extends com.sun.source.tree.ExpressionTree>,com.sun.source.tree.BlockTree,com.sun.source.tree.ExpressionTree,boolean)
++-meth public com.sun.source.tree.MethodTree Method(com.sun.source.tree.ModifiersTree,java.lang.CharSequence,com.sun.source.tree.Tree,java.util.List<? extends com.sun.source.tree.TypeParameterTree>,java.util.List<? extends com.sun.source.tree.VariableTree>,java.util.List<? extends com.sun.source.tree.ExpressionTree>,java.lang.String,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.MethodTree Method(javax.lang.model.element.ExecutableElement,com.sun.source.tree.BlockTree)
++- anno 0 java.lang.Deprecated()
++-meth public com.sun.source.tree.MethodTree addMethodParameter(com.sun.source.tree.MethodTree,com.sun.source.tree.VariableTree)
++-meth public com.sun.source.tree.MethodTree addMethodThrows(com.sun.source.tree.MethodTree,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.MethodTree addMethodTypeParameter(com.sun.source.tree.MethodTree,com.sun.source.tree.TypeParameterTree)
++-meth public com.sun.source.tree.MethodTree insertMethodParameter(com.sun.source.tree.MethodTree,int,com.sun.source.tree.VariableTree)
++-meth public com.sun.source.tree.MethodTree insertMethodThrows(com.sun.source.tree.MethodTree,int,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.MethodTree insertMethodTypeParameter(com.sun.source.tree.MethodTree,int,com.sun.source.tree.TypeParameterTree)
++-meth public com.sun.source.tree.MethodTree removeMethodParameter(com.sun.source.tree.MethodTree,com.sun.source.tree.VariableTree)
++-meth public com.sun.source.tree.MethodTree removeMethodParameter(com.sun.source.tree.MethodTree,int)
++-meth public com.sun.source.tree.MethodTree removeMethodThrows(com.sun.source.tree.MethodTree,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.MethodTree removeMethodThrows(com.sun.source.tree.MethodTree,int)
++-meth public com.sun.source.tree.MethodTree removeMethodTypeParameter(com.sun.source.tree.MethodTree,com.sun.source.tree.TypeParameterTree)
++-meth public com.sun.source.tree.MethodTree removeMethodTypeParameter(com.sun.source.tree.MethodTree,int)
++-meth public com.sun.source.tree.ModifiersTree Modifiers(com.sun.source.tree.ModifiersTree,java.util.List<? extends com.sun.source.tree.AnnotationTree>)
++-meth public com.sun.source.tree.ModifiersTree Modifiers(java.util.Set<javax.lang.model.element.Modifier>)
++-meth public com.sun.source.tree.ModifiersTree Modifiers(java.util.Set<javax.lang.model.element.Modifier>,java.util.List<? extends com.sun.source.tree.AnnotationTree>)
++-meth public com.sun.source.tree.ModifiersTree Modifiers(long,java.util.List<? extends com.sun.source.tree.AnnotationTree>)
++-meth public com.sun.source.tree.ModifiersTree addModifiersAnnotation(com.sun.source.tree.ModifiersTree,com.sun.source.tree.AnnotationTree)
++-meth public com.sun.source.tree.ModifiersTree addModifiersModifier(com.sun.source.tree.ModifiersTree,javax.lang.model.element.Modifier)
++-meth public com.sun.source.tree.ModifiersTree insertModifiersAnnotation(com.sun.source.tree.ModifiersTree,int,com.sun.source.tree.AnnotationTree)
++-meth public com.sun.source.tree.ModifiersTree removeModifiersAnnotation(com.sun.source.tree.ModifiersTree,com.sun.source.tree.AnnotationTree)
++-meth public com.sun.source.tree.ModifiersTree removeModifiersAnnotation(com.sun.source.tree.ModifiersTree,int)
++-meth public com.sun.source.tree.ModifiersTree removeModifiersModifier(com.sun.source.tree.ModifiersTree,javax.lang.model.element.Modifier)
++-meth public com.sun.source.tree.NewArrayTree NewArray(com.sun.source.tree.Tree,java.util.List<? extends com.sun.source.tree.ExpressionTree>,java.util.List<? extends com.sun.source.tree.ExpressionTree>)
++-meth public com.sun.source.tree.NewArrayTree addNewArrayDimension(com.sun.source.tree.NewArrayTree,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.NewArrayTree addNewArrayInitializer(com.sun.source.tree.NewArrayTree,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.NewArrayTree insertNewArrayDimension(com.sun.source.tree.NewArrayTree,int,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.NewArrayTree insertNewArrayInitializer(com.sun.source.tree.NewArrayTree,int,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.NewArrayTree removeNewArrayDimension(com.sun.source.tree.NewArrayTree,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.NewArrayTree removeNewArrayDimension(com.sun.source.tree.NewArrayTree,int)
++-meth public com.sun.source.tree.NewArrayTree removeNewArrayInitializer(com.sun.source.tree.NewArrayTree,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.NewArrayTree removeNewArrayInitializer(com.sun.source.tree.NewArrayTree,int)
++-meth public com.sun.source.tree.NewClassTree NewClass(com.sun.source.tree.ExpressionTree,java.util.List<? extends com.sun.source.tree.ExpressionTree>,com.sun.source.tree.ExpressionTree,java.util.List<? extends com.sun.source.tree.ExpressionTree>,com.sun.source.tree.ClassTree)
++-meth public com.sun.source.tree.NewClassTree addNewClassArgument(com.sun.source.tree.NewClassTree,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.NewClassTree addNewClassTypeArgument(com.sun.source.tree.NewClassTree,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.NewClassTree insertNewClassArgument(com.sun.source.tree.NewClassTree,int,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.NewClassTree insertNewClassTypeArgument(com.sun.source.tree.NewClassTree,int,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.NewClassTree removeNewClassArgument(com.sun.source.tree.NewClassTree,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.NewClassTree removeNewClassArgument(com.sun.source.tree.NewClassTree,int)
++-meth public com.sun.source.tree.NewClassTree removeNewClassTypeArgument(com.sun.source.tree.NewClassTree,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.NewClassTree removeNewClassTypeArgument(com.sun.source.tree.NewClassTree,int)
++-meth public com.sun.source.tree.ParameterizedTypeTree ParameterizedType(com.sun.source.tree.Tree,java.util.List<? extends com.sun.source.tree.Tree>)
++-meth public com.sun.source.tree.ParameterizedTypeTree addParameterizedTypeTypeArgument(com.sun.source.tree.ParameterizedTypeTree,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.ParameterizedTypeTree insertParameterizedTypeTypeArgument(com.sun.source.tree.ParameterizedTypeTree,int,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.ParameterizedTypeTree removeParameterizedTypeTypeArgument(com.sun.source.tree.ParameterizedTypeTree,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.ParameterizedTypeTree removeParameterizedTypeTypeArgument(com.sun.source.tree.ParameterizedTypeTree,int)
++-meth public com.sun.source.tree.ParenthesizedTree Parenthesized(com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.PrimitiveTypeTree PrimitiveType(javax.lang.model.type.TypeKind)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public com.sun.source.tree.ReturnTree Return(com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.SwitchTree Switch(com.sun.source.tree.ExpressionTree,java.util.List<? extends com.sun.source.tree.CaseTree>)
++-meth public com.sun.source.tree.SwitchTree addSwitchCase(com.sun.source.tree.SwitchTree,com.sun.source.tree.CaseTree)
++-meth public com.sun.source.tree.SwitchTree insertSwitchCase(com.sun.source.tree.SwitchTree,int,com.sun.source.tree.CaseTree)
++-meth public com.sun.source.tree.SwitchTree removeSwitchCase(com.sun.source.tree.SwitchTree,com.sun.source.tree.CaseTree)
++-meth public com.sun.source.tree.SwitchTree removeSwitchCase(com.sun.source.tree.SwitchTree,int)
++-meth public com.sun.source.tree.SynchronizedTree Synchronized(com.sun.source.tree.ExpressionTree,com.sun.source.tree.BlockTree)
++-meth public com.sun.source.tree.ThrowTree Throw(com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.Tree Type(java.lang.String)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public com.sun.source.tree.Tree Type(javax.lang.model.type.TypeMirror)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public com.sun.source.tree.TryTree Try(com.sun.source.tree.BlockTree,java.util.List<? extends com.sun.source.tree.CatchTree>,com.sun.source.tree.BlockTree)
++-meth public com.sun.source.tree.TryTree Try(java.util.List<? extends com.sun.source.tree.Tree>,com.sun.source.tree.BlockTree,java.util.List<? extends com.sun.source.tree.CatchTree>,com.sun.source.tree.BlockTree)
++-meth public com.sun.source.tree.TryTree addTryCatch(com.sun.source.tree.TryTree,com.sun.source.tree.CatchTree)
++-meth public com.sun.source.tree.TryTree insertTryCatch(com.sun.source.tree.TryTree,int,com.sun.source.tree.CatchTree)
++-meth public com.sun.source.tree.TryTree removeTryCatch(com.sun.source.tree.TryTree,com.sun.source.tree.CatchTree)
++-meth public com.sun.source.tree.TryTree removeTryCatch(com.sun.source.tree.TryTree,int)
++-meth public com.sun.source.tree.TypeCastTree TypeCast(com.sun.source.tree.Tree,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.TypeParameterTree TypeParameter(java.lang.CharSequence,java.util.List<? extends com.sun.source.tree.ExpressionTree>)
++-meth public com.sun.source.tree.TypeParameterTree addTypeParameterBound(com.sun.source.tree.TypeParameterTree,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.TypeParameterTree insertTypeParameterBound(com.sun.source.tree.TypeParameterTree,int,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.TypeParameterTree removeTypeParameterBound(com.sun.source.tree.TypeParameterTree,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.TypeParameterTree removeTypeParameterBound(com.sun.source.tree.TypeParameterTree,int)
++-meth public com.sun.source.tree.UnaryTree Unary(com.sun.source.tree.Tree$Kind,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.UnionTypeTree UnionType(java.util.List<? extends com.sun.source.tree.Tree>)
++-meth public com.sun.source.tree.VariableTree Variable(com.sun.source.tree.ModifiersTree,java.lang.CharSequence,com.sun.source.tree.Tree,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.VariableTree Variable(javax.lang.model.element.VariableElement,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.WhileLoopTree WhileLoop(com.sun.source.tree.ExpressionTree,com.sun.source.tree.StatementTree)
++-meth public com.sun.source.tree.WildcardTree Wildcard(com.sun.source.tree.Tree$Kind,com.sun.source.tree.Tree)
++-meth public void addComment(com.sun.source.tree.Tree,org.netbeans.api.java.source.Comment,boolean)
++-meth public void insertComment(com.sun.source.tree.Tree,org.netbeans.api.java.source.Comment,int,boolean)
++-meth public void removeComment(com.sun.source.tree.Tree,int,boolean)
++-supr java.lang.Object
++-hfds copy,delegate,handler,model
++-hcls TreePosCleaner
++-
++-CLSS public final org.netbeans.api.java.source.TreePathHandle
++-meth public boolean equals(java.lang.Object)
++-meth public com.sun.source.tree.Tree$Kind getKind()
++-meth public com.sun.source.util.TreePath resolve(org.netbeans.api.java.source.CompilationInfo)
++-meth public int hashCode()
++-meth public java.lang.String toString()
++-meth public javax.lang.model.element.Element resolveElement(org.netbeans.api.java.source.CompilationInfo)
++-meth public org.netbeans.api.java.source.ElementHandle getElementHandle()
++- anno 0 org.netbeans.api.annotations.common.CheckForNull()
++-meth public org.openide.filesystems.FileObject getFileObject()
++- anno 0 org.netbeans.api.annotations.common.CheckForNull()
++-meth public static org.netbeans.api.java.source.TreePathHandle create(com.sun.source.util.TreePath,org.netbeans.api.java.source.CompilationInfo)
++-meth public static org.netbeans.api.java.source.TreePathHandle create(javax.lang.model.element.Element,org.netbeans.api.java.source.CompilationInfo)
++-meth public static org.netbeans.api.java.source.TreePathHandle from(org.netbeans.api.java.source.ElementHandle<?>,org.netbeans.api.java.source.ClasspathInfo)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++-supr java.lang.Object
++-hfds delegate,log
++-hcls CountingDelegate,Delegate,ElementDelegate,EmptyDelegate,TreeDelegate
++-
++-CLSS public final org.netbeans.api.java.source.TreeUtilities
++-fld public final static java.util.Set<com.sun.source.tree.Tree$Kind> CLASS_TREE_KINDS
++-meth public boolean isAccessible(com.sun.source.tree.Scope,javax.lang.model.element.Element,javax.lang.model.type.TypeMirror)
++-meth public boolean isAnnotation(com.sun.source.tree.ClassTree)
++- anno 0 java.lang.Deprecated()
++-meth public boolean isClass(com.sun.source.tree.ClassTree)
++- anno 0 java.lang.Deprecated()
++-meth public boolean isCompileTimeConstantExpression(com.sun.source.util.TreePath)
++-meth public boolean isEnum(com.sun.source.tree.ClassTree)
++- anno 0 java.lang.Deprecated()
++-meth public boolean isEnumConstant(com.sun.source.tree.VariableTree)
++-meth public boolean isInterface(com.sun.source.tree.ClassTree)
++- anno 0 java.lang.Deprecated()
++-meth public boolean isStaticContext(com.sun.source.tree.Scope)
++-meth public boolean isSynthetic(com.sun.source.util.TreePath)
++-meth public com.sun.source.doctree.DocTree translate(com.sun.source.doctree.DocTree,java.util.Map<? extends com.sun.source.doctree.DocTree,? extends com.sun.source.doctree.DocTree>)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++-meth public com.sun.source.tree.BlockTree parseStaticBlock(java.lang.String,com.sun.source.util.SourcePositions[])
++-meth public com.sun.source.tree.ExpressionTree getReferenceClass(com.sun.source.util.DocTreePath)
++- anno 0 org.netbeans.api.annotations.common.CheckForNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public com.sun.source.tree.ExpressionTree parseExpression(java.lang.String,com.sun.source.util.SourcePositions[])
++-meth public com.sun.source.tree.ExpressionTree parseVariableInitializer(java.lang.String,com.sun.source.util.SourcePositions[])
++-meth public com.sun.source.tree.Scope attributeTreeTo(com.sun.source.tree.Tree,com.sun.source.tree.Scope,com.sun.source.tree.Tree)
++-meth public com.sun.source.tree.Scope reattributeTreeTo(com.sun.source.tree.Tree,com.sun.source.tree.Scope,com.sun.source.tree.Tree)
++-meth public com.sun.source.tree.Scope scopeFor(int)
++-meth public com.sun.source.tree.Scope toScopeWithDisabledAccessibilityChecks(com.sun.source.tree.Scope)
++-meth public com.sun.source.tree.StatementTree getBreakContinueTarget(com.sun.source.util.TreePath)
++-meth public com.sun.source.tree.StatementTree parseStatement(java.lang.String,com.sun.source.util.SourcePositions[])
++-meth public com.sun.source.tree.Tree translate(com.sun.source.tree.Tree,java.util.Map<? extends com.sun.source.tree.Tree,? extends com.sun.source.tree.Tree>)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++-meth public com.sun.source.util.DocTreePath pathFor(com.sun.source.util.DocTreePath,int)
++-meth public com.sun.source.util.DocTreePath pathFor(com.sun.source.util.DocTreePath,int,com.sun.source.util.DocSourcePositions)
++-meth public com.sun.source.util.DocTreePath pathFor(com.sun.source.util.TreePath,com.sun.source.doctree.DocCommentTree,int)
++-meth public com.sun.source.util.TreePath getPathElementOfKind(com.sun.source.tree.Tree$Kind,com.sun.source.util.TreePath)
++-meth public com.sun.source.util.TreePath getPathElementOfKind(java.util.Set<com.sun.source.tree.Tree$Kind>,com.sun.source.util.TreePath)
++-meth public com.sun.source.util.TreePath pathFor(com.sun.source.util.TreePath,int)
++-meth public com.sun.source.util.TreePath pathFor(com.sun.source.util.TreePath,int,com.sun.source.util.SourcePositions)
++-meth public com.sun.source.util.TreePath pathFor(int)
++-meth public int[] findBodySpan(com.sun.source.tree.ClassTree)
++-meth public int[] findMethodParameterSpan(com.sun.source.tree.MethodTree)
++- anno 0 org.netbeans.api.annotations.common.CheckForNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public int[] findNameSpan(com.sun.source.doctree.DocCommentTree,com.sun.source.doctree.ReferenceTree)
++-meth public int[] findNameSpan(com.sun.source.tree.BreakTree)
++-meth public int[] findNameSpan(com.sun.source.tree.ClassTree)
++-meth public int[] findNameSpan(com.sun.source.tree.ContinueTree)
++-meth public int[] findNameSpan(com.sun.source.tree.LabeledStatementTree)
++-meth public int[] findNameSpan(com.sun.source.tree.MemberReferenceTree)
++-meth public int[] findNameSpan(com.sun.source.tree.MemberSelectTree)
++-meth public int[] findNameSpan(com.sun.source.tree.MethodTree)
++-meth public int[] findNameSpan(com.sun.source.tree.TypeParameterTree)
++-meth public int[] findNameSpan(com.sun.source.tree.VariableTree)
++-meth public java.lang.CharSequence decodeIdentifier(java.lang.CharSequence)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public java.lang.CharSequence encodeIdentifier(java.lang.CharSequence)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public java.util.List<? extends com.sun.source.tree.Tree> getReferenceParameters(com.sun.source.util.DocTreePath)
++- anno 0 org.netbeans.api.annotations.common.CheckForNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public java.util.List<org.netbeans.api.java.source.Comment> getComments(com.sun.source.tree.Tree,boolean)
++-meth public java.util.Set<? extends javax.lang.model.element.VariableElement> getUninitializedFields(com.sun.source.util.TreePath)
++-meth public java.util.Set<javax.lang.model.type.TypeMirror> getUncaughtExceptions(com.sun.source.util.TreePath)
++-meth public javax.lang.model.element.Name getReferenceName(com.sun.source.util.DocTreePath)
++- anno 0 org.netbeans.api.annotations.common.CheckForNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public javax.lang.model.type.TypeMirror attributeTree(com.sun.source.tree.Tree,com.sun.source.tree.Scope)
++-meth public javax.lang.model.type.TypeMirror parseType(java.lang.String,javax.lang.model.element.TypeElement)
++-meth public javax.lang.model.type.TypeMirror reattributeTree(com.sun.source.tree.Tree,com.sun.source.tree.Scope)
++-meth public org.netbeans.api.lexer.TokenSequence<org.netbeans.api.java.lexer.JavaTokenId> tokensFor(com.sun.source.tree.Tree)
++-meth public org.netbeans.api.lexer.TokenSequence<org.netbeans.api.java.lexer.JavaTokenId> tokensFor(com.sun.source.tree.Tree,com.sun.source.util.SourcePositions)
++-supr java.lang.Object
++-hfds ESCAPE_ENCODE,ESCAPE_UNENCODE,EXOTIC_ESCAPE,handler,info
++-hcls NBScope,NoImports,UncaughtExceptionsVisitor,UnrelatedTypeMirrorSet
++-
++-CLSS public final org.netbeans.api.java.source.TypeMirrorHandle<%0 extends javax.lang.model.type.TypeMirror>
++-meth public javax.lang.model.type.TypeKind getKind()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public static <%0 extends javax.lang.model.type.TypeMirror> org.netbeans.api.java.source.TypeMirrorHandle<{%%0}> create({%%0})
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public {org.netbeans.api.java.source.TypeMirrorHandle%0} resolve(org.netbeans.api.java.source.CompilationInfo)
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-supr java.lang.Object
++-hfds element,kind,typeMirrors
++-hcls PlaceholderType,Visitor
++-
++-CLSS public final org.netbeans.api.java.source.TypeUtilities
++-innr public final static !enum TypeNameOptions
++-meth public !varargs java.lang.CharSequence getTypeName(javax.lang.model.type.TypeMirror,org.netbeans.api.java.source.TypeUtilities$TypeNameOptions[])
++- anno 0 org.netbeans.api.annotations.common.CheckReturnValue()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NullAllowed()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++-meth public boolean isCastable(javax.lang.model.type.TypeMirror,javax.lang.model.type.TypeMirror)
++-meth public javax.lang.model.type.ExecutableType getDescriptorType(javax.lang.model.type.DeclaredType)
++-meth public javax.lang.model.type.TypeMirror substitute(javax.lang.model.type.TypeMirror,java.util.List<? extends javax.lang.model.type.TypeMirror>,java.util.List<? extends javax.lang.model.type.TypeMirror>)
++-supr java.lang.Object
++-hfds CAPTURED_WILDCARD,UNKNOWN,info
++-hcls TypeNameVisitor
++-
++-CLSS public final static !enum org.netbeans.api.java.source.TypeUtilities$TypeNameOptions
++- outer org.netbeans.api.java.source.TypeUtilities
++-fld public final static org.netbeans.api.java.source.TypeUtilities$TypeNameOptions PRINT_AS_VARARG
++-fld public final static org.netbeans.api.java.source.TypeUtilities$TypeNameOptions PRINT_FQN
++-meth public static org.netbeans.api.java.source.TypeUtilities$TypeNameOptions valueOf(java.lang.String)
++-meth public static org.netbeans.api.java.source.TypeUtilities$TypeNameOptions[] values()
++-supr java.lang.Enum<org.netbeans.api.java.source.TypeUtilities$TypeNameOptions>
++-
++-CLSS public final org.netbeans.api.java.source.TypesEvent
++-meth public java.lang.Iterable<? extends org.netbeans.api.java.source.ElementHandle<javax.lang.model.element.TypeElement>> getTypes()
++-meth public java.lang.String toString()
++-supr java.util.EventObject
++-hfds types
++-
++-CLSS public org.netbeans.api.java.source.WorkingCopy
++-meth public com.sun.source.tree.Tree resolveRewriteTarget(com.sun.source.tree.Tree)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public org.netbeans.api.java.source.JavaSource$Phase toPhase(org.netbeans.api.java.source.JavaSource$Phase) throws java.io.IOException
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public org.netbeans.api.java.source.TreeMaker getTreeMaker()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public static org.netbeans.api.java.source.WorkingCopy get(org.netbeans.modules.parsing.spi.Parser$Result)
++- anno 0 org.netbeans.api.annotations.common.NullUnknown()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public void rewrite(com.sun.source.tree.Tree,com.sun.source.doctree.DocTree,com.sun.source.doctree.DocTree)
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++- anno 3 org.netbeans.api.annotations.common.NonNull()
++-meth public void rewrite(com.sun.source.tree.Tree,com.sun.source.tree.Tree)
++- anno 1 org.netbeans.api.annotations.common.NullAllowed()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++-meth public void rewriteInComment(int,int,java.lang.String)
++- anno 3 org.netbeans.api.annotations.common.NonNull()
++-meth public void tag(com.sun.source.tree.Tree,java.lang.Object)
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++-supr org.netbeans.api.java.source.CompilationController
++-hfds NOT_LINKED,REWRITE_WHOLE_FILE,afterCommit,changes,docChanges,externalChanges,instance,introducedTrees,overlay,rewriteHints,textualChanges,tree2Tag,treeMaker,usedComments,userInfo
++-hcls CommentReplicator,Translator,TreeCollector
++-
++-CLSS public org.netbeans.api.java.source.matching.Matcher
++-intf org.openide.util.Cancellable
++-meth public boolean cancel()
++-meth public java.util.Collection<? extends org.netbeans.api.java.source.matching.Occurrence> match(org.netbeans.api.java.source.matching.Pattern)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public org.netbeans.api.java.source.matching.Matcher setCancel(java.util.concurrent.atomic.AtomicBoolean)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public org.netbeans.api.java.source.matching.Matcher setPresetVariable(java.util.Map<java.lang.String,com.sun.source.util.TreePath>,java.util.Map<java.lang.String,java.util.Collection<? extends com.sun.source.util.TreePath>>,java.util.Map<java.lang.String,java.lang.String>)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++- anno 3 org.netbeans.api.annotations.common.NonNull()
++-meth public org.netbeans.api.java.source.matching.Matcher setSearchRoot(com.sun.source.util.TreePath)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public org.netbeans.api.java.source.matching.Matcher setTreeTopSearch()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public org.netbeans.api.java.source.matching.Matcher setUntypedMatching()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public static org.netbeans.api.java.source.matching.Matcher create(org.netbeans.api.java.source.CompilationInfo)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-supr java.lang.Object
++-hfds givenCancel,info,multiVariables,options,privateCancel,root,variables,variables2Names
++-
++-CLSS public final org.netbeans.api.java.source.matching.Occurrence
++-meth public com.sun.source.util.TreePath getOccurrenceRoot()
++-meth public java.util.Map<java.lang.String,com.sun.source.util.TreePath> getVariables()
++-meth public java.util.Map<java.lang.String,java.lang.String> getVariables2Names()
++-meth public java.util.Map<java.lang.String,java.util.Collection<? extends com.sun.source.util.TreePath>> getMultiVariables()
++-meth public java.util.Map<javax.lang.model.element.Element,com.sun.source.util.TreePath> getVariablesRemapToTrees()
++-meth public java.util.Map<javax.lang.model.element.Element,javax.lang.model.element.Element> getVariablesRemapToElement()
++-supr java.lang.Object
++-hfds multiVariables,occurrenceRoot,variables,variables2Names,variablesRemapToElement,variablesRemapToTrees
++-
++-CLSS public org.netbeans.api.java.source.matching.Pattern
++-meth public static org.netbeans.api.java.source.matching.Pattern createPatternWithFreeVariables(com.sun.source.util.TreePath,java.util.Map<java.lang.String,javax.lang.model.type.TypeMirror>)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++-meth public static org.netbeans.api.java.source.matching.Pattern createPatternWithFreeVariables(java.lang.Iterable<? extends com.sun.source.util.TreePath>,java.util.Map<java.lang.String,javax.lang.model.type.TypeMirror>)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++-meth public static org.netbeans.api.java.source.matching.Pattern createPatternWithRemappableVariables(com.sun.source.util.TreePath,java.util.Collection<? extends javax.lang.model.element.VariableElement>,boolean)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++-meth public static org.netbeans.api.java.source.matching.Pattern createPatternWithRemappableVariables(java.lang.Iterable<? extends com.sun.source.util.TreePath>,java.util.Collection<? extends javax.lang.model.element.VariableElement>,boolean)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++-meth public static org.netbeans.api.java.source.matching.Pattern createSimplePattern(com.sun.source.util.TreePath)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public static org.netbeans.api.java.source.matching.Pattern createSimplePattern(java.lang.Iterable<? extends com.sun.source.util.TreePath>)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-supr java.lang.Object
++-hfds allowRemapToTrees,pattern,remappable,variable2Type
++-
++-CLSS public org.netbeans.api.java.source.support.CancellableTreePathScanner<%0 extends java.lang.Object, %1 extends java.lang.Object>
++-cons public init()
++-cons public init(java.util.concurrent.atomic.AtomicBoolean)
++-meth protected boolean isCanceled()
++-meth public void cancel()
++-meth public {org.netbeans.api.java.source.support.CancellableTreePathScanner%0} scan(com.sun.source.tree.Tree,{org.netbeans.api.java.source.support.CancellableTreePathScanner%1})
++-meth public {org.netbeans.api.java.source.support.CancellableTreePathScanner%0} scan(java.lang.Iterable<? extends com.sun.source.tree.Tree>,{org.netbeans.api.java.source.support.CancellableTreePathScanner%1})
++-supr com.sun.source.util.TreePathScanner<{org.netbeans.api.java.source.support.CancellableTreePathScanner%0},{org.netbeans.api.java.source.support.CancellableTreePathScanner%1}>
++-hfds canceled,internalCanceled
++-
++-CLSS public org.netbeans.api.java.source.support.CancellableTreeScanner<%0 extends java.lang.Object, %1 extends java.lang.Object>
++-cons public init()
++-cons public init(java.util.concurrent.atomic.AtomicBoolean)
++-meth protected boolean isCanceled()
++-meth public void cancel()
++-meth public {org.netbeans.api.java.source.support.CancellableTreeScanner%0} scan(com.sun.source.tree.Tree,{org.netbeans.api.java.source.support.CancellableTreeScanner%1})
++-meth public {org.netbeans.api.java.source.support.CancellableTreeScanner%0} scan(java.lang.Iterable<? extends com.sun.source.tree.Tree>,{org.netbeans.api.java.source.support.CancellableTreeScanner%1})
++-supr com.sun.source.util.TreeScanner<{org.netbeans.api.java.source.support.CancellableTreeScanner%0},{org.netbeans.api.java.source.support.CancellableTreeScanner%1}>
++-hfds canceled,internalCanceled
++-
++-CLSS public org.netbeans.api.java.source.support.ProfileSupport
++-innr public abstract interface static ViolationCollector
++-innr public abstract interface static ViolationCollectorFactory
++-innr public final static !enum Validation
++-innr public static Violation
++-meth public static java.util.Collection<org.netbeans.api.java.source.support.ProfileSupport$Violation> findProfileViolations(org.netbeans.api.java.queries.SourceLevelQuery$Profile,java.lang.Iterable<java.net.URL>,java.lang.Iterable<java.net.URL>,java.lang.Iterable<java.net.URL>,java.util.Set<org.netbeans.api.java.source.support.ProfileSupport$Validation>)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++- anno 3 org.netbeans.api.annotations.common.NonNull()
++- anno 4 org.netbeans.api.annotations.common.NonNull()
++- anno 5 org.netbeans.api.annotations.common.NonNull()
++-meth public static void findProfileViolations(org.netbeans.api.java.queries.SourceLevelQuery$Profile,java.lang.Iterable<java.net.URL>,java.lang.Iterable<java.net.URL>,java.lang.Iterable<java.net.URL>,java.util.Set<org.netbeans.api.java.source.support.ProfileSupport$Validation>,org.netbeans.api.java.source.support.ProfileSupport$ViolationCollectorFactory)
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++- anno 3 org.netbeans.api.annotations.common.NonNull()
++- anno 4 org.netbeans.api.annotations.common.NonNull()
++- anno 5 org.netbeans.api.annotations.common.NonNull()
++- anno 6 org.netbeans.api.annotations.common.NonNull()
++-meth public static void findProfileViolations(org.netbeans.api.java.queries.SourceLevelQuery$Profile,java.lang.Iterable<java.net.URL>,java.lang.Iterable<java.net.URL>,java.lang.Iterable<java.net.URL>,java.util.Set<org.netbeans.api.java.source.support.ProfileSupport$Validation>,org.netbeans.api.java.source.support.ProfileSupport$ViolationCollectorFactory,java.util.concurrent.Executor)
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++- anno 3 org.netbeans.api.annotations.common.NonNull()
++- anno 4 org.netbeans.api.annotations.common.NonNull()
++- anno 5 org.netbeans.api.annotations.common.NonNull()
++- anno 6 org.netbeans.api.annotations.common.NonNull()
++- anno 7 org.netbeans.api.annotations.common.NonNull()
++-supr java.lang.Object
++-hfds ANNOTATION_PROFILE,ANNOTATION_VALUE,ATTR_PROFILE,LOG,RES_MANIFEST,RP
++-hcls ArchiveCache,Context,CurrentThreadExecutor,DefaultProfileViolationCollector,TypeCache,Validator
++-
++-CLSS public final static !enum org.netbeans.api.java.source.support.ProfileSupport$Validation
++- outer org.netbeans.api.java.source.support.ProfileSupport
++-fld public final static org.netbeans.api.java.source.support.ProfileSupport$Validation BINARIES_BY_CLASS_FILES
++-fld public final static org.netbeans.api.java.source.support.ProfileSupport$Validation BINARIES_BY_MANIFEST
++-fld public final static org.netbeans.api.java.source.support.ProfileSupport$Validation SOURCES
++-meth public static org.netbeans.api.java.source.support.ProfileSupport$Validation valueOf(java.lang.String)
++-meth public static org.netbeans.api.java.source.support.ProfileSupport$Validation[] values()
++-supr java.lang.Enum<org.netbeans.api.java.source.support.ProfileSupport$Validation>
++-
++-CLSS public static org.netbeans.api.java.source.support.ProfileSupport$Violation
++- outer org.netbeans.api.java.source.support.ProfileSupport
++-meth public java.net.URL getFile()
++- anno 0 org.netbeans.api.annotations.common.CheckForNull()
++-meth public java.net.URL getRoot()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public org.netbeans.api.java.queries.SourceLevelQuery$Profile getRequiredProfile()
++- anno 0 org.netbeans.api.annotations.common.CheckForNull()
++-meth public org.netbeans.api.java.source.ElementHandle<javax.lang.model.element.TypeElement> getUsedType()
++- anno 0 org.netbeans.api.annotations.common.CheckForNull()
++-supr java.lang.Object
++-hfds file,profile,root,type
++-
++-CLSS public abstract interface static org.netbeans.api.java.source.support.ProfileSupport$ViolationCollector
++- outer org.netbeans.api.java.source.support.ProfileSupport
++-meth public abstract void finished()
++-meth public abstract void reportProfileViolation(org.netbeans.api.java.source.support.ProfileSupport$Violation)
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-
++-CLSS public abstract interface static org.netbeans.api.java.source.support.ProfileSupport$ViolationCollectorFactory
++- outer org.netbeans.api.java.source.support.ProfileSupport
++-meth public abstract boolean isCancelled()
++-meth public abstract org.netbeans.api.java.source.support.ProfileSupport$ViolationCollector create(java.net.URL)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-
++-CLSS public final org.netbeans.api.java.source.support.ReferencesCount
++-meth public int getPackageReferenceCount(org.netbeans.api.java.source.ElementHandle<? extends javax.lang.model.element.PackageElement>)
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public int getTypeReferenceCount(org.netbeans.api.java.source.ElementHandle<? extends javax.lang.model.element.TypeElement>)
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public java.lang.Iterable<? extends org.netbeans.api.java.source.ElementHandle<? extends javax.lang.model.element.PackageElement>> getUsedPackages()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public java.lang.Iterable<? extends org.netbeans.api.java.source.ElementHandle<? extends javax.lang.model.element.TypeElement>> getUsedTypes()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public static org.netbeans.api.java.source.support.ReferencesCount get(java.net.URL)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public static org.netbeans.api.java.source.support.ReferencesCount get(org.netbeans.api.java.source.ClasspathInfo)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-supr java.lang.Object
++-hfds LOG,lck,pkgFreqs,roots,typeFreqs
++-hcls AsHandlesIterable,AsHandlesIterator
++-
++-CLSS public abstract org.netbeans.modules.parsing.api.Task
++-cons public init()
++-supr java.lang.Object
++-
++-CLSS public abstract org.netbeans.modules.parsing.spi.IndexingAwareParserResultTask<%0 extends org.netbeans.modules.parsing.spi.Parser$Result>
++-cons protected init(org.netbeans.modules.parsing.spi.TaskIndexingMode)
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public final org.netbeans.modules.parsing.spi.TaskIndexingMode getIndexingMode()
++-supr org.netbeans.modules.parsing.spi.ParserResultTask<{org.netbeans.modules.parsing.spi.IndexingAwareParserResultTask%0}>
++-hfds scanMode
++-
++-CLSS public abstract org.netbeans.modules.parsing.spi.ParserResultTask<%0 extends org.netbeans.modules.parsing.spi.Parser$Result>
++-cons public init()
++-meth public abstract int getPriority()
++-meth public abstract void run({org.netbeans.modules.parsing.spi.ParserResultTask%0},org.netbeans.modules.parsing.spi.SchedulerEvent)
++-supr org.netbeans.modules.parsing.spi.SchedulerTask
++-
++-CLSS public abstract org.netbeans.modules.parsing.spi.SchedulerTask
++-meth public abstract int getPriority()
++-meth public abstract java.lang.Class<? extends org.netbeans.modules.parsing.spi.Scheduler> getSchedulerClass()
++-meth public abstract void cancel()
++-supr org.netbeans.modules.parsing.api.Task
++-
++-CLSS public abstract interface org.openide.util.Cancellable
++-meth public abstract boolean cancel()
++-
++diff --git a/java.source.base/nbproject/project.properties b/java.source.base/nbproject/project.properties
++index 79ff31f2d..7ce269f89 100644
++--- a/java.source.base/nbproject/project.properties
+++++ b/java.source.base/nbproject/project.properties
++@@ -42,12 +42,12 @@
++ #javac.compilerargs=-Xlint:unchecked
++ nbroot=../..
++ is.autoload=true
++-javac.source=1.8
+++javac.source=1.7
++ javadoc.name=Java Source Base
++ javadoc.title=Java Source Base
++ javadoc.arch=${basedir}/arch.xml
++ javadoc.apichanges=${basedir}/apichanges.xml
++-spec.version.base=2.20.1
+++spec.version.base=2.9.1
++ test.qa-functional.cp.extra=${refactoring.java.dir}/modules/ext/nb-javac-api.jar
++ test.unit.run.cp.extra=${o.n.core.dir}/core/core.jar:\
++ ${o.n.core.dir}/lib/boot.jar:\
++diff --git a/java.source.base/nbproject/project.xml b/java.source.base/nbproject/project.xml
++index 2c0e5a0e3..43e63ca59 100644
++--- a/java.source.base/nbproject/project.xml
+++++ b/java.source.base/nbproject/project.xml
++@@ -98,7 +98,7 @@ made subject to such option by the copyright holder.
++ <build-prerequisite/>
++ <compile-dependency/>
++ <run-dependency>
++- <specification-version>8.15</specification-version>
+++ <specification-version>8.4</specification-version>
++ </run-dependency>
++ </dependency>
++ <dependency>
++@@ -186,7 +186,7 @@ made subject to such option by the copyright holder.
++ <compile-dependency/>
++ <run-dependency>
++ <release-version>1</release-version>
++- <specification-version>1.30</specification-version>
+++ <specification-version>1.0</specification-version>
++ </run-dependency>
++ </dependency>
++ <dependency>
++@@ -203,7 +203,7 @@ made subject to such option by the copyright holder.
++ <build-prerequisite/>
++ <compile-dependency/>
++ <run-dependency>
++- <specification-version>1.42</specification-version>
+++ <specification-version>1.22</specification-version>
++ </run-dependency>
++ </dependency>
++ <dependency>
++diff --git a/java.source.base/src/org/netbeans/api/java/source/AssignComments.java b/java.source.base/src/org/netbeans/api/java/source/AssignComments.java
++index cac791f24..9e738b1a1 100644
++--- a/java.source.base/src/org/netbeans/api/java/source/AssignComments.java
+++++ b/java.source.base/src/org/netbeans/api/java/source/AssignComments.java
++@@ -31,7 +31,6 @@
++
++ package org.netbeans.api.java.source;
++
++-import com.sun.source.tree.AnnotationTree;
++ import com.sun.source.tree.AssignmentTree;
++ import com.sun.source.tree.BinaryTree;
++ import com.sun.source.tree.BlockTree;
++@@ -41,11 +40,8 @@ import com.sun.source.tree.CompoundAssignmentTree;
++ import com.sun.source.tree.ConditionalExpressionTree;
++ import com.sun.source.tree.InstanceOfTree;
++ import com.sun.source.tree.MemberSelectTree;
++-import com.sun.source.tree.MethodTree;
++-import com.sun.source.tree.ModifiersTree;
++ import com.sun.source.tree.Tree;
++ import com.sun.source.tree.UnaryTree;
++-import com.sun.source.tree.VariableTree;
++ import com.sun.source.util.SourcePositions;
++ import com.sun.source.util.TreePath;
++ import com.sun.source.util.TreeScanner;
++@@ -53,12 +49,10 @@ import com.sun.tools.javac.tree.JCTree;
++ import java.util.Collections;
++ import java.util.EnumSet;
++ import java.util.HashMap;
++-import java.util.HashSet;
++ import java.util.Iterator;
++ import java.util.LinkedList;
++ import java.util.List;
++ import java.util.Map;
++-import java.util.Set;
++ import java.util.logging.Level;
++ import java.util.logging.Logger;
++ import org.netbeans.api.java.lexer.JavaTokenId;
++@@ -66,6 +60,7 @@ import org.netbeans.api.lexer.Token;
++ import org.netbeans.api.lexer.TokenSequence;
++ import org.netbeans.modules.java.source.builder.CommentHandlerService;
++ import org.netbeans.modules.java.source.builder.CommentSetImpl;
+++import org.netbeans.modules.java.source.query.CommentHandler;
++ import org.netbeans.modules.java.source.query.CommentSet;
++
++ import static org.netbeans.modules.java.source.save.PositionEstimator.NOPOS;
++@@ -77,15 +72,6 @@ import static org.netbeans.modules.java.source.save.PositionEstimator.NOPOS;
++ */
++ class AssignComments extends TreeScanner<Void, Void> {
++
++- private static final EnumSet<Tree.Kind> JAVADOC_KINDS = EnumSet.of(
++- Tree.Kind.CLASS,
++- Tree.Kind.INTERFACE,
++- Tree.Kind.ENUM,
++-
++- Tree.Kind.METHOD,
++- Tree.Kind.VARIABLE
++- );
++-
++ private final CompilationInfo info;
++ private final CompilationUnitTree unit;
++ private final Tree commentMapTarget;
++@@ -191,49 +177,6 @@ class AssignComments extends TreeScanner<Void, Void> {
++ child = ((MemberSelectTree)t).getExpression();
++ break;
++
++- case VARIABLE: {
++- VariableTree varT = (VariableTree)t;
++- if (varT.getModifiers() != null) {
++- child = varT.getModifiers();
++- } else {
++- child = null;
++- }
++- break;
++- }
++- case METHOD: {
++- MethodTree mT = (MethodTree)t;
++- if (mT.getModifiers() != null) {
++- child = mT.getModifiers();
++- } else {
++- child = null;
++- }
++- break;
++- }
++- case CLASS: {
++- ClassTree cT = (ClassTree)t;
++- if (cT.getModifiers() != null) {
++- child = cT.getModifiers();
++- } else {
++- child = null;
++- }
++- break;
++- }
++-
++- case MODIFIERS: {
++- ModifiersTree modT = (ModifiersTree)t;
++- List<? extends AnnotationTree> annTs = modT.getAnnotations();
++- if (annTs == null || annTs.isEmpty()) {
++- return pos;
++- }
++- int modPos = ((JCTree)annTs.get(0)).pos;
++- if (modPos < pos) {
++- child = annTs.get(0);
++- } else {
++- child = null;
++- }
++- break;
++- }
++-
++ default:
++ return pos;
++ }
++@@ -276,7 +219,7 @@ class AssignComments extends TreeScanner<Void, Void> {
++ if (commentMapTarget != null) {
++ mapComments2(tree, false, tree.getKind() != Tree.Kind.BLOCK || parent == null || parent.getKind() != Tree.Kind.METHOD);
++ if (mapComments) {
++- ((CommentSetImpl) createCommentSet(tree)).commentsMapped();
+++ ((CommentSetImpl) createCommentSet(commentService, tree)).commentsMapped();
++ }
++ }
++ return null;
++@@ -329,11 +272,7 @@ class AssignComments extends TreeScanner<Void, Void> {
++ }
++ if (cnt == 0) {
++ // look within empty class/interface decls, too
++- int cPos = ((JCTree)tree).pos;
++- seq.move(cPos);
++- if (seq.moveNext()) {
++- lookWithinEmptyBlock(seq, clazz);
++- }
+++ lookWithinEmptyBlock(seq, clazz);
++ }
++ }
++ } else {
++@@ -357,9 +296,6 @@ class AssignComments extends TreeScanner<Void, Void> {
++ break;
++ }
++ } else if (isComment(seq.token().id())) {
++- if (alreadySeenJavadoc(seq.token(), seq)) {
++- continue;
++- }
++ if (seq.index() > tokenIndexAlreadyAdded)
++ result.add(seq.token());
++ tokenIndexAlreadyAdded = seq.index();
++@@ -370,16 +306,15 @@ class AssignComments extends TreeScanner<Void, Void> {
++ break;
++ }
++ }
++- attachComments(tree, result, CommentSet.RelativePosition.INLINE);
+++ if (!result.isEmpty()) {
+++ CommentSet.RelativePosition position = CommentSet.RelativePosition.INLINE;
+++ attachComments(tree, result, position);
+++ }
++ }
++
++ private void attachComments(Tree tree, CommentsCollection result, CommentSet.RelativePosition position) {
++- if (!mapComments) {
++- return;
++- }
++- if (result.isEmpty()) {
++- return;
++- }
+++ if (!mapComments) return;
+++
++ CommentSetImpl cs = commentService.getComments(tree);
++ for (Token<JavaTokenId> token : result) {
++ attachComment(position, cs, token);
++@@ -392,7 +327,7 @@ class AssignComments extends TreeScanner<Void, Void> {
++ case COMPILATION_UNIT:
++ CompilationUnitTree cut = (CompilationUnitTree) tree;
++ return cut.getPackageName() == null;
++-// case MODIFIERS:
+++ case MODIFIERS:
++ case PRIMITIVE_TYPE:
++ return true;
++ default: return false;
++@@ -438,12 +373,7 @@ class AssignComments extends TreeScanner<Void, Void> {
++ }
++ return nl == -1 ? -1 : st - nl;
++ }
++-
++- private boolean alreadySeenJavadoc(Token<JavaTokenId> token, TokenSequence<JavaTokenId> seq) {
++- return (token.id() == JavaTokenId.JAVADOC_COMMENT) &&
++- (mixedJDocTokenIndexes.contains(seq.index()));
++- }
++-
+++
++ private void lookForTrailing(TokenSequence<JavaTokenId> seq, Tree tree) {
++ //TODO: [RKo] This does not work correctly... need improvemetns.
++ seq.move((int) positions.getEndPosition(unit, tree));
++@@ -459,10 +389,6 @@ class AssignComments extends TreeScanner<Void, Void> {
++ newlines += nls;
++ // do not map trailing comments for statements enclosed in do/while/if
++ } else if (isComment(t.id())) {
++- // TODO: trailing javadocs should be ignored
++- if (alreadySeenJavadoc(t, seq)) {
++- continue;
++- }
++ if (newlines > 0 && parentEatsTralingComment(seq, tree)) {
++ return;
++ }
++@@ -489,30 +415,10 @@ class AssignComments extends TreeScanner<Void, Void> {
++ maxLines = Math.max(maxLines, newlines);
++
++ for (TrailingCommentsDataHolder h : comments) {
++- boolean assign = false;
++-
++ if (h.newlines < maxLines) {
++- // if the comment is a javadoc one and there IS a valid declaration at seq.index(), the javadoc should
++- // not be eaten although separated by many lines:
++- assign = true;
++-
++- if (index >= 0 && maxLines < Integer.MAX_VALUE && seq.token().length() > 0 && h.comment.id() == JavaTokenId.JAVADOC_COMMENT) {
++- TreePath tp = info.getTreeUtilities().pathFor(seq.offset() + 1);
++- // traverse up to last parent that claims the position
++- while (tp.getParentPath() != null &&
++- positions.getStartPosition(info.getCompilationUnit(), tp.getParentPath().getLeaf()) == seq.offset()) {
++- tp = tp.getParentPath();
++- }
++- if (tp != null && JAVADOC_KINDS.contains(tp.getLeaf().getKind())) {
++- assign = false;
++- }
++- }
++- }
++- if (assign) {
++- attachComments(Collections.singleton(h.comment), tree, CommentSet.RelativePosition.TRAILING);
+++ attachComments(Collections.singleton(h.comment), tree, commentService, CommentSet.RelativePosition.TRAILING);
++ } else {
++ index = h.index - 1;
++- seq.moveIndex(h.index);
++ break;
++ }
++ }
++@@ -569,26 +475,15 @@ class AssignComments extends TreeScanner<Void, Void> {
++ return false;
++ }
++
++- /**
++- * Indexes for Javadoc tokens to skip. Sometimes javadocs can be mixed in between preceding
++- * tree constituents (e.g. between modifiers of a method). In that case, they will be
++- * assigned to the method before scanning continues to the modifier tree; tokenIndexAlreadyAdded
++- * will not record these commenst scanned "in advance". This Set is a filter so they will
++- * not be added again to nested constituents of the tree.
++- */
++- private Set<Integer> mixedJDocTokenIndexes = new HashSet<>();
++-
++ private void lookForPreceedings(TokenSequence<JavaTokenId> seq, Tree tree) {
++ int reset = ((JCTree) tree).pos;
++- int plainCommentLimit = reset;
++ if (limit >= 0) {
++ // infix and postfix trees must not eat comments up to the symbol, otherwise
++ // comments which belong to nested subtrees of operands could be eaten and incorrectly assigned.
++- // Javadoc comments will be pushed upwards by individual nodes
++- plainCommentLimit = Math.min(reset, limit);
+++ reset = Math.min(reset, limit);
++ }
++ CommentsCollection cc = null;
++- while (seq.moveNext() && seq.offset() < plainCommentLimit) {
+++ while (seq.moveNext() && seq.offset() < reset) {
++ JavaTokenId id = seq.token().id();
++ if (isComment(id)) {
++ if (cc == null) {
++@@ -598,36 +493,10 @@ class AssignComments extends TreeScanner<Void, Void> {
++ }
++ }
++ }
++- tokenIndexAlreadyAdded = seq.index();
++- if (plainCommentLimit < reset && JAVADOC_KINDS.contains(tree.getKind())) {
++- // look specifically for Javadocs
++-
++- // NOTE: local variables and method parameters will be affected by this, too -
++- // potential javadoc among their modifiers will be assigned to the variable,
++- // rather than to the nearest modifier.
++- int start = reset;
++- int end = 0;
++- CommentsCollection result = new CommentsCollection();
++- while (seq.moveNext() && seq.offset() < reset) {
++- JavaTokenId id = seq.token().id();
++- if (id == JavaTokenId.JAVADOC_COMMENT) {
++- mixedJDocTokenIndexes.add(seq.index());
++- start = Math.min(seq.offset(), start);
++- end = Math.max(seq.offset() + seq.token().length(), end);
++- result.add(seq.token());
++- }
++- }
++- if (!result.isEmpty()) {
++- if (cc == null) {
++- cc = result;
++- } else {
++- cc.merge(result);
++- }
++- }
++- }
++- attachComments(cc, tree, CommentSet.RelativePosition.PRECEDING);
+++ attachComments(cc, tree, commentService, CommentSet.RelativePosition.PRECEDING);
++ seq.move(reset);
++ seq.moveNext();
+++ tokenIndexAlreadyAdded = seq.index();
++ }
++
++ /**
++@@ -664,15 +533,15 @@ class AssignComments extends TreeScanner<Void, Void> {
++ return seq.offset() + (tokenIndexAlreadyAdded >= seq.index() ? seq.token().length() : 0);
++ }
++
++- private void attachComments(Iterable<? extends Token<JavaTokenId>> foundComments, Tree tree, CommentSet.RelativePosition positioning) {
+++ private void attachComments(Iterable<? extends Token<JavaTokenId>> foundComments, Tree tree, CommentHandler ch, CommentSet.RelativePosition positioning) {
++ if (foundComments == null || !foundComments.iterator().hasNext() || !mapComments) return;
++- CommentSetImpl set = (CommentSetImpl) createCommentSet(tree);
+++ CommentSetImpl set = (CommentSetImpl) createCommentSet(ch, tree);
++ if (set.areCommentsMapped()) return ;
++ for (Token<JavaTokenId> comment : foundComments) {
++ attachComment(positioning, set, comment);
++ }
++ }
++-
+++
++ private void attachComment(CommentSet.RelativePosition positioning, CommentSet set, Token<JavaTokenId> comment) {
++ Comment c = Comment.create(getStyle(comment.id()), comment.offset(null),
++ getEndPos(comment), NOPOS, getText(comment));
++@@ -738,11 +607,6 @@ class AssignComments extends TreeScanner<Void, Void> {
++ if (ts.index() < tokenIndexAlreadyAdded) continue;
++ t = ts.token();
++ if (isComment(t.id())) {
++- if (t.id() == JavaTokenId.JAVADOC_COMMENT &&
++- mixedJDocTokenIndexes.contains(ts.index())) {
++- // skip javadocs already added
++- continue;
++- }
++ result.add(t);
++ start = Math.min(ts.offset(), start);
++ end = Math.max(ts.offset() + t.length(), end);
++@@ -764,8 +628,8 @@ class AssignComments extends TreeScanner<Void, Void> {
++ return result;
++ }
++
++- private CommentSet createCommentSet(Tree lastTree) {
++- return commentService.getComments(lastTree);
+++ private CommentSet createCommentSet(CommentHandler ch, Tree lastTree) {
+++ return ch.getComments(lastTree);
++ }
++
++ private boolean isComment(JavaTokenId tid) {
++diff --git a/java.source.base/src/org/netbeans/api/java/source/ClasspathInfo.java b/java.source.base/src/org/netbeans/api/java/source/ClasspathInfo.java
++index 5a4ab8a93..c11ff41e9 100644
++--- a/java.source.base/src/org/netbeans/api/java/source/ClasspathInfo.java
+++++ b/java.source.base/src/org/netbeans/api/java/source/ClasspathInfo.java
++@@ -48,16 +48,15 @@ import java.beans.PropertyChangeListener;
++ import java.io.File;
++ import java.net.URI;
++ import java.net.URISyntaxException;
+++import java.net.URL;
++ import java.util.ArrayList;
++ import java.util.Arrays;
++ import java.util.List;
++-import java.util.function.Function;
++ import java.util.logging.Logger;
++ import java.util.logging.Level;
++ import javax.swing.event.ChangeListener;
++ import javax.swing.text.Document;
++ import javax.tools.JavaFileManager;
++-import javax.tools.StandardLocation;
++ import org.netbeans.api.annotations.common.CheckForNull;
++ import org.netbeans.api.annotations.common.NonNull;
++ import org.netbeans.api.annotations.common.NullAllowed;
++@@ -122,7 +121,6 @@ public final class ClasspathInfo {
++ private final ChangeSupport listenerList;
++ private final FileManagerTransaction fmTx;
++ private final ProcessorGenerated pgTx;
++- private final Function<JavaFileManager.Location, JavaFileManager> jfmProvider;
++
++ //@GuardedBy("this")
++ private ClassIndex usagesQuery;
++@@ -136,8 +134,7 @@ public final class ClasspathInfo {
++ final boolean backgroundCompilation,
++ final boolean ignoreExcludes,
++ final boolean hasMemoryFileManager,
++- final boolean useModifiedFiles,
++- @NullAllowed final Function<JavaFileManager.Location, JavaFileManager> jfmProvider) {
+++ final boolean useModifiedFiles) {
++ assert archiveProvider != null;
++ assert bootCp != null;
++ assert compileCp != null;
++@@ -188,7 +185,6 @@ public final class ClasspathInfo {
++ }
++ assert fmTx != null : "No file manager transaction."; //NOI18N
++ assert pgTx != null : "No processor generated transaction."; //NOI18N
++- this.jfmProvider = jfmProvider;
++ }
++
++ @Override
++@@ -283,7 +279,7 @@ public final class ClasspathInfo {
++ @NullAllowed final ClassPath sourcePath) {
++ Parameters.notNull("bootPath", bootPath); //NOI18N
++ Parameters.notNull("classPath", classPath); //NOI18N
++- return create (bootPath, classPath, sourcePath, null, false, false, false, true, null);
+++ return create (bootPath, classPath, sourcePath, null, false, false, false, true);
++ }
++
++ @NonNull
++@@ -304,7 +300,7 @@ public final class ClasspathInfo {
++ compilePath = ClassPath.EMPTY;
++ }
++ ClassPath srcPath = ClassPath.getClassPath(fo, ClassPath.SOURCE);
++- return create (bootPath, compilePath, srcPath, filter, backgroundCompilation, ignoreExcludes, hasMemoryFileManager, useModifiedFiles, null);
+++ return create (bootPath, compilePath, srcPath, filter, backgroundCompilation, ignoreExcludes, hasMemoryFileManager, useModifiedFiles);
++ }
++
++ @NonNull
++@@ -316,19 +312,9 @@ public final class ClasspathInfo {
++ final boolean backgroundCompilation,
++ final boolean ignoreExcludes,
++ final boolean hasMemoryFileManager,
++- final boolean useModifiedFiles,
++- @NullAllowed final Function<JavaFileManager.Location, JavaFileManager> jfmProvider) {
++- return new ClasspathInfo(
++- CachingArchiveProvider.getDefault(),
++- bootPath,
++- classPath,
++- sourcePath,
++- filter,
++- backgroundCompilation,
++- ignoreExcludes,
++- hasMemoryFileManager,
++- useModifiedFiles,
++- jfmProvider);
+++ final boolean useModifiedFiles) {
+++ return new ClasspathInfo(CachingArchiveProvider.getDefault(), bootPath, classPath, sourcePath,
+++ filter, backgroundCompilation, ignoreExcludes, hasMemoryFileManager, useModifiedFiles);
++ }
++
++ // Public methods ----------------------------------------------------------
++@@ -394,23 +380,6 @@ public final class ClasspathInfo {
++ private synchronized JavaFileManager createFileManager() {
++ final boolean hasSources = this.cachedSrcClassPath != ClassPath.EMPTY;
++ final SiblingSource siblings = SiblingSupport.create();
++- final JavaFileManager outFm;
++- if (hasSources) {
++- JavaFileManager tmp;
++- if (jfmProvider != null && (tmp = jfmProvider.apply(StandardLocation.CLASS_OUTPUT)) != null) {
++- outFm = tmp;
++- } else {
++- outFm = new OutputFileManager(
++- this.archiveProvider,
++- this.outputClassPath,
++- this.cachedSrcClassPath,
++- this.cachedAptSrcClassPath,
++- siblings.getProvider(),
++- fmTx);
++- }
++- } else {
++- outFm = null;
++- }
++ final JavaFileManager fileManager = new ProxyFileManager (
++ new CachingFileManager (this.archiveProvider, this.cachedBootClassPath, true, true),
++ new CachingFileManager (this.archiveProvider, this.cachedCompileClassPath, false, true),
++@@ -423,7 +392,14 @@ public final class ClasspathInfo {
++ siblings.getProvider(),
++ fmTx
++ ) : null,
++- outFm,
+++ hasSources ?
+++ new OutputFileManager(
+++ this.archiveProvider,
+++ this.outputClassPath,
+++ this.cachedSrcClassPath,
+++ this.cachedAptSrcClassPath,
+++ siblings.getProvider(),
+++ fmTx) : null,
++ new TreeLoaderOutputFileManager(this.archiveProvider, fmTx),
++ this.memoryFileManager,
++ this.pgTx,
++@@ -499,26 +475,15 @@ public final class ClasspathInfo {
++ }
++
++ @Override
++- public ClasspathInfo create (
++- final ClassPath bootPath,
+++ public ClasspathInfo create (final ClassPath bootPath,
++ final ClassPath classPath,
++ final ClassPath sourcePath,
++ final JavaFileFilterImplementation filter,
++ final boolean backgroundCompilation,
++ final boolean ignoreExcludes,
++ final boolean hasMemoryFileManager,
++- final boolean useModifiedFiles,
++- @NullAllowed final Function<JavaFileManager.Location, JavaFileManager> jfmProvider) {
++- return ClasspathInfo.create(
++- bootPath,
++- classPath,
++- sourcePath,
++- filter,
++- backgroundCompilation,
++- ignoreExcludes,
++- hasMemoryFileManager,
++- useModifiedFiles,
++- jfmProvider);
+++ final boolean useModifiedFiles) {
+++ return ClasspathInfo.create(bootPath, classPath, sourcePath, filter, backgroundCompilation, ignoreExcludes, hasMemoryFileManager, useModifiedFiles);
++ }
++
++ @Override
++@@ -547,14 +512,4 @@ public final class ClasspathInfo {
++ return cpInfo.memoryFileManager.unregister(fqn);
++ }
++ }
++-
++- /** Interface for {@link Task}s that want to provide {@link ClasspathInfo}. The interface is to be implemented
++- * on a {@link Task}, which needs to provide its own classpath information. When the task is run, reinitializes the parser
++- * to use that classpath.
++- *
++- * @since 2.20
++- */
++- public interface Provider {
++- public ClasspathInfo getClasspathInfo ();
++- }
++ }
++\ No newline at end of file
++diff --git a/java.source.base/src/org/netbeans/api/java/source/CodeStyle.java b/java.source.base/src/org/netbeans/api/java/source/CodeStyle.java
++index 8be14686f..b5d253c2b 100644
++--- a/java.source.base/src/org/netbeans/api/java/source/CodeStyle.java
+++++ b/java.source.base/src/org/netbeans/api/java/source/CodeStyle.java
++@@ -514,13 +514,6 @@ public final class CodeStyle {
++ return WrapStyle.valueOf(wrap);
++ }
++
++- /**
++- * @since 2.18
++- */
++- public boolean wrapAfterDisjunctiveCatchBar() {
++- return preferences.getBoolean(wrapAfterDisjunctiveCatchBar, getDefaultAsBoolean(wrapAfterDisjunctiveCatchBar));
++- }
++-
++ public WrapStyle wrapFor() {
++ String wrap = preferences.get(wrapFor, getDefaultAsString(wrapFor));
++ return WrapStyle.valueOf(wrap);
++@@ -1140,20 +1133,6 @@ public final class CodeStyle {
++ });
++ }
++ }
++-
++- public String toString() {
++- StringBuilder sb = new StringBuilder();
++- sb.append("ImportGroups[\n");
++- for (Info i : infos) {
++- sb.append("\t").append(i.prefix).append(": ");
++- if (i.isStatic) {
++- sb.append("static");
++- }
++- sb.append("\n");
++- }
++- sb.append("]");
++- return sb.toString();
++- }
++
++ /**
++ * Returns the group number of the imported element. Imports with the same
++@@ -1293,25 +1272,6 @@ public final class CodeStyle {
++ }
++ return infos.length;
++ }
++-
++- /**
++- * Pretty-prints the group info
++- * @return
++- */
++- public String toString() {
++- StringBuilder sb = new StringBuilder();
++- sb.append("MemberGroups[\n");
++- for (Info i : infos) {
++- sb.append("\t").append(i.kind.toString()).append(": ");
++- sb.append(i.mods);
++- if (i.ignoreVisibility) {
++- sb.append(", ignore");
++- }
++- sb.append("\n");
++- }
++- sb.append("]");
++- return sb.toString();
++- }
++
++ private static final class Info {
++
++diff --git a/java.source.base/src/org/netbeans/api/java/source/ElementHandle.java b/java.source.base/src/org/netbeans/api/java/source/ElementHandle.java
++index ee942fbc8..5be23d50a 100644
++--- a/java.source.base/src/org/netbeans/api/java/source/ElementHandle.java
+++++ b/java.source.base/src/org/netbeans/api/java/source/ElementHandle.java
++@@ -49,7 +49,6 @@ import com.sun.tools.javac.code.Symbol;
++ import com.sun.tools.javac.code.Symtab;
++ import com.sun.tools.javac.jvm.Target;
++ import com.sun.tools.javac.model.JavacElements;
++-import com.sun.tools.javac.util.Name;
++ import java.util.Arrays;
++ import java.util.List;
++ import java.util.logging.Logger;
++@@ -186,7 +185,7 @@ public final class ElementHandle<T extends Element> {
++ }
++ }
++ } else if (type != null) {
++- return (T) new Symbol.MethodSymbol(0, (Name) jt.getElements().getName(this.signatures[1]), Symtab.instance(jt.getContext()).unknownType, (Symbol)type);
+++ return (T) new Symbol.MethodSymbol(0, jt.getElements().getName(this.signatures[1]), Symtab.instance(jt.getContext()).unknownType, (Symbol)type);
++ } else
++ log.log(Level.INFO, "Resolved type is null for kind = {0}", this.kind); // NOI18N
++ break;
++@@ -228,7 +227,7 @@ public final class ElementHandle<T extends Element> {
++ }
++ }
++ } else if (type != null) {
++- return (T) new Symbol.VarSymbol(0, (Name) jt.getElements().getName(this.signatures[1]), Symtab.instance(jt.getContext()).unknownType, (Symbol)type);
+++ return (T) new Symbol.VarSymbol(0, jt.getElements().getName(this.signatures[1]), Symtab.instance(jt.getContext()).unknownType, (Symbol)type);
++ } else
++ log.log(Level.INFO, "Resolved type is null for kind = {0}", this.kind); // NOI18N
++ break;
++@@ -619,7 +618,7 @@ public final class ElementHandle<T extends Element> {
++ return Symtab.instance(jt.getContext()).arrayClass;
++ }
++ else {
++- final JavacElements elements = (JavacElements) jt.getElements();
+++ final JavacElements elements = jt.getElements();
++ return (TypeElement) elements.getTypeElementByBinaryName(signature);
++ }
++ }
++diff --git a/java.source.base/src/org/netbeans/api/java/source/ElementUtilities.java b/java.source.base/src/org/netbeans/api/java/source/ElementUtilities.java
++index b18d999bd..634c1e661 100644
++--- a/java.source.base/src/org/netbeans/api/java/source/ElementUtilities.java
+++++ b/java.source.base/src/org/netbeans/api/java/source/ElementUtilities.java
++@@ -62,6 +62,7 @@ import com.sun.tools.javac.code.Symbol.VarSymbol;
++ import com.sun.tools.javac.code.Symtab;
++ import com.sun.tools.javac.code.Type;
++ import com.sun.tools.javac.code.Type.ClassType;
+++import com.sun.tools.javac.code.Type.MethodType;
++ import com.sun.tools.javac.comp.AttrContext;
++ import com.sun.tools.javac.comp.Enter;
++ import com.sun.tools.javac.comp.Env;
++@@ -71,12 +72,9 @@ import com.sun.tools.javac.model.JavacTypes;
++ import com.sun.tools.javac.util.Context;
++ import com.sun.tools.javac.util.Names;
++ import com.sun.tools.javadoc.DocEnv;
++-import java.util.ArrayDeque;
++
++ import java.util.ArrayList;
++-import java.util.Collection;
++ import java.util.Collections;
++-import java.util.Deque;
++ import java.util.EnumSet;
++ import java.util.HashMap;
++ import java.util.HashSet;
++@@ -84,9 +82,7 @@ import java.util.Iterator;
++ import java.util.LinkedList;
++ import java.util.List;
++ import java.util.ListIterator;
++-import java.util.Map;
++ import java.util.Set;
++-import java.util.Stack;
++
++ import javax.lang.model.element.Element;
++ import javax.lang.model.element.ElementKind;
++@@ -112,7 +108,6 @@ import org.netbeans.api.annotations.common.NonNull;
++ import org.netbeans.api.annotations.common.NullAllowed;
++ import org.netbeans.modules.java.source.builder.ElementsService;
++ import org.netbeans.modules.java.source.JavadocEnv;
++-import org.openide.util.Parameters;
++
++ /**
++ *
++@@ -301,7 +296,9 @@ public final class ElementUtilities {
++ case SHORT:
++ case VOID:
++ Type t = Symtab.instance(ctx).classType;
++- com.sun.tools.javac.util.List<Type> typeargs = com.sun.tools.javac.util.List.of((Type)type);
+++ com.sun.tools.javac.util.List<Type> typeargs = Source.instance(ctx).allowGenerics() ?
+++ com.sun.tools.javac.util.List.of((Type)type) :
+++ com.sun.tools.javac.util.List.<Type>nil();
++ t = new ClassType(t.getEnclosingType(), typeargs, t.tsym);
++ Element classPseudoMember = new VarSymbol(Flags.STATIC | Flags.PUBLIC | Flags.FINAL, Names.instance(ctx)._class, t, ((Type)type).tsym);
++ if (acceptor == null || acceptor.accept(classPseudoMember, type))
++@@ -313,7 +310,9 @@ public final class ElementUtilities {
++ members.add(member);
++ }
++ t = Symtab.instance(ctx).classType;
++- typeargs = com.sun.tools.javac.util.List.of((Type)type);
+++ typeargs = Source.instance(ctx).allowGenerics() ?
+++ com.sun.tools.javac.util.List.of((Type)type) :
+++ com.sun.tools.javac.util.List.<Type>nil();
++ t = new ClassType(t.getEnclosingType(), typeargs, t.tsym);
++ classPseudoMember = new VarSymbol(Flags.STATIC | Flags.PUBLIC | Flags.FINAL, Names.instance(ctx)._class, t, ((Type)type).tsym);
++ if (acceptor == null || acceptor.accept(classPseudoMember, type))
++@@ -324,119 +323,6 @@ public final class ElementUtilities {
++ return members;
++ }
++
++- /**
++- * Finds symbols which satisfy the acceptor visible in the passed scope. The method returns a Map keyed by the
++- * found Elements. Each Element is mapped to the closest Scope which introduced the Element. For example, a field declared
++- * by an outer class will map to that outer class' scope. An accessible field inherited from outer class' superclass
++- * will <b>also</b> map to the outer class' scope. The caller can then determine, based on {@link Element#getEnclosingElement()} and
++- * the mapped Scope whether the symbol is directly declared, or inherited. Non-member symbols (variables, parameters, try resources, ...)
++- * map to Scope of their defining Method.
++- * <p/>
++- * If an Element from outer Scope is hidden by a similar Element
++- * in inner scope, only the Element visible to the passed Scope is returned. For example, if both the starting (inner) class and its outer class
++- * define method m(), only InnerClass.m() will be returned.
++- * <p/>
++- * Note that {@link Scope#getEnclosingMethod()} returns non-null even for class scopes of local or anonymous classes; check both {@link Scope#getEnclosingClass()}
++- * and {@link Scope#getEnclosingMethod()} and their relationship to get the appropriate Element associated with the Scope.
++- *
++- * @param scope the initial search scope
++- * @param acceptor the element filter.
++- * @return Mapping of visible and accessible Elements to their defining {@link Scope}s (which introduced them).
++- * @see Scope
++- * @since 2.16
++- */
++- public @NonNull Map<? extends Element, Scope> findElementsAndOrigins(@NonNull Scope scope, ElementAcceptor acceptor) {
++- Parameters.notNull("scope", scope); // NOI18N
++- final Map<Element, Scope> result = new HashMap<>();
++-
++- if (acceptor == null) {
++- acceptor = ALL_ACCEPTOR;
++- }
++- Map<String, List<Element>> members = null;
++- Elements elements = JavacElements.instance(ctx);
++- Types types = JavacTypes.instance(ctx);
++- TypeElement cls;
++- Deque<Scope> outerScopes = new ArrayDeque();
++- Deque<Map> visibleEls = new ArrayDeque();
++- Element current = null;
++-
++- while (scope != null) {
++- cls = scope.getEnclosingClass();
++- Element e = null;
++- if (cls != null) {
++- ExecutableElement ee = scope.getEnclosingMethod();
++- if (ee != null && ee.getEnclosingElement() != cls) {
++- e = ee;
++- } else {
++- e = cls;
++- }
++- }
++- if (e != current) {
++- // push at the scope entry
++- members = new HashMap<>();
++- outerScopes.push(scope);
++- visibleEls.push(members);
++- current = e;
++- }
++- if (cls != null) {
++- for (Element local : scope.getLocalElements()) {
++- if (acceptor == null || acceptor.accept(local, null)) {
++- addIfNotHidden(local, members, local.getSimpleName().toString(), elements, types);
++- }
++- }
++- TypeMirror type = cls.asType();
++- for (Element member : elements.getAllMembers(cls)) {
++- if (acceptor == null || acceptor.accept(member, type)) {
++- addIfNotHidden(member, members, member.getSimpleName().toString(), elements, types);
++- }
++- }
++- } else {
++- for (Element local : scope.getLocalElements()) {
++- if (!local.getKind().isClass() && !local.getKind().isInterface() &&
++- (acceptor == null || local.getEnclosingElement() != null && acceptor.accept(local, local.getEnclosingElement().asType()))) {
++- addIfNotHidden(local, members, local.getSimpleName().toString(), elements, types);
++- }
++- }
++- }
++- scope = scope.getEnclosingScope();
++- }
++-
++- while (!outerScopes.isEmpty()) {
++- Scope x = outerScopes.pop();
++- Collection<List<Element>> vals = (Collection<List<Element>>)visibleEls.pop().values();
++- for (List<Element> col : vals) {
++- for (Element e : col) {
++- result.put(e, x);
++- }
++- }
++- }
++-
++- return result;
++- }
++-
++- private static final ElementAcceptor ALL_ACCEPTOR = new ElementAcceptor() {
++- @Override
++- public boolean accept(Element e, TypeMirror type) {
++- return true;
++- }
++- };
++-
++- private void addIfNotHidden(Element local, Map<String, List<Element>> members, String name, Elements elements, Types types) {
++- List<Element> namedMembers = members.get(name);
++- if (namedMembers != null) {
++- // PENDING: isHidden will not report variables, which are effectively hidden by anonymous or local class' variables.
++- // there is no way how to denote such hidden local variable/paremeter from the inner class, so such vars should
++- // not be reported.
++- if (isHidden(local, namedMembers, elements, types)) {
++- return;
++- }
++- } else {
++- namedMembers = new ArrayList<>();
++- members.put(name, namedMembers);
++- }
++- namedMembers.add(local);
++- }
++-
++ /**Return members declared in the given scope.
++ */
++ public Iterable<? extends Element> getLocalMembersAndVars(Scope scope, ElementAcceptor acceptor) {
++@@ -678,35 +564,14 @@ public final class ElementUtilities {
++ }
++
++ /**Find all methods in given type and its supertypes, which are not implemented.
++- * Will not return default methods implemented directly in interfaces in impl type closure.
++ *
++ * @param type to inspect
++ * @return list of all unimplemented methods
++ *
++ * @since 0.20
++- * @since 2.15 does not return default methods
++ */
++ public List<? extends ExecutableElement> findUnimplementedMethods(TypeElement impl) {
++- return findUnimplementedMethods(impl, impl, false);
++- }
++-
++- /**
++- * Finds all unimplemented methods in the given type and supertypes, but possibly include
++- * also interface default methods.
++- * <p/>
++- * If the platform configured for the type is older than JDK8, the method is equivalent
++- * to {@link #findUnimplementedMethods(javax.lang.model.element.TypeElement)}. If `includeDefaults'
++- * is {@code true}, returns also default methods as if the methods were required to be
++- * reimplemented by the final class.
++- *
++- * @param impl the implementation type
++- * @param includeDefaults if true, will also return interface default methods, which
++- * are not overriden in supertypes
++- * @return unimplemented (and/or default) methods.
++- * @since 2.15
++- */
++- public List<? extends ExecutableElement> findUnimplementedMethods(TypeElement impl, boolean includeDefaults) {
++- return findUnimplementedMethods(impl, impl, includeDefaults);
+++ return findUnimplementedMethods(impl, impl);
++ }
++
++ /**Find all methods in given type and its supertypes, which are overridable.
++@@ -722,25 +587,13 @@ public final class ElementUtilities {
++ if (!type.getModifiers().contains(Modifier.ABSTRACT)) {
++ notOverridable.add(Modifier.ABSTRACT);
++ }
++- DeclaredType dt = (DeclaredType)type.asType();
++- Types types = JavacTypes.instance(ctx);
++- Set<String> typeStrings = new HashSet<>();
++ for (ExecutableElement ee : ElementFilter.methodsIn(info.getElements().getAllMembers(type))) {
++-
++- TypeMirror methodType = types.erasure(types.asMemberOf(dt, ee));
++- String methodTypeString = ee.getSimpleName().toString() + methodType.toString();
++- if (typeStrings.contains(methodTypeString)) {
++- continue;
++- }
++ Set<Modifier> set = EnumSet.copyOf(notOverridable);
++ set.removeAll(ee.getModifiers());
++ if (set.size() == notOverridable.size()
++ && !overridesPackagePrivateOutsidePackage(ee, type) //do not offer package private methods in case they're from different package
++ && !isOverridden(ee, type)) {
++ overridable.add(ee);
++- if (ee.getModifiers().contains(Modifier.ABSTRACT)) {
++- typeStrings.add(methodTypeString);
++- }
++ }
++ }
++ Collections.reverse(overridable);
++@@ -916,68 +769,27 @@ public final class ElementUtilities {
++ return null;
++ }
++
++- /**
++- * Find the element of the method descriptor associated to the functional interface.
++- *
++- * @param origin functional interface element
++- * @return associated method descriptor element or <code>null</code> if the <code>origin</code> is not a functional interface.
++- * @since 2.14
++- */
++- public ExecutableElement getDescriptorElement(TypeElement origin) {
++- com.sun.tools.javac.code.Types types = com.sun.tools.javac.code.Types.instance(info.impl.getJavacTask().getContext());
++- if (types.isFunctionalInterface((TypeSymbol)origin)) {
++- Symbol sym = types.findDescriptorSymbol((TypeSymbol)origin);
++- if (sym != null && sym.getKind() == ElementKind.METHOD) {
++- return (ExecutableElement)sym;
++- }
++- }
++- return null;
++- }
++-
++ // private implementation --------------------------------------------------
++
++ private static final Set<Modifier> NOT_OVERRIDABLE = EnumSet.of(Modifier.STATIC, Modifier.FINAL, Modifier.PRIVATE);
++-
++- private List<? extends ExecutableElement> findUnimplementedMethods(TypeElement impl, TypeElement element, boolean includeDefaults) {
+++
+++ private List<? extends ExecutableElement> findUnimplementedMethods(TypeElement impl, TypeElement element) {
++ List<ExecutableElement> undef = new ArrayList<ExecutableElement>();
++ Types types = JavacTypes.instance(ctx);
++ com.sun.tools.javac.code.Types implTypes = com.sun.tools.javac.code.Types.instance(ctx);
++ DeclaredType implType = (DeclaredType)impl.asType();
++ if (element.getKind().isInterface() || element.getModifiers().contains(Modifier.ABSTRACT)) {
++ for (Element e : element.getEnclosedElements()) {
++- if (e.getKind() != ElementKind.METHOD) {
++- continue;
++- }
++- if (element.getKind().isInterface()) {
++- // as of JDK9 interafce can contain static methods.
++- if (e.getModifiers().contains(Modifier.STATIC)) {
++- continue;
++- /*
++- } else if (e.getModifiers().contains(Modifier.DEFAULT) && !includeDefaults) {
++- continue;
++- */
++- }
++- } else if (!e.getModifiers().contains(Modifier.ABSTRACT)) {
++- continue;
++- }
++- ExecutableElement ee = (ExecutableElement)e;
++- ExecutableElement eeImpl = (ExecutableElement)getImplementationOf(ee, impl);
++-
++- if (eeImpl == null) {
++- if (implTypes.asSuper((Type)implType, (Symbol)ee.getEnclosingElement()) != null) {
+++ if (e.getKind() == ElementKind.METHOD && e.getModifiers().contains(Modifier.ABSTRACT)) {
+++ ExecutableElement ee = (ExecutableElement)e;
+++ Element eeImpl = getImplementationOf(ee, impl);
+++ if ((eeImpl == null || (eeImpl == ee && impl != element)) && implTypes.asSuper((Type)implType, (Symbol)ee.getEnclosingElement()) != null)
++ undef.add(ee);
++- }
++- } else if (impl != element && implTypes.asSuper((Type)implType, (Symbol)ee.getEnclosingElement()) != null) {
++- if (eeImpl == ee) {
++- undef.add(ee);
++- } else if (includeDefaults && eeImpl.getModifiers().contains(Modifier.DEFAULT)) {
++- undef.add((ExecutableElement)eeImpl);
++- }
++ }
++ }
++ }
++ for (TypeMirror t : types.directSupertypes(element.asType())) {
++- for (ExecutableElement ee : findUnimplementedMethods(impl, (TypeElement) ((DeclaredType) t).asElement(), includeDefaults)) {
+++ for (ExecutableElement ee : findUnimplementedMethods(impl, (TypeElement) ((DeclaredType) t).asElement())) {
++ //check if "the same" method has already been added:
++ boolean exists = false;
++ ExecutableType eeType = (ExecutableType)types.asMemberOf(implType, ee);
++@@ -987,7 +799,6 @@ public final class ElementUtilities {
++ if (types.isSubsignature(existingType, eeType)) {
++ TypeMirror existingReturnType = existingType.getReturnType();
++ TypeMirror eeReturnType = eeType.getReturnType();
++- MethodSymbol msExisting = ((MethodSymbol)existing);
++ if (!types.isSubtype(existingReturnType, eeReturnType)) {
++ if (types.isSubtype(eeReturnType, existingReturnType)) {
++ undef.remove(existing);
++@@ -997,30 +808,12 @@ public final class ElementUtilities {
++ DeclaredType subType = env != null ? findCommonSubtype((DeclaredType)existingReturnType, (DeclaredType)eeReturnType, env) : null;
++ if (subType != null) {
++ undef.remove(existing);
++- MethodSymbol ms = msExisting.clone((Symbol)impl);
++- Type mt = implTypes.createMethodTypeWithReturn(ms.type, (Type)subType);
+++ MethodSymbol ms = ((MethodSymbol)existing).clone((Symbol)impl);
+++ Type mt = implTypes.createMethodTypeWithReturn((MethodType)ms.type, (Type)subType);
++ ms.type = mt;
++ undef.add(ms);
++ }
++ }
++- } else if (!msExisting.overrides((MethodSymbol)ee, (TypeSymbol)impl, implTypes, true)) {
++- // newly added does not override the old one, BUT
++- // 1/ the old one might have been defined by an abstract class. In that case, only the abstract class' member should prevail
++- // 2/ we are in an abstract class AND
++- // both existing and ee are interface methods AND
++- // a/ neither of them is default -> select one of them, discard the other
++- if (existing.getEnclosingElement().getKind().isClass()) {
++- exists = true;
++- } else if (element.getKind().isClass()) {
++- // existing is now known to be an interface
++- if (ee.getEnclosingElement().getKind().isInterface()) {
++- if (!existing.getModifiers().contains(Modifier.DEFAULT) &&
++- !ee.getModifiers().contains(Modifier.DEFAULT)) {
++- exists = true;
++- }
++- }
++- }
++- break;
++ }
++ exists = true;
++ break;
++@@ -1032,15 +825,6 @@ public final class ElementUtilities {
++ }
++ }
++ }
++- // if not defaults, prune the defaults out:
++- if (!includeDefaults && element.getKind() == ElementKind.INTERFACE) {
++- for (Iterator<ExecutableElement> it = undef.iterator(); it.hasNext();) {
++- ExecutableElement ee = it.next();
++- if (ee.getModifiers().contains(Modifier.DEFAULT)) {
++- it.remove();
++- }
++- }
++- }
++ return undef;
++ }
++
++diff --git a/java.source.base/src/org/netbeans/api/java/source/GeneratorUtilities.java b/java.source.base/src/org/netbeans/api/java/source/GeneratorUtilities.java
++index 83dbd4a9a..6abdb1c95 100644
++--- a/java.source.base/src/org/netbeans/api/java/source/GeneratorUtilities.java
+++++ b/java.source.base/src/org/netbeans/api/java/source/GeneratorUtilities.java
++@@ -46,6 +46,7 @@ package org.netbeans.api.java.source;
++
++ import com.sun.source.tree.AnnotatedTypeTree;
++ import com.sun.source.tree.AnnotationTree;
+++import com.sun.source.tree.ArrayAccessTree;
++ import com.sun.source.tree.ArrayTypeTree;
++ import com.sun.source.tree.AssignmentTree;
++ import com.sun.source.tree.BlockTree;
++@@ -53,15 +54,17 @@ import com.sun.source.tree.BreakTree;
++ import com.sun.source.tree.CaseTree;
++ import com.sun.source.tree.ClassTree;
++ import com.sun.source.tree.CompilationUnitTree;
+++import com.sun.source.tree.CompoundAssignmentTree;
++ import com.sun.source.tree.ErroneousTree;
++ import com.sun.source.tree.ExpressionTree;
++ import com.sun.source.tree.IdentifierTree;
++ import com.sun.source.tree.ImportTree;
++ import com.sun.source.tree.InstanceOfTree;
++ import com.sun.source.tree.LabeledStatementTree;
++-import com.sun.source.tree.LambdaExpressionTree;
++ import com.sun.source.tree.LiteralTree;
+++import com.sun.source.tree.MemberReferenceTree;
++ import com.sun.source.tree.MemberSelectTree;
+++import com.sun.source.tree.MethodInvocationTree;
++ import com.sun.source.tree.MethodTree;
++ import com.sun.source.tree.ModifiersTree;
++ import com.sun.source.tree.NewArrayTree;
++@@ -81,18 +84,15 @@ import com.sun.source.util.TreePath;
++ import com.sun.source.util.TreePathScanner;
++ import com.sun.source.util.TreeScanner;
++ import com.sun.source.util.Trees;
++-import com.sun.tools.javac.api.JavacTaskImpl;
++ import com.sun.tools.javac.code.Flags;
+++import com.sun.tools.javac.code.Scope.Entry;
++ import com.sun.tools.javac.code.Scope.StarImportScope;
++ import com.sun.tools.javac.code.Symbol;
++ import com.sun.tools.javac.code.Symbol.ClassSymbol;
++-import com.sun.tools.javac.code.Symbol.MethodSymbol;
++-import com.sun.tools.javac.code.Symbol.TypeSymbol;
++-import com.sun.tools.javac.code.Symtab;
++ import com.sun.tools.javac.code.Type;
+++import com.sun.tools.javac.jvm.ClassReader;
++ import com.sun.tools.javac.tree.JCTree;
++ import com.sun.tools.javac.tree.JCTree.JCCompilationUnit;
++-import com.sun.tools.javac.util.Context;
++
++ import java.io.IOException;
++ import java.io.InputStreamReader;
++@@ -334,182 +334,6 @@ public final class GeneratorUtilities {
++ }
++ return copy.getTreeMaker().insertClassMember(clazz, idx, member);
++ }
++-
++- /**
++- * Inserts members to a class. Using the rules specified in the {@link CodeStyle}
++- * it finds the proper place for each of the members and calls {@link TreeMaker.insertClassMember}
++- *
++- * @param clazz the class to insert the members to
++- * @param members the members to insert
++- * @param offset the caret location to use for {@code CodeStyle.InsertionPoint.CARET_LOCATION}
++- * @return the modified class
++- * @since 2.9
++- */
++- public ClassTree insertClassMembers(ClassTree clazz, List<? extends Tree> members, int offset) {
++- if (members.isEmpty()) {
++- return clazz;
++- }
++- CodeStyle codeStyle = DiffContext.getCodeStyle(copy);
++- if (offset < 0 || codeStyle.getClassMemberInsertionPoint() != CodeStyle.InsertionPoint.CARET_LOCATION) {
++- return GeneratorUtilities.get(copy).insertClassMembers(clazz, members);
++- }
++- int index = 0;
++- SourcePositions sp = copy.getTrees().getSourcePositions();
++- Document doc = null;
++- try {
++- doc = copy.getDocument();
++- if (doc == null) {
++- doc = copy.getSnapshot().getSource().getDocument(true);
++- }
++- } catch (IOException ioe) {}
++- Tree lastMember = null;
++- Tree nextMember = null;
++- for (Tree tree : clazz.getMembers()) {
++- if (offset <= sp.getStartPosition(copy.getCompilationUnit(), tree)) {
++- DocumentGuards guards = LineDocumentUtils.as(doc, DocumentGuards.class);
++- if (doc == null || guards == null) {
++- nextMember = tree;
++- break;
++- }
++- int pos = (int)(lastMember != null ? sp.getEndPosition(copy.getCompilationUnit(), lastMember) : sp.getStartPosition(copy.getCompilationUnit(), clazz));
++- pos = guards.adjustPosition(pos, true);
++- if (pos <= sp.getStartPosition(copy.getCompilationUnit(), tree)) {
++- nextMember = tree;
++- break;
++- }
++- }
++- index++;
++- lastMember = tree;
++- }
++- if (lastMember != null) {
++- // do not move the comments tied to last member in guarded block:
++- moveCommentsAfterOffset(copy, lastMember, members.get(0), offset, doc);
++- }
++- if (nextMember != null) {
++- moveCommentsBeforeOffset(copy, nextMember, members.get(members.size() - 1), offset, doc);
++- }
++- TreeMaker tm = copy.getTreeMaker();
++- ClassTree newClazz = clazz;
++- for (int i = members.size() - 1; i >= 0; i--) {
++- newClazz = tm.insertClassMember(newClazz, index, members.get(i));
++- }
++- return newClazz;
++- }
++-
++- /**
++- * Inserts a member to a class. Using the rules specified in the {@link CodeStyle}
++- * it finds the proper place for the member and calls {@link TreeMaker.insertClassMember}
++- *
++- * @param clazz the class to insert the member to
++- * @param member the member to add
++- * @param offset the caret location to use for {@code CodeStyle.InsertionPoint.CARET_LOCATION}
++- * @return the modified class
++- * @since 2.9
++- */
++- public ClassTree insertClassMember(ClassTree clazz, Tree member, int offset) {
++- return insertClassMembers(clazz, Collections.singletonList(member), offset);
++- }
++-
++- /**
++- * Reparents comments that follow `from' tree and would be separated from that tree by insertion to `offset' position.
++- * The comments are removed from the original tree, and attached to the `to' inserted tree.
++- * @param wc the working copy
++- * @param from the current owner of the comments
++- * @param to the generated code
++- * @param offset the offset where the new code will be inserted
++- * @param doc document instance or {@code null}
++- * @return
++- */
++- private void moveCommentsAfterOffset(WorkingCopy wc, Tree from, Tree to, int offset, Document doc) {
++- List<Comment> toMove = new LinkedList<>();
++- int idx = 0;
++- int firstToRemove = -1;
++- for (Comment comment : wc.getTreeUtilities().getComments(from, false)) {
++- if (comment.endPos() <= offset) {
++- // not affected by insertion
++- idx++;
++- continue;
++- }
++- DocumentGuards guards = LineDocumentUtils.as(doc, DocumentGuards.class);
++- if (guards != null) {
++- int epAfterBlock = guards.adjustPosition(comment.endPos(), true);
++- // comment that ends exactly at the GB boundary cannot be really
++- // reassigned from the previous member.
++- if (epAfterBlock >= comment.endPos()) {
++- // set new offset, after the guarded block
++- idx++;
++- continue;
++- }
++- }
++- toMove.add(comment);
++- if (firstToRemove == -1) {
++- firstToRemove = idx;
++- }
++- idx++;
++- }
++- if (toMove.isEmpty()) {
++- return;
++- }
++- doMoveComments(wc, from, to, offset, toMove, firstToRemove, idx);
++- }
++-
++- private static void doMoveComments(WorkingCopy wc, Tree from, Tree to, int offset, List<Comment> comments, int fromIdx, int toIdx) {
++- if (comments.isEmpty()) {
++- return;
++- }
++- TreeMaker tm = wc.getTreeMaker();
++- Tree tree = from;
++- switch (from.getKind()) {
++- case METHOD:
++- tree = tm.setLabel(from, ((MethodTree)from).getName());
++- break;
++- case VARIABLE:
++- tree = tm.setLabel(from, ((VariableTree)from).getName());
++- break;
++- case BLOCK:
++- tree = tm.Block(((BlockTree)from).getStatements(), ((BlockTree)from).isStatic());
++- GeneratorUtilities gu = GeneratorUtilities.get(wc);
++- gu.copyComments(from, tree, true);
++- gu.copyComments(from, tree, false);
++- break;
++- }
++- boolean before = (int)wc.getTrees().getSourcePositions().getStartPosition(wc.getCompilationUnit(), from) >= offset;
++- if (fromIdx >=0 && toIdx >= 0 && toIdx - fromIdx > 0) {
++- for (int i = toIdx - 1; i >= fromIdx; i--) {
++- tm.removeComment(tree, i, before);
++- }
++- }
++- wc.rewrite(from, tree);
++- for (Comment comment : comments) {
++- tm.addComment(to, comment, comment.pos() <= offset);
++- }
++- }
++-
++- private static void moveCommentsBeforeOffset(WorkingCopy wc, Tree from, Tree to, int offset, Document doc) {
++- List<Comment> toMove = new LinkedList<>();
++- int idx = 0;
++- for (Comment comment : wc.getTreeUtilities().getComments(from, true)) {
++- if (comment.pos() >= offset || comment.endPos() > offset) {
++- break;
++- }
++-
++- DocumentGuards guards = LineDocumentUtils.as(doc, DocumentGuards.class);
++- if (guards != null) {
++- int epAfterBlock = guards.adjustPosition(comment.pos(), true);
++- // comment that ends exactly at the GB boundary cannot be really
++- // reassigned from the previous member.
++- if (epAfterBlock >= comment.endPos()) {
++- // set new offset, after the guarded block
++- break;
++- }
++- }
++- toMove.add(comment);
++- idx++;
++- }
++- if (toMove.size() > 0) {
++- doMoveComments(wc, from, to, offset, toMove, 0, idx);
++- }
++- }
++
++ /**
++ * Visitor which collects references to class' members. It operates in two modes:
++@@ -1055,22 +879,6 @@ public final class GeneratorUtilities {
++ return make.Method(make.Modifiers(mods), setterName, make.Type(copy.getTypes().getNoType(TypeKind.VOID)), Collections.<TypeParameterTree>emptyList(), params, Collections.<ExpressionTree>emptyList(), body, null);
++ }
++
++- /**
++- * Creates a default lambda body.
++- *
++- * @param lambda a lambda to generate body for
++- * @param method a method of a functional interface to be implemented by the lambda expression
++- * @return the lambda body
++- * @since 2.19
++- */
++- public BlockTree createDefaultLambdaBody(LambdaExpressionTree lambda, ExecutableElement method) {
++- try {
++- String bodyTemplate = "{" + readFromTemplate(LAMBDA_BODY, createBindings(null, method)) + "\n}"; //NOI18N
++- return copy.getTreeMaker().createLambdaBody(lambda, bodyTemplate);
++- } catch (Exception e) {}
++- return copy.getTreeMaker().Block(Collections.emptyList(), false);
++- }
++-
++ private boolean isStarImport(ImportTree imp) {
++ Tree qualIdent = imp.getQualifiedIdentifier();
++ boolean isStar = qualIdent.getKind() == Tree.Kind.MEMBER_SELECT && ((MemberSelectTree)qualIdent).getIdentifier().contentEquals("*"); // NOI18N
++@@ -1139,10 +947,10 @@ public final class GeneratorUtilities {
++ JCCompilationUnit jcut = (JCCompilationUnit)cut;
++ StarImportScope importScope = new StarImportScope((Symbol)pkg);
++ if (jcut.starImportScope != null) {
++- importScope.prependSubScope(((JCCompilationUnit)cut).starImportScope);
+++ importScope.importAll(((JCCompilationUnit)cut).starImportScope);
++ }
++ if (jcut.packge != null) {
++- importScope.prependSubScope(jcut.packge.members_field);
+++ importScope.importAll(jcut.packge.members_field);
++ }
++ for (Element e : elementsToImport) {
++ boolean isStatic = false;
++@@ -1273,9 +1081,9 @@ public final class GeneratorUtilities {
++ Set<Element> explicitNamedImports = new HashSet<Element>();
++ for (Element element : elementsToImport) {
++ if (element.getKind().isClass() || element.getKind().isInterface()) {
++- for (Symbol sym : importScope.getSymbolsByName((com.sun.tools.javac.util.Name)element.getSimpleName())) {
++- if (sym.getKind().isClass() || sym.getKind().isInterface()) {
++- if (sym != element) {
+++ for (Entry e = importScope.lookup((com.sun.tools.javac.util.Name)element.getSimpleName()); e.scope != null; e = e.next()) {
+++ if (e.sym.getKind().isClass() || e.sym.getKind().isInterface()) {
+++ if (e.sym != element) {
++ explicitNamedImports.add(element);
++ }
++ // break if explicitNameImport was added, or when the symbol is correctly resolved.
++@@ -1289,14 +1097,14 @@ public final class GeneratorUtilities {
++ if (entry.getValue() == -1) {
++ for (Element element : entry.getKey().getEnclosedElements()) {
++ if (element.getKind().isClass() || element.getKind().isInterface()) {
++- for (Symbol sym : importScope.getSymbolsByName((com.sun.tools.javac.util.Name)element.getSimpleName())) {
++- if (sym != element) {
+++ for (Entry starEntry = importScope.lookup((com.sun.tools.javac.util.Name)element.getSimpleName()); starEntry.scope != null; starEntry = starEntry.next()) {
+++ if (starEntry.sym != null && starEntry.sym != element) {
++ TypeElement te = null;
++ for (Element e : elementsToImport) {
++ if ((e.getKind().isClass() || e.getKind().isInterface()) && element.getSimpleName() == e.getSimpleName()) {
++ te = (TypeElement) e;
++ break;
++- }
+++ }
++ }
++ if (te != null) {
++ explicitNamedImports.add(te);
++@@ -1304,17 +1112,10 @@ public final class GeneratorUtilities {
++ if (usedTypes == null) {
++ usedTypes = getUsedTypes(cut);
++ }
+++ te = usedTypes.get(element.getSimpleName());
++ if (te != null) {
+++ elementsToImport.add(te);
++ explicitNamedImports.add(te);
++- } else {
++- if (usedTypes == null) {
++- usedTypes = getUsedTypes(cut);
++- }
++- te = usedTypes.get(element.getSimpleName());
++- if (te != null) {
++- elementsToImport.add(te);
++- explicitNamedImports.add(te);
++- }
++ }
++ }
++ }
++@@ -1323,7 +1124,7 @@ public final class GeneratorUtilities {
++ }
++ }
++ if (entry.getValue() < 0 && entry.getKey() instanceof Symbol)
++- importScope.prependSubScope(((Symbol)entry.getKey()).members());
+++ importScope.importAll(((Symbol)entry.getKey()).members());
++ }
++
++ // sort the elements to import
++@@ -1398,7 +1199,7 @@ public final class GeneratorUtilities {
++ }
++
++ // return a copy of the unit with changed imports section
++- return make.CompilationUnit(cut.getPackage(), imports, cut.getTypeDecls(), cut.getSourceFile());
+++ return make.CompilationUnit(cut.getPackageAnnotations(), cut.getPackageName(), imports, cut.getTypeDecls(), cut.getSourceFile());
++ }
++
++ /**
++@@ -1433,49 +1234,8 @@ public final class GeneratorUtilities {
++ : TokenHierarchy.create(unit.getSourceFile().getCharContent(true), JavaTokenId.language());
++ TokenSequence<JavaTokenId> seq = tokens.tokenSequence(JavaTokenId.language());
++ TreePath tp = TreePath.getPath(cut, original);
++- Tree toMap = original;
++- Tree mapTarget = null;
++-
++- if (tp != null && original.getKind() != Kind.COMPILATION_UNIT) {
++- // find some 'nice' place like method/class/field so the comments get an appropriate contents
++- // Javadocs or other comments may be assigned inappropriately with wider surrounding contents.
++- TreePath p2 = tp;
++- boolean first = true;
++- B: while (p2 != null) {
++- Tree.Kind k = p2.getLeaf().getKind();
++- if (StatementTree.class.isAssignableFrom(k.asInterface())) {
++- mapTarget = p2.getLeaf();
++- p2 = p2.getParentPath();
++- break;
++- }
++- switch (p2.getLeaf().getKind()) {
++- case CLASS: case INTERFACE: case ENUM:
++- case METHOD:
++- case BLOCK:
++- case VARIABLE:
++- if (mapTarget == null) {
++- mapTarget = p2.getLeaf();
++- }
++- if (first) {
++- p2 = p2 = p2.getParentPath();
++- }
++- break B;
++- }
++- first = false;
++- p2 = p2.getParentPath();
++- }
++- if (p2 != null) {
++- toMap = p2.getLeaf();
++- }
++- if (toMap == tp.getLeaf()) {
++- // go at least one level up in a hope it's sufficient.
++- toMap = tp.getParentPath().getLeaf();
++- }
++- }
++- if (mapTarget == null) {
++- mapTarget = original;
++- }
++- AssignComments translator = new AssignComments(info, mapTarget, seq, unit);
+++ Tree toMap = (tp != null && original.getKind() != Kind.COMPILATION_UNIT) ? tp.getParentPath().getLeaf() : original;
+++ AssignComments translator = new AssignComments(info, original, seq, unit);
++
++ translator.scan(toMap, null);
++
++@@ -1868,7 +1628,7 @@ public final class GeneratorUtilities {
++ if (element == null)
++ element = elements.getPackageElement(fqn);
++ if (element == null)
++- element = Symtab.instance(copy.impl.getJavacTask().getContext()).enterClass((com.sun.tools.javac.util.Name)elements.getName(fqn));
+++ element = ClassReader.instance(copy.impl.getJavacTask().getContext()).enterClass((com.sun.tools.javac.util.Name)elements.getName(fqn));
++ return element;
++ }
++
++@@ -1926,62 +1686,51 @@ public final class GeneratorUtilities {
++
++ private Map<String, Object> createBindings(TypeElement clazz, ExecutableElement element) {
++ CodeStyle cs = DiffContext.getCodeStyle(copy);
++- Map<String, Object> bindings = new HashMap<>();
++- if (clazz != null) {
++- bindings.put(CLASS_NAME, clazz.getQualifiedName().toString());
++- bindings.put(SIMPLE_CLASS_NAME, clazz.getSimpleName().toString());
++- }
++- if (element != null) {
++- bindings.put(METHOD_NAME, element.getSimpleName().toString());
++- bindings.put(METHOD_RETURN_TYPE, element.getReturnType().toString()); //NOI18N
++- Object value;
++- switch(element.getReturnType().getKind()) {
++- case BOOLEAN:
++- value = "false"; //NOI18N
++- break;
++- case BYTE:
++- case CHAR:
++- case DOUBLE:
++- case FLOAT:
++- case INT:
++- case LONG:
++- case SHORT:
++- value = 0;
++- break;
++- default:
++- value = "null"; //NOI18N
++- }
++- bindings.put(DEFAULT_RETURN_TYPE_VALUE, value);
++- }
++- if (clazz != null && element != null) {
++- StringBuilder sb = new StringBuilder();
++- if (element.isDefault() && element.getEnclosingElement().getKind().isInterface()) {
++- Types types = copy.getTypes();
++- Context ctx = ((JavacTaskImpl) copy.impl.getJavacTask()).getContext();
++- com.sun.tools.javac.code.Types typesImpl = com.sun.tools.javac.code.Types.instance(ctx);
++- TypeMirror enclType = typesImpl.asSuper((Type)clazz.asType(), ((Type)element.getEnclosingElement().asType()).tsym);
++- if (!types.isSubtype(clazz.getSuperclass(), enclType)) {
++- TypeMirror selected = enclType;
++- for (TypeMirror iface : clazz.getInterfaces()) {
++- if (types.isSubtype(iface, selected) &&
++- !types.isSameType(iface, enclType)) {
++- selected = iface;
++- break;
++- }
+++ Map<String, Object> bindings = new HashMap<String, Object>();
+++ bindings.put(CLASS_NAME, clazz.getQualifiedName().toString());
+++ bindings.put(SIMPLE_CLASS_NAME, clazz.getSimpleName().toString());
+++ bindings.put(METHOD_NAME, element.getSimpleName().toString());
+++ bindings.put(METHOD_RETURN_TYPE, element.getReturnType().toString()); //NOI18N
+++ Object value;
+++ switch(element.getReturnType().getKind()) {
+++ case BOOLEAN:
+++ value = "false"; //NOI18N
+++ break;
+++ case BYTE:
+++ case CHAR:
+++ case DOUBLE:
+++ case FLOAT:
+++ case INT:
+++ case LONG:
+++ case SHORT:
+++ value = 0;
+++ break;
+++ default:
+++ value = "null"; //NOI18N
+++ }
+++ bindings.put(DEFAULT_RETURN_TYPE_VALUE, value);
+++ StringBuilder sb = new StringBuilder();
+++ if (element.isDefault() && element.getEnclosingElement().getKind().isInterface()) {
+++ Types types = copy.getTypes();
+++ TypeMirror enclType = element.getEnclosingElement().asType();
+++ if (!types.isSubtype(clazz.getSuperclass(), enclType)) {
+++ for (TypeMirror iface : clazz.getInterfaces()) {
+++ if (types.isSubtype(iface, enclType)) {
+++ sb.append(((DeclaredType)iface).asElement().getSimpleName()).append('.');
+++ break;
++ }
++- sb.append(((DeclaredType)selected).asElement().getSimpleName()).append('.');
++ }
++ }
++- sb.append("super.").append(element.getSimpleName()).append('('); //NOI18N
++- for (Iterator<? extends VariableElement> it = element.getParameters().iterator(); it.hasNext();) {
++- VariableElement ve = it.next();
++- sb.append(addParamPrefixSuffix(removeParamPrefixSuffix(ve, cs), cs));
++- if (it.hasNext())
++- sb.append(","); //NOI18N
++- }
++- sb.append(')'); //NOI18N
++- bindings.put(SUPER_METHOD_CALL, sb);
++ }
+++ sb.append("super.").append(element.getSimpleName()).append('('); //NOI18N
+++ for (Iterator<? extends VariableElement> it = element.getParameters().iterator(); it.hasNext();) {
+++ VariableElement ve = it.next();
+++ sb.append(addParamPrefixSuffix(removeParamPrefixSuffix(ve, cs), cs));
+++ if (it.hasNext())
+++ sb.append(","); //NOI18N
+++ }
+++ sb.append(')'); //NOI18N
+++ bindings.put(SUPER_METHOD_CALL, sb);
++ return bindings;
++ }
++
++@@ -2189,7 +1938,6 @@ public final class GeneratorUtilities {
++
++ private static final String GENERATED_METHOD_BODY = "Templates/Classes/Code/GeneratedMethodBody"; //NOI18N
++ private static final String OVERRIDDEN_METHOD_BODY = "Templates/Classes/Code/OverriddenMethodBody"; //NOI18N
++- private static final String LAMBDA_BODY = "Templates/Classes/Code/LambdaBody"; //NOI18N
++ private static final String METHOD_RETURN_TYPE = "method_return_type"; //NOI18N
++ private static final String DEFAULT_RETURN_TYPE_VALUE = "default_return_value"; //NOI18N
++ private static final String SUPER_METHOD_CALL = "super_method_call"; //NOI18N
++diff --git a/java.source.base/src/org/netbeans/api/java/source/SourceUtils.java b/java.source.base/src/org/netbeans/api/java/source/SourceUtils.java
++index 7cc5de6e7..e666f4201 100644
++--- a/java.source.base/src/org/netbeans/api/java/source/SourceUtils.java
+++++ b/java.source.base/src/org/netbeans/api/java/source/SourceUtils.java
++@@ -74,7 +74,7 @@ import com.sun.source.util.TreePath;
++ import com.sun.source.util.Trees;
++ import com.sun.tools.javac.api.JavacTaskImpl;
++ import com.sun.tools.javac.code.Flags;
++-import com.sun.tools.javac.code.Scope.NamedImportScope;
+++import com.sun.tools.javac.code.Scope.ImportScope;
++ import com.sun.tools.javac.code.Scope.StarImportScope;
++ import com.sun.tools.javac.code.Symbol;
++ import com.sun.tools.javac.code.Symbol.*;
++@@ -87,7 +87,6 @@ import com.sun.tools.javac.tree.JCTree.JCCompilationUnit;
++ import com.sun.tools.javac.util.Context;
++
++ import javax.swing.SwingUtilities;
++-import javax.tools.Diagnostic;
++
++ import org.netbeans.api.annotations.common.CheckForNull;
++ import org.netbeans.api.annotations.common.NonNull;
++@@ -107,11 +106,9 @@ import org.netbeans.api.lexer.TokenSequence;
++ import org.netbeans.modules.java.preprocessorbridge.spi.ImportProcessor;
++ import org.netbeans.modules.java.source.ElementHandleAccessor;
++ import org.netbeans.modules.java.source.JavadocHelper;
++-import org.netbeans.modules.java.source.indexing.FQN2Files;
++ import org.netbeans.modules.java.source.indexing.JavaCustomIndexer;
++ import org.netbeans.modules.java.source.parsing.ClasspathInfoProvider;
++ import org.netbeans.modules.java.source.parsing.FileObjects;
++-import org.netbeans.modules.java.source.parsing.Hacks;
++ import org.netbeans.modules.java.source.parsing.JavacParser;
++ import org.netbeans.modules.java.source.save.DiffContext;
++ import org.netbeans.modules.java.source.usages.ClassIndexImpl;
++@@ -434,16 +431,16 @@ public class SourceUtils {
++ // only import symbols if import generation succeeded
++ JCCompilationUnit unit = (JCCompilationUnit) info.getCompilationUnit();
++ if (toImport.getKind() == ElementKind.PACKAGE) {
++- StarImportScope importScope = new StarImportScope(unit.packge);
++- importScope.prependSubScope(unit.starImportScope);
++- importScope.prependSubScope(((PackageSymbol)toImport).members());
+++ StarImportScope importScope = new StarImportScope(unit.starImportScope.owner);
+++ importScope.importAll(unit.starImportScope);
+++ importScope.importAll(((PackageSymbol)toImport).members());
++ unit.starImportScope = importScope;
++ } else {
++- NamedImportScope importScope = new NamedImportScope(unit.packge, unit.toplevelScope);
++- for (Symbol symbol : unit.namedImportScope.getSymbols()) {
++- importScope.importType(symbol.owner.members(), symbol.owner.members(), symbol);
+++ ImportScope importScope = new ImportScope(unit.namedImportScope.owner);
+++ for (Symbol symbol : unit.namedImportScope.getElements()) {
+++ importScope.enter(symbol);
++ }
++- importScope.importType(((Symbol)toImport).owner.members(), ((Symbol)toImport).owner.members(), (Symbol) toImport);
+++ importScope.enterIfAbsent((Symbol) toImport);
++ unit.namedImportScope = importScope;
++ }
++ } else { // embedded java, look up the handler for the top level language
++@@ -543,11 +540,7 @@ public class SourceUtils {
++ for (String candidate : (List<String>)fnames) {
++ FileObject match = findMatchingChild(candidate, folders, caseSensitive);
++ if (match != null) {
++- FileObject ownerRoot = sourcePath.entries().isEmpty() ? root : sourcePath.findOwnerRoot(match);
++- FQN2Files fQN2Files = ownerRoot != null ? FQN2Files.forRoot(ownerRoot.toURL()) : null;
++- if (fQN2Files == null || !fQN2Files.check(signature[0], match.toURL())) {
++- return match;
++- }
+++ return match;
++ }
++ }
++ }
++@@ -1046,16 +1039,20 @@ public class SourceUtils {
++ * class names.
++ */
++ private static Object getSourceFileNames (String classFileName) {
++- int index = classFileName.lastIndexOf('$');
+++ int max = classFileName.length() - 1;
+++ int index = classFileName.indexOf('$');
++ if (index == -1) {
++ return classFileName;
++ }
++ List<String> ll = new ArrayList<>(3);
++- ll.add(classFileName);
++- while (index >= 0) {
+++ do {
++ ll.add(classFileName.substring(0, index));
++- index = classFileName.lastIndexOf('$', index - 1);
++- }
+++ if (index >= max) {
+++ break;
+++ }
+++ index = classFileName.indexOf('$', index + 1);
+++ } while (index >= 0);
+++ ll.add(classFileName);
++ return ll;
++ }
++
++@@ -1106,11 +1103,6 @@ public class SourceUtils {
++
++ if (tm.getKind() == TypeKind.DECLARED) {
++ DeclaredType dt = (DeclaredType) tm;
++- TypeElement el = (TypeElement) dt.asElement();
++- if (((DeclaredType)el.asType()).getTypeArguments().size() != dt.getTypeArguments().size()) {
++- return info.getTypes().getDeclaredType(el);
++- }
++-
++ List<TypeMirror> typeArguments = new LinkedList<>();
++
++ for (TypeMirror t : dt.getTypeArguments()) {
++@@ -1119,9 +1111,9 @@ public class SourceUtils {
++
++ final TypeMirror enclosingType = dt.getEnclosingType();
++ if (enclosingType.getKind() == TypeKind.DECLARED) {
++- return info.getTypes().getDeclaredType((DeclaredType) enclosingType, el, typeArguments.toArray(new TypeMirror[0]));
+++ return info.getTypes().getDeclaredType((DeclaredType) enclosingType, (TypeElement) dt.asElement(), typeArguments.toArray(new TypeMirror[0]));
++ } else {
++- return info.getTypes().getDeclaredType(el, typeArguments.toArray(new TypeMirror[0]));
+++ return info.getTypes().getDeclaredType((TypeElement) dt.asElement(), typeArguments.toArray(new TypeMirror[0]));
++ }
++ }
++
++@@ -1168,6 +1160,14 @@ public class SourceUtils {
++
++ while(path != null) {
++ switch(path.getLeaf().getKind()) {
+++ case BLOCK:
+++ if (path.getParentPath().getLeaf().getKind() == Tree.Kind.LAMBDA_EXPRESSION)
+++ break;
+++ case ANNOTATION_TYPE:
+++ case CLASS:
+++ case ENUM:
+++ case INTERFACE:
+++ return refs;
++ case VARIABLE:
++ el = trees.getElement(path);
++ if (el != null) {
++@@ -1186,7 +1186,7 @@ public class SourceUtils {
++ }
++ }
++ }
++- break;
+++ return refs;
++ case ENHANCED_FOR_LOOP:
++ EnhancedForLoopTree efl = (EnhancedForLoopTree)path.getLeaf();
++ if (sourcePositions.getEndPosition(path.getCompilationUnit(), efl.getExpression()) >= pos) {
++@@ -1434,19 +1434,4 @@ public class SourceUtils {
++ }
++ return res;
++ }
++-
++-
++- /**
++- * Extracts diagnostic params from a diagnostic. Gets under hood of Javac
++- * Diagnostic objects and extracts parameters which are otherwise just used
++- * to produce a message. <b>Keep in mind that the positions and types of parameters
++- * may change in each nbjavac update!</b>
++- * @param d diagnostic
++- * @param index parameter index to extract
++- * @return parameter value, null if index is out of range
++- * @since 2.20
++- */
++- public static Object getDiagnosticParam(Diagnostic<?> d, int index) {
++- return Hacks.getDiagnosticParam(d, index);
++- }
++ }
++diff --git a/java.source.base/src/org/netbeans/api/java/source/TreeMaker.java b/java.source.base/src/org/netbeans/api/java/source/TreeMaker.java
++index 061fbfbde..6c2b9e86e 100644
++--- a/java.source.base/src/org/netbeans/api/java/source/TreeMaker.java
+++++ b/java.source.base/src/org/netbeans/api/java/source/TreeMaker.java
++@@ -390,23 +390,7 @@ public final class TreeMaker {
++ return delegate.CompilationUnit(packageAnnotations, packageName, imports, typeDeclarations, sourceFile);
++ }
++
++- /**
++- * Creates a new CompilationUnitTree.
++- *
++- * @param pkg a tree representing the package statement.
++- * @param imports a list of import statements.
++- * @param typeDeclarations a list of type (class, interface or enum) declarations.
++- * @param sourceFile the source file associated with this compilation unit.
++- * @see com.sun.source.tree.CompilationUnitTree
++- * @since 2.12
++- */
++- public CompilationUnitTree CompilationUnit(PackageTree pkg,
++- List<? extends ImportTree> imports,
++- List<? extends Tree> typeDeclarations,
++- JavaFileObject sourceFile) {
++- return delegate.CompilationUnit(pkg, imports, typeDeclarations, sourceFile);
++- }
++-
+++
++ /**
++ * Creates a new CompilationUnitTree.
++ * @param sourceRoot a source root under which the new file is created
++@@ -3142,26 +3126,6 @@ public final class TreeMaker {
++ }
++
++ /**
++- * Creates a new BlockTree for provided <tt>bodyText</tt>.
++- *
++- * @param lambda figures out the scope for attribution.
++- * @param bodyText text which will be used for lambda body creation.
++- * @return a new tree for <tt>bodyText</tt>.
++- * @since 2.19
++- */
++- public BlockTree createLambdaBody(LambdaExpressionTree lambda, String bodyText) {
++- SourcePositions[] positions = new SourcePositions[1];
++- final TreeUtilities treeUtils = copy.getTreeUtilities();
++- StatementTree body = treeUtils.parseStatement(bodyText, positions);
++- assert Tree.Kind.BLOCK == body.getKind() : "Not a statement block!";
++- Scope scope = copy.getTrees().getScope(TreePath.getPath(copy.getCompilationUnit(), lambda));
++- treeUtils.attributeTree(body, scope);
++- mapComments((BlockTree) body, bodyText, copy, handler, positions[0]);
++- new TreePosCleaner().scan(body, null);
++- return (BlockTree) body;
++- }
++-
++- /**
++ * Creates a new MethodTree.
++ *
++ * @param modifiers the modifiers of this method.
++diff --git a/java.source.base/src/org/netbeans/api/java/source/TreeUtilities.java b/java.source.base/src/org/netbeans/api/java/source/TreeUtilities.java
++index 91076d0d0..8d6928548 100644
++--- a/java.source.base/src/org/netbeans/api/java/source/TreeUtilities.java
+++++ b/java.source.base/src/org/netbeans/api/java/source/TreeUtilities.java
++@@ -385,7 +385,6 @@ public final class TreeUtilities {
++ break;
++ case SEMICOLON:
++ if (path.getLeaf().getKind() == Tree.Kind.EMPTY_STATEMENT ||
++- path.getLeaf().getKind() == Tree.Kind.TRY ||
++ (path.getLeaf().getKind() == Tree.Kind.FOR_LOOP &&
++ tokenList.offset() <= sourcePositions.getStartPosition(path.getCompilationUnit(), ((ForLoopTree)path.getLeaf()).getUpdate().get(0))))
++ break;
++diff --git a/java.source.base/src/org/netbeans/api/java/source/TypeMirrorHandle.java b/java.source.base/src/org/netbeans/api/java/source/TypeMirrorHandle.java
++index 43ca53091..308414aa5 100644
++--- a/java.source.base/src/org/netbeans/api/java/source/TypeMirrorHandle.java
+++++ b/java.source.base/src/org/netbeans/api/java/source/TypeMirrorHandle.java
++@@ -50,7 +50,6 @@ import com.sun.tools.javac.code.Symtab;
++ import com.sun.tools.javac.code.Type;
++ import com.sun.tools.javac.code.Type.ClassType;
++ import com.sun.tools.javac.code.Type.TypeVar;
++-import com.sun.tools.javac.code.TypeMetadata;
++ import com.sun.tools.javac.code.TypeTag;
++ import com.sun.tools.javac.code.Types;
++ import com.sun.tools.javac.code.Types.DefaultTypeVisitor;
++@@ -290,7 +289,7 @@ public final class TypeMirrorHandle<T extends TypeMirror> {
++ resolvedBounds = resolvedBounds.prepend((Type) resolved);
++ }
++
++- Type ct = t.makeIntersectionType(resolvedBounds.reverse());
+++ Type ct = t.makeCompoundType(resolvedBounds.reverse());
++ ct.getTypeArguments(); //initialize typarams_field
++ return (T) ct;
++ }
++@@ -402,7 +401,7 @@ public final class TypeMirrorHandle<T extends TypeMirror> {
++
++ t = Types.instance(info.impl.getJavacTask().getContext());
++
++- return (T) t.makeIntersectionType(resolvedBounds.toList());
+++ return (T) t.makeCompoundType(resolvedBounds.toList());
++ default:
++ throw new IllegalStateException("Internal error: unknown TypeHandle kind: " + kind);
++ }
++@@ -427,24 +426,13 @@ public final class TypeMirrorHandle<T extends TypeMirror> {
++ private Type delegate = null;
++
++ public PlaceholderType() {
++- this(TypeMetadata.EMPTY);
++- }
++-
++- public PlaceholderType(TypeMetadata md) {
++- super(null, md);
+++ super(null);
++ }
++
++ @Override
++ public TypeTag getTag() {
++ return TypeTag.UNKNOWN;
++ }
++-
++- @Override
++- public Type cloneWithMetadata(TypeMetadata md) {
++- PlaceholderType out = new PlaceholderType(md);
++- out.delegate = delegate;
++- return out;
++- }
++ }
++
++ private static class Visitor extends DefaultTypeVisitor<Void, Void> {
++diff --git a/java.source.base/src/org/netbeans/api/java/source/TypeUtilities.java b/java.source.base/src/org/netbeans/api/java/source/TypeUtilities.java
++index d926d83fa..3a90926a9 100644
++--- a/java.source.base/src/org/netbeans/api/java/source/TypeUtilities.java
+++++ b/java.source.base/src/org/netbeans/api/java/source/TypeUtilities.java
++@@ -43,14 +43,8 @@
++ */
++ package org.netbeans.api.java.source;
++
++-import com.sun.tools.javac.code.Flags;
++ import com.sun.tools.javac.code.Type;
++-import com.sun.tools.javac.code.Type.CapturedType;
++-import com.sun.tools.javac.code.Type.ClassType;
++-import com.sun.tools.javac.code.Type.TypeVar;
++-import com.sun.tools.javac.code.TypeTag;
++ import com.sun.tools.javac.code.Types;
++-import com.sun.tools.javac.model.JavacTypes;
++ import java.util.Arrays;
++ import java.util.EnumSet;
++ import java.util.Iterator;
++@@ -169,99 +163,6 @@ public final class TypeUtilities {
++ return new TypeNameVisitor(opt.contains(TypeNameOptions.PRINT_AS_VARARG)).visit(type, opt.contains(TypeNameOptions.PRINT_FQN)).toString();
++ }
++
++- /**
++- * Returns a TypeMirror which can be represented in a source as a type declarator. The returned TypeMirror,
++- * if not erroneous, can be used as type of a variable or a method's return type. The method will attempt to
++- * infer proper wildcards or bounds.
++- * <p/>
++- * If the type could be represented in source, the method returns a type of {@link TypeKind#ERROR}.
++- *
++- * @param type the type to be polished
++- * @return the representable type or an error type
++- * @since 2.17
++- */
++- public TypeMirror getDenotableType(TypeMirror type) {
++- Types types = Types.instance(info.impl.getJavacTask().getContext());
++- if (type == null) {
++- return types.createErrorType(
++- (Type)JavacTypes.instance(info.impl.getJavacTask().getContext()).getNoType(TypeKind.NONE)
++- );
++- }
++- Type inType = (Type)type;
++- TypeKind tk = type.getKind();
++- if (tk == TypeKind.ERROR) {
++- inType = (Type)info.getTrees().getOriginalType((ErrorType)type);
++- } else if (tk == TypeKind.NONE || tk == TypeKind.OTHER) {
++- return types.createErrorType(inType);
++- }
++- Type t = types.upward(inType, types.captures(inType));
++- if (!t.isErroneous()) {
++- if (!checkDenotable(t)) {
++- return types.createErrorType(t);
++- }
++- }
++- if (t.hasTag(TypeTag.BOT)) {
++- return types.createErrorType(t);
++- } else {
++- return t;
++- }
++- }
++-
++- boolean checkDenotable(Type t) {
++- return denotableChecker.visit(t, null);
++- }
++- // where
++-
++- /** diamondTypeChecker: A type visitor that descends down the given type looking for non-denotable
++- * types. The visit methods return false as soon as a non-denotable type is encountered and true
++- * otherwise.
++- */
++- private static final Types.SimpleVisitor<Boolean, Void> denotableChecker = new Types.SimpleVisitor<Boolean, Void>() {
++- @Override
++- public Boolean visitType(Type t, Void s) {
++- return true;
++- }
++- @Override
++- public Boolean visitClassType(ClassType t, Void s) {
++- if (t.isUnion() || t.isIntersection()) {
++- return false;
++- }
++- for (Type targ : t.allparams()) {
++- if (!visit(targ, s)) {
++- return false;
++- }
++- }
++- return true;
++- }
++-
++- @Override
++- public Boolean visitTypeVar(TypeVar t, Void s) {
++- /* Any type variable mentioned in the inferred type must have been declared as a type parameter
++- (i.e cannot have been produced by inference (18.4))
++- */
++- return (t.tsym.flags() & Flags.SYNTHETIC) == 0;
++- }
++-
++- @Override
++- public Boolean visitCapturedType(CapturedType t, Void s) {
++- /* Any type variable mentioned in the inferred type must have been declared as a type parameter
++- (i.e cannot have been produced by capture conversion (5.1.10))
++- */
++- return false;
++- }
++-
++-
++- @Override
++- public Boolean visitArrayType(Type.ArrayType t, Void s) {
++- return visit(t.elemtype, s);
++- }
++-
++- @Override
++- public Boolean visitWildcardType(Type.WildcardType t, Void s) {
++- return visit(t.type, s);
++- }
++- };
++-
++ /**Options for the {@link #getTypeName(javax.lang.model.type.TypeMirror, org.netbeans.api.java.source.TypeUtilities.TypeNameOptions[]) } method.
++ * @since 0.62
++ */
++diff --git a/java.source.base/src/org/netbeans/api/java/source/WorkingCopy.java b/java.source.base/src/org/netbeans/api/java/source/WorkingCopy.java
++index d9775b955..692e41cfd 100644
++--- a/java.source.base/src/org/netbeans/api/java/source/WorkingCopy.java
+++++ b/java.source.base/src/org/netbeans/api/java/source/WorkingCopy.java
++@@ -46,8 +46,6 @@ package org.netbeans.api.java.source;
++
++ import com.sun.source.doctree.DocCommentTree;
++ import com.sun.source.doctree.DocTree;
++-import com.sun.source.tree.BlockTree;
++-import com.sun.source.tree.CaseTree;
++ import com.sun.source.tree.ClassTree;
++ import com.sun.source.tree.CompilationUnitTree;
++ import com.sun.source.tree.ExpressionStatementTree;
++@@ -86,10 +84,8 @@ import javax.tools.JavaFileObject;
++
++ import com.sun.source.tree.EnhancedForLoopTree;
++ import com.sun.source.tree.ForLoopTree;
++-import com.sun.source.tree.ModifiersTree;
++ import com.sun.source.tree.TreeVisitor;
++ import com.sun.source.tree.TryTree;
++-import com.sun.source.tree.VariableTree;
++ import com.sun.source.util.DocTrees;
++ import java.util.Collection;
++ import java.util.Comparator;
++@@ -559,38 +555,6 @@ public class WorkingCopy extends CompilationController {
++ }
++ }
++
++- /**
++- * Resolves all fields that belong to the same field group.
++- */
++- private static @NonNull Collection<? extends Tree> collectFieldGroup(@NonNull CompilationInfo info,
++- @NonNull TreePath parentPath, Tree leaf) {
++- Iterable<? extends Tree> children;
++-
++- switch (parentPath.getLeaf().getKind()) {
++- case BLOCK: children = ((BlockTree) parentPath.getLeaf()).getStatements(); break;
++- case ANNOTATION_TYPE:
++- case CLASS:
++- case ENUM:
++- case INTERFACE:
++- children = ((ClassTree) parentPath.getLeaf()).getMembers(); break;
++- case CASE: children = ((CaseTree) parentPath.getLeaf()).getStatements(); break;
++- default: children = Collections.singleton(leaf); break;
++- }
++-
++- List<Tree> result = new LinkedList<>();
++- ModifiersTree currentModifiers = ((VariableTree) leaf).getModifiers();
++-
++- for (Tree c : children) {
++- if (c.getKind() != Kind.VARIABLE) continue;
++-
++- if (((VariableTree) c).getModifiers() == currentModifiers) {
++- result.add(c);
++- }
++- }
++-
++- return result;
++- }
++-
++ private List<Difference> processCurrentCompilationUnit(final DiffContext diffContext, final Map<?, int[]> tag2Span) throws IOException, BadLocationException {
++ final Set<TreePath> pathsToRewrite = new LinkedHashSet<TreePath>();
++ final Map<TreePath, Map<Tree, Tree>> parent2Rewrites = new IdentityHashMap<TreePath, Map<Tree, Tree>>();
++@@ -692,44 +656,13 @@ public class WorkingCopy extends CompilationController {
++ return c;
++ }
++
++- /**
++- * True, if inside variable type or modifers part of a variable
++- * or field (not parameter). More efficient detection of field groups.
++- */
++- private boolean beginVariableDeclarator;
++-
++- /**
++- * Will be set to non-null when traversing through variable, which
++- * is a part of variable group.
++- */
++- private TreePath variableParent;
++-
++ @Override
++ public Void scan(Tree tree, Void p) {
++- boolean saveVarDec = beginVariableDeclarator;
++-
++- if (tree != null) {
++- if (tree.getKind() == Tree.Kind.VARIABLE &&
++- collectFieldGroup(WorkingCopy.this,
++- getCurrentPath(), tree).size() > 1) {
++- // start of a variable, which is a part of a variable group
++- variableParent = getCurrentPath();
++- } else if (variableParent != null && getCurrentPath().getLeaf().getKind() == Tree.Kind.VARIABLE) {
++- VariableTree vt = (VariableTree)getCurrentPath().getLeaf();
++- beginVariableDeclarator = vt.getModifiers() == tree || vt.getType() == tree;
++- }
++- }
++ if (changes.containsKey(tree) || docChanges.containsKey(tree)) {
++ if (currentParent == null) {
++- if (beginVariableDeclarator) {
++- // use common variable group parent instead of computed parent,
++- // if rewriting inside common pat of a field group.
++- currentParent = variableParent;
++- } else {
++- currentParent = getParentPath(getCurrentPath(), tree);
++- if (currentParent.getParentPath() != null && currentParent.getParentPath().getLeaf().getKind() == Kind.COMPILATION_UNIT) {
++- currentParent = currentParent.getParentPath();
++- }
+++ currentParent = getParentPath(getCurrentPath(), tree);
+++ if (currentParent.getParentPath() != null && currentParent.getParentPath().getLeaf().getKind() == Kind.COMPILATION_UNIT) {
+++ currentParent = currentParent.getParentPath();
++ }
++ pathsToRewrite.add(currentParent);
++ if (!parent2Rewrites.containsKey(currentParent)) {
++@@ -764,7 +697,6 @@ public class WorkingCopy extends CompilationController {
++ if (currentParent != null && currentParent.getLeaf() == tree) {
++ currentParent = null;
++ }
++- beginVariableDeclarator = saveVarDec;
++ return null;
++ }
++
++@@ -907,7 +839,7 @@ public class WorkingCopy extends CompilationController {
++
++ //tagging debug
++ //System.err.println("brandNew=" + brandNew);
++- new CommentReplicator(presentInResult.keySet()).process(diffContext.origUnit);
+++ new CommentReplicator(presentInResult.keySet()).scan(diffContext.origUnit, null);
++ addCommentsToContext(diffContext);
++ for (ClassTree ct : classes) {
++ ia.classLeft();
++@@ -1062,15 +994,6 @@ public class WorkingCopy extends CompilationController {
++ this.commentHandler = CommentHandlerService.instance(impl.getJavacTask().getContext());
++ }
++
++- private void process(CompilationUnitTree unit) {
++- commentHandler.freeze();
++- try {
++- scan(unit, null);
++- } finally {
++- commentHandler.unFreeze();
++- }
++- }
++-
++ private Object scanAndReduce(Tree node, Object p, Object r) {
++ return reduce(scan(node, p), r);
++ }
++@@ -1172,11 +1095,9 @@ public class WorkingCopy extends CompilationController {
++ return v;
++ }
++ }
++-
++- private static class CopyEntry {
++- private RelativePosition pos;
++- private Tree commentSource;
++- private boolean copyNonEmpty;
+++
+++ private void moveComments(Tree from, Tree to, RelativePosition relPos, Set<Comment> used) {
+++
++ }
++
++ private Tree resolveRewriteHint(Tree orig) {
++@@ -1208,8 +1129,7 @@ public class WorkingCopy extends CompilationController {
++ CompilationUnitTree templateCUT = impl.getJavacTask().parse(FileObjects.sourceFileObject(targetFile, targetFile.getParent())).iterator().next();
++ CompilationUnitTree importComments = GeneratorUtilities.get(this).importComments(templateCUT, templateCUT);
++
++- rewrite(importComments, getTreeMaker().asRemoved(t));
++- //changes.put(importComments, t);
+++ changes.put(importComments, t);
++
++ StringWriter target = new StringWriter();
++
++diff --git a/java.source.base/src/org/netbeans/api/java/source/package.html b/java.source.base/src/org/netbeans/api/java/source/package.html
++index 578c71a88..cd9d9aa26 100644
++--- a/java.source.base/src/org/netbeans/api/java/source/package.html
+++++ b/java.source.base/src/org/netbeans/api/java/source/package.html
++@@ -1,42 +1,3 @@
++-<!--
++-DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++-
++-Copyright (c) 2014, 2016 Oracle and/or its affiliates. All rights reserved.
++-
++-Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++-Other names may be trademarks of their respective owners.
++-
++-The contents of this file are subject to the terms of either the GNU
++-General Public License Version 2 only ("GPL") or the Common
++-Development and Distribution License("CDDL") (collectively, the
++-"License"). You may not use this file except in compliance with the
++-License. You can obtain a copy of the License at
++-http://www.netbeans.org/cddl-gplv2.html
++-or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++-specific language governing permissions and limitations under the
++-License. When distributing the software, include this License Header
++-Notice in each file and include the License file at
++-nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
++-particular file as subject to the "Classpath" exception as provided
++-by Oracle in the GPL Version 2 section of the License file that
++-accompanied this code. If applicable, add the following below the
++-License Header, with the fields enclosed by brackets [] replaced by
++-your own identifying information:
++-"Portions Copyrighted [year] [name of copyright owner]"
++-
++-If you wish your version of this file to be governed by only the CDDL
++-or only the GPL Version 2, indicate your decision by adding
++-"[Contributor] elects to include this software in this distribution
++-under the [CDDL or GPL Version 2] license." If you do not indicate a
++-single choice of license, a recipient has the option to distribute
++-your version of this file under either the CDDL, the GPL Version 2 or
++-to extend the choice of license to its licensees as provided above.
++-However, if you add GPL Version 2 code and therefore, elected the GPL
++-Version 2 license, then the option applies only if the new code is
++-made subject to such option by the copyright holder.
++-
++-Contributor(s):
++--->
++ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
++ <html>
++ <head>
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/JavaSourceUtilImpl.java b/java.source.base/src/org/netbeans/modules/java/source/JavaSourceUtilImpl.java
++index 6d8867e41..3ae8c5ba4 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/JavaSourceUtilImpl.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/JavaSourceUtilImpl.java
++@@ -42,56 +42,9 @@
++
++ package org.netbeans.modules.java.source;
++
++-import com.sun.tools.javac.api.JavacTaskImpl;
++-import java.io.ByteArrayInputStream;
++-import java.io.ByteArrayOutputStream;
++-import java.io.FileNotFoundException;
++ import java.io.IOException;
++-import java.io.InputStream;
++-import java.io.OutputStream;
++-import java.net.URI;
++-import java.util.Collections;
++-import java.util.HashMap;
++-import java.util.Iterator;
++-import java.util.Map;
++-import java.util.Set;
++-import java.util.function.Function;
++-import java.util.logging.Level;
++-import java.util.logging.Logger;
++-import java.util.stream.Collectors;
++-import java.util.stream.StreamSupport;
++-import javax.lang.model.element.TypeElement;
++-import javax.tools.Diagnostic;
++-import javax.tools.DiagnosticListener;
++-import javax.tools.JavaFileManager;
++-import javax.tools.JavaFileObject;
++-import javax.tools.StandardLocation;
++-import org.netbeans.api.annotations.common.NonNull;
++-import org.netbeans.api.annotations.common.NullAllowed;
++-import org.netbeans.api.java.classpath.ClassPath;
++-import org.netbeans.api.java.platform.JavaPlatform;
++-import org.netbeans.api.java.queries.SourceLevelQuery;
++-import org.netbeans.api.java.source.ClasspathInfo;
++ import org.netbeans.api.java.source.JavaSource;
++-import org.netbeans.modules.java.source.classpath.AptSourcePath;
++-import org.netbeans.modules.java.source.classpath.CacheClassPath;
++-import org.netbeans.modules.java.source.indexing.APTUtils;
++-import org.netbeans.modules.java.source.indexing.FQN2Files;
++-import org.netbeans.modules.java.source.indexing.TransactionContext;
++-import org.netbeans.modules.java.source.parsing.CachingArchiveProvider;
++-import org.netbeans.modules.java.source.parsing.CachingFileManager;
++-import org.netbeans.modules.java.source.parsing.FileManagerTransaction;
++-import org.netbeans.modules.java.source.parsing.FileObjects;
++-import org.netbeans.modules.java.source.parsing.InferableJavaFileObject;
++-import org.netbeans.modules.java.source.parsing.JavacParser;
++-import org.netbeans.modules.java.source.parsing.ProcessorGenerated;
++-import org.netbeans.modules.java.source.usages.ClasspathInfoAccessor;
++-import org.netbeans.spi.java.classpath.ClassPathFactory;
++-import org.netbeans.spi.java.classpath.ClassPathImplementation;
++-import org.netbeans.spi.java.classpath.support.ClassPathSupport;
++ import org.openide.filesystems.FileObject;
++-import org.openide.filesystems.FileUtil;
++-import org.openide.util.Parameters;
++
++ /**
++ *
++@@ -99,297 +52,12 @@ import org.openide.util.Parameters;
++ */
++ @org.openide.util.lookup.ServiceProvider(service=org.netbeans.modules.java.preprocessorbridge.spi.JavaSourceUtilImpl.class)
++ public class JavaSourceUtilImpl extends org.netbeans.modules.java.preprocessorbridge.spi.JavaSourceUtilImpl {
++-
++- private static final Logger LOGGER = Logger.getLogger(JavaSourceUtilImpl.class.getName());
++
++ @Override
++ protected long createTaggedCompilationController(FileObject file, long currenTag, Object[] out) throws IOException {
++ assert file != null;
++ final JavaSource js = JavaSource.forFileObject(file);
++- if (js == null) {
++- throw new FileNotFoundException(
++- String.format("No java source for %s, exists: %b, file: %b", //NOI18N
++- FileUtil.getFileDisplayName(file),
++- file.isValid(),
++- file.isData()
++- ));
++- }
++ return JavaSourceAccessor.getINSTANCE().createTaggedCompilationController(js, currenTag, out);
++ }
++
++- @Override
++- @NonNull
++- protected Map<String, byte[]> generate(
++- @NonNull final FileObject srcRoot,
++- @NonNull final FileObject file,
++- @NullAllowed CharSequence content,
++- @NullAllowed final DiagnosticListener<? super JavaFileObject> diagnostics) throws IOException {
++- Parameters.notNull("srcRoot", srcRoot); //NOI18N
++- Parameters.notNull("file", file); //NOI18N
++- final String path = FileUtil.getRelativePath(srcRoot, file);
++- if (path == null) {
++- throw new IllegalArgumentException(String.format(
++- "File: %s not in root: %s", //NOI18N
++- file,
++- srcRoot));
++- }
++- final String[] ncs = FileObjects.getPackageAndName(
++- FileObjects.convertFolder2Package(FileObjects.stripExtension(path)));
++- final JavaFileObject toCompile = FileObjects.memoryFileObject(
++- ncs[0],
++- ncs[1]+'.'+file.getExt(),
++- content);
++- boolean success = false;
++- final TransactionContext ctx = TransactionContext.beginTrans()
++- .register(FileManagerTransaction.class, FileManagerTransaction.writeThrough())
++- .register(ProcessorGenerated.class, ProcessorGenerated.create(srcRoot.toURL()));
++- try {
++- ClassPath src = ClassPath.getClassPath(srcRoot, ClassPath.SOURCE);
++- if (src == null) {
++- src = ClassPathSupport.createClassPath(srcRoot);
++- }
++- ClassPath boot = ClassPath.getClassPath(srcRoot, ClassPath.BOOT);
++- if (boot == null) {
++- boot = JavaPlatform.getDefault().getBootstrapLibraries();
++- }
++- ClassPath compile = ClassPath.getClassPath(srcRoot, ClassPath.COMPILE);
++- if (compile == null) {
++- compile = ClassPath.EMPTY;
++- }
++- final ClassPath srcFin = src;
++- final Function<JavaFileManager.Location,JavaFileManager> jfmProvider =
++- (loc) -> {
++- return loc == StandardLocation.CLASS_OUTPUT ?
++- new OutputFileManager(
++- CachingArchiveProvider.getDefault(),
++- srcFin) :
++- null;
++- };
++- final ClasspathInfo cpInfo = ClasspathInfoAccessor.getINSTANCE().create(
++- boot,
++- compile,
++- src,
++- null,
++- true,
++- true,
++- false,
++- false,
++- jfmProvider);
++- final APTUtils aptUtils = APTUtils.get(srcRoot);
++- final SourceLevelQuery.Result r = SourceLevelQuery.getSourceLevel2(file);
++- final JavacTaskImpl jt = JavacParser.createJavacTask(
++- cpInfo,
++- diagnostics != null ?
++- diagnostics :
++- new Diags(),
++- r.getSourceLevel(),
++- r.getProfile(),
++- null,
++- null,
++- null,
++- aptUtils);
++- final Iterable<? extends JavaFileObject> generated = jt.generate(
++- StreamSupport.stream(jt.analyze(jt.enter(jt.parse(toCompile))).spliterator(), false)
++- .filter((e) -> e.getKind().isClass() || e.getKind().isInterface())
++- .map((e) -> (TypeElement)e)
++- .collect(Collectors.toList()));
++- final Map<String,byte[]> result = new HashMap<>();
++- for (JavaFileObject jfo : generated) {
++- if (jfo instanceof OutputFileManager.MemOutFileObject) {
++- final OutputFileManager.MemOutFileObject mout = (OutputFileManager.MemOutFileObject) jfo;
++- result.put(mout.inferBinaryName(), mout.toByteArray());
++- } else {
++- throw new IOException(String.format(
++- "Unexpected JavaFileObject: %s", //NOI18N
++- jfo));
++- }
++- }
++- success = true;
++- return Collections.unmodifiableMap(result);
++- } finally {
++- if (success) {
++- ctx.commit();
++- } else {
++- ctx.rollBack();
++- }
++- }
++- }
++-
++- private static final class Diags implements DiagnosticListener<JavaFileObject> {
++- @Override
++- public void report(Diagnostic<? extends JavaFileObject> diagnostic) {
++- LOGGER.log(
++- Level.FINE,
++- "{0}", //NOI18N
++- diagnostic);
++- }
++- }
++-
++- private static final class OutputFileManager implements JavaFileManager {
++- private final JavaFileManager readDelegate;
++-
++- OutputFileManager(
++- @NonNull final CachingArchiveProvider cap,
++- @NonNull final ClassPath srcPath) {
++- final ClassPathImplementation srcNoApt = AptSourcePath.sources(srcPath);
++- final ClassPath out = CacheClassPath.forSourcePath (
++- ClassPathFactory.createClassPath(srcNoApt),
++- true);
++- readDelegate = new CachingFileManager(cap, out, false, true);
++- }
++-
++- @Override
++- public Iterable<JavaFileObject> list(Location location, String packageName, Set<JavaFileObject.Kind> kinds, boolean recurse) throws IOException {
++- assertLocation(location, false);
++- return readDelegate.list(location, packageName, kinds, recurse);
++- }
++-
++- @Override
++- public JavaFileObject getJavaFileForInput(Location location, String className, JavaFileObject.Kind kind) throws IOException {
++- assertLocation(location, false);
++- return readDelegate.getJavaFileForInput(location, className, kind);
++- }
++-
++- @Override
++- public javax.tools.FileObject getFileForInput(Location location, String packageName, String relativeName) throws IOException {
++- assertLocation(location, false);
++- return readDelegate.getFileForInput(location, packageName, relativeName);
++- }
++-
++- @Override
++- public JavaFileObject getJavaFileForOutput(Location location, String className, JavaFileObject.Kind kind, javax.tools.FileObject sibling) throws IOException {
++- assertLocation(location, true);
++- final String[] ncs = FileObjects.getPackageAndName(className);
++- return new MemOutFileObject(
++- ncs[0],
++- String.format("%s%s", ncs[1], kind.extension));
++- }
++-
++- @Override
++- public javax.tools.FileObject getFileForOutput(Location location, String packageName, String relativeName, javax.tools.FileObject sibling) throws IOException {
++- assertLocation(location, true);
++- final String resourceName = FileObjects.resolveRelativePath(packageName, relativeName);
++- final String[] ncs = FileObjects.getFolderAndBaseName(resourceName, FileObjects.NBFS_SEPARATOR_CHAR);
++- return new MemOutFileObject(
++- FileObjects.convertFolder2Package(ncs[0]),
++- ncs[1]);
++- }
++-
++- @Override
++- public boolean isSameFile(javax.tools.FileObject a, javax.tools.FileObject b) {
++- if (a == b) {
++- return true;
++- }
++- return a.toUri().equals(b.toUri());
++- }
++-
++- @Override
++- public String inferBinaryName(Location location, JavaFileObject file) {
++- if (hasLocation(location)) {
++- return ((InferableJavaFileObject)file).inferBinaryName();
++- }
++- return null;
++- }
++-
++- @Override
++- public void flush() throws IOException {
++- }
++-
++- @Override
++- public void close() throws IOException {
++- }
++-
++- @Override
++- public boolean hasLocation(Location location) {
++- return location == StandardLocation.CLASS_OUTPUT;
++- }
++-
++- @Override
++- public int isSupportedOption(String string) {
++- return -1;
++- }
++-
++- @Override
++- public boolean handleOption (final String head, final Iterator<String> tail) {
++- return false;
++- }
++-
++- @Override
++- public ClassLoader getClassLoader(Location location) {
++- assertLocation(location, false);
++- return null;
++- }
++-
++- private static void assertLocation(
++- Location l,
++- boolean write) {
++- if (l instanceof StandardLocation) {
++- switch ((StandardLocation)l) {
++- case CLASS_OUTPUT:
++- return;
++- case CLASS_PATH:
++- if (!write) {
++- return;
++- }
++- }
++- }
++- throw new IllegalStateException(String.valueOf(l));
++- }
++-
++- private static final class MemOutFileObject extends FileObjects.Base {
++- private final ByteArrayOutputStream out;
++- private long modified;
++-
++- MemOutFileObject(
++- @NonNull final String pkg,
++- @NonNull final String name) {
++- super(pkg, name, null, true);
++- modified = -1;
++- out = new ByteArrayOutputStream();
++- }
++-
++- @Override
++- public URI toUri() {
++- return URI.create(String.format(
++- "%s/%s", //NOI18N
++- FileObjects.convertPackage2Folder(getPackage()),
++- getName()));
++- }
++-
++- @Override
++- public InputStream openInputStream() throws IOException {
++- return new ByteArrayInputStream(out.toByteArray());
++- }
++-
++- @Override
++- public OutputStream openOutputStream() throws IOException {
++- modified = System.currentTimeMillis();
++- out.reset();
++- return out;
++- }
++-
++- @Override
++- public CharSequence getCharContent(boolean ignoreEncodingErrors) throws IOException {
++- return encoding == null ?
++- new String(out.toByteArray()) :
++- new String(out.toByteArray(), encoding);
++- }
++-
++- @Override
++- public long getLastModified() {
++- return modified;
++- }
++-
++- @Override
++- public boolean delete() {
++- out.reset();
++- return true;
++- }
++-
++- byte[] toByteArray() {
++- return out.toByteArray();
++- }
++- }
++- }
++-
++ }
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/JavadocEnv.java b/java.source.base/src/org/netbeans/modules/java/source/JavadocEnv.java
++index f162ec150..23beccba0 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/JavadocEnv.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/JavadocEnv.java
++@@ -48,7 +48,6 @@ import com.sun.javadoc.ClassDoc;
++ import com.sun.source.util.TreePath;
++ import com.sun.tools.javac.code.Flags;
++ import com.sun.tools.javac.code.Kinds;
++-import com.sun.tools.javac.code.Symbol;
++ import com.sun.tools.javac.code.Symbol.ClassSymbol;
++ import com.sun.tools.javac.code.Symbol.MethodSymbol;
++ import com.sun.tools.javac.code.Symbol.PackageSymbol;
++@@ -430,14 +429,15 @@ public class JavadocEnv extends DocEnv {
++ TypeSymbol s = sym;
++ while(s != null && st.hasMoreTokens()) {
++ Name clsName = nameTable.fromString(st.nextToken());
++- TypeSymbol ts = null;
++- for (Symbol symbol : s.members().getSymbolsByName(clsName)) {
++- if (symbol.kind == Kinds.Kind.TYP && (symbol.flags_field & Flags.SYNTHETIC) == 0) {
++- ts = (TypeSymbol)symbol;
+++ com.sun.tools.javac.code.Scope.Entry e = s.members().lookup(clsName);
+++ s = null;
+++ while (e.scope != null) {
+++ if (e.sym.kind == Kinds.TYP && (e.sym.flags_field & Flags.SYNTHETIC) == 0) {
+++ s = (TypeSymbol)e.sym;
++ break;
++ }
+++ e = e.next();
++ }
++- s = ts;
++ }
++ return s instanceof ClassSymbol ? env.getClassDoc((ClassSymbol)s) : null;
++ }
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/JavadocHelper.java b/java.source.base/src/org/netbeans/modules/java/source/JavadocHelper.java
++index c0b9cec3a..96e641b48 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/JavadocHelper.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/JavadocHelper.java
++@@ -261,6 +261,8 @@ public class JavadocHelper {
++ public URL getLocation(@NonNull final RemoteJavadocPolicy rjp) throws RemoteJavadocException {
++ if (urls.isEmpty()) {
++ return null;
+++ } else if (urls.size() == 1) {
+++ return urls.get(0);
++ } else {
++ Integer index = jdocRoot == null ? null : jdocCache.get(jdocRoot);
++ if (index == null || index >= urls.size()) {
++@@ -283,47 +285,42 @@ public class JavadocHelper {
++ try (Reader reader = charset == null?
++ new InputStreamReader(this.openStream()) :
++ new InputStreamReader(this.openStream(), charset)){
++- if (urls.size() > 1) {
++- final HTMLEditorKit.Parser parser = new ParserDelegator();
++- final int[] state = {-1};
++- try {
++- parser.parse(
++- reader,
++- new HTMLEditorKit.ParserCallback() {
++- @Override
++- public void handleStartTag(HTML.Tag t, MutableAttributeSet a, int pos) {
++- if (state[0] == -1) {
++- if (t == HTML.Tag.A) {
++- final String attrName = (String)a.getAttribute(HTML.Attribute.NAME);
++- if (attrName != null) {
++- if (docLet1.contains(attrName)) {
++- state[0] = 0;
++- } else if (docLet2.contains(attrName)) {
++- state[0] = 1;
++- }
+++ final HTMLEditorKit.Parser parser = new ParserDelegator();
+++ final int[] state = {-1};
+++ try {
+++ parser.parse(
+++ reader,
+++ new HTMLEditorKit.ParserCallback() {
+++ @Override
+++ public void handleStartTag(HTML.Tag t, MutableAttributeSet a, int pos) {
+++ if (state[0] == -1) {
+++ if (t == HTML.Tag.A) {
+++ final String attrName = (String)a.getAttribute(HTML.Attribute.NAME);
+++ if (attrName != null) {
+++ if (docLet1.contains(attrName)) {
+++ state[0] = 0;
+++ } else if (docLet2.contains(attrName)) {
+++ state[0] = 1;
++ }
++ }
++ }
++ }
++- },
++- charset != null);
++- index = state[0] == -1 ? 0 : state[0];
++- if (jdocRoot != null) {
++- jdocCache.put(jdocRoot,index);
++- }
++- break;
++- } catch (ChangedCharSetException e) {
++- if (charset == null) {
++- charset = JavadocHelper.getCharSet(e);
++- //restart with valid charset
++- } else {
++- throw new IOException(e);
++- }
++- }
++- } else {
++- index = 0;
+++ }
+++ },
+++ charset != null);
+++ index = state[0] == -1 ? 0 : state[0];
+++ if (jdocRoot != null) {
+++ jdocCache.put(jdocRoot,index);
+++ }
++ break;
++- }
+++ } catch (ChangedCharSetException e) {
+++ if (charset == null) {
+++ charset = JavadocHelper.getCharSet(e);
+++ //restart with valid charset
+++ } else {
+++ throw new IOException(e);
+++ }
+++ }
++ }
++ }
++ } catch (IOException e) {
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/PostFlowAnalysis.java b/java.source.base/src/org/netbeans/modules/java/source/PostFlowAnalysis.java
++index df0229d5d..887ebeeff 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/PostFlowAnalysis.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/PostFlowAnalysis.java
++@@ -116,6 +116,14 @@ public class PostFlowAnalysis extends TreeScanner {
++ }
++ }
++
+++ private void analyze(Element e) {
+++ if (e instanceof TypeSymbol) {
+++ Env<AttrContext> env = enter.getClassEnv((TypeSymbol)e);
+++ if (env != null)
+++ this.scan(env.toplevel);
+++ }
+++ }
+++
++ @Override
++ public void scan(JCTree tree) {
++ if (tree != null && tree.type != null && tree.type.constValue() != null) {
++@@ -144,7 +152,8 @@ public class PostFlowAnalysis extends TreeScanner {
++ @Override
++ public void visitMethodDef(JCMethodDecl tree) {
++ if (tree.name == names.init &&
++- (currentClass.isInner() || currentClass.isLocal())) {
+++ (currentClass.isInner() ||
+++ (currentClass.owner.kind & (Kinds.VAR | Kinds.MTH)) != 0)) {
++ List<Pair<TypeSymbol, Symbol>> prevOuterThisStack = outerThisStack;
++ try {
++ if (currentClass.hasOuterInstance())
++@@ -164,10 +173,12 @@ public class PostFlowAnalysis extends TreeScanner {
++ return;
++ }
++ Type type = types.erasure(tree.type);
++- for (Symbol sym : s.getSymbolsByName(tree.name)) {
++- if (sym != tree.sym &&
++- types.isSameType(types.erasure(sym.type), type) && !sym.type.isErroneous() && !type.isErroneous()) {
++- log.error(tree.pos(), "name.clash.same.erasure", tree.sym, sym); //NOI18N
+++ for (Scope.Entry e = s.lookup(tree.name);
+++ e.sym != null;
+++ e = e.next()) {
+++ if (e.sym != tree.sym &&
+++ types.isSameType(types.erasure(e.sym.type), type) && !e.sym.type.isErroneous() && !type.isErroneous()) {
+++ log.error(tree.pos(), "name.clash.same.erasure", tree.sym, e.sym); //NOI18N
++ return;
++ }
++ }
++@@ -178,7 +189,7 @@ public class PostFlowAnalysis extends TreeScanner {
++ super.visitNewClass(tree);
++ Symbol c = tree.constructor != null ? tree.constructor.owner : null;
++ if (c != null && c.hasOuterInstance()) {
++- if (tree.encl == null && c.isLocal()) {
+++ if (tree.encl == null && (c.owner.kind & (Kinds.MTH | Kinds.VAR)) != 0) {
++ checkThis(tree.pos(), c.type.getEnclosingType().tsym);
++ }
++ }
++@@ -194,7 +205,7 @@ public class PostFlowAnalysis extends TreeScanner {
++ Symbol c = meth.owner;
++ if (c.hasOuterInstance()) {
++ checkThis = false;
++- if (tree.meth.getTag() != JCTree.Tag.SELECT && (c.isLocal() || methName == names._this)) {
+++ if (tree.meth.getTag() != JCTree.Tag.SELECT && ((c.owner.kind & (Kinds.MTH | Kinds.VAR)) != 0 || methName == names._this)) {
++ checkThis(tree.meth.pos(), c.type.getEnclosingType().tsym);
++ }
++ }
++@@ -230,7 +241,7 @@ public class PostFlowAnalysis extends TreeScanner {
++ }
++ ot = ots.head;
++ } while (ot.snd != otc);
++- if (otc.owner.kind != Kinds.Kind.PCK && !otc.hasOuterInstance()) {
+++ if (otc.owner.kind != Kinds.PCK && !otc.hasOuterInstance()) {
++ log.error(pos, "cant.ref.before.ctor.called", c); //NOI18N
++ return;
++ }
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/TreeLoader.java b/java.source.base/src/org/netbeans/modules/java/source/TreeLoader.java
++index d009cd498..955b2bf3f 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/TreeLoader.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/TreeLoader.java
++@@ -414,7 +414,6 @@ public class TreeLoader extends LazyTreeLoader {
++ @NonNull final ClassSymbol clazz,
++ @NonNull final HashMap<ClassSymbol, JCClassDecl> syms2trees) throws IOException {
++ Log log = Log.instance(jti.getContext());
++- JavaCompiler compiler = JavaCompiler.instance(jti.getContext());
++ JavaFileObject prevLogTo = log.useSource(null);
++ DiscardDiagnosticHandler discardDiagnosticHandler = new Log.DiscardDiagnosticHandler(log);
++ final TaskListener listener = new TaskListener() {
++@@ -430,16 +429,13 @@ public class TreeLoader extends LazyTreeLoader {
++ public void finished(TaskEvent e) {
++ }
++ };
++- boolean oldSkipAP = compiler.skipAnnotationProcessing;
++ try {
++- compiler.skipAnnotationProcessing = true;
++ jti.addTaskListener(listener);
++ jti.generate(Collections.singletonList(clazz));
++ } catch (InvalidSourcePath isp) {
++ LOGGER.log(Level.INFO, "InvalidSourcePath reported when writing sym file for class: {0}", clazz.flatname); // NOI18N
++ } finally {
++ jti.removeTaskListener(listener);
++- compiler.skipAnnotationProcessing = oldSkipAP;
++ log.popDiagnosticHandler(discardDiagnosticHandler);
++ log.useSource(prevLogTo);
++ }
++@@ -667,11 +663,11 @@ public class TreeLoader extends LazyTreeLoader {
++ assert methodName != null : "Null methodName. Signature: [" + signature + "], Names: [" + names + "]";
++ assert paramTypes.size() == paramNames.size() : "Inconsistent param types/names. Signature: [" + signature + "], Names: [" + names + "]";
++ if (paramNames.size() > 0) {
++- for (Symbol s : clazz.members().getSymbolsByName(isCtor
+++ for (Scope.Entry e = clazz.members().lookup(isCtor
++ ? clazz.name.table.names.init
++- : clazz.name.table.fromString(methodName))) {
++- if (s.kind == Kinds.Kind.MTH && s.owner == clazz) {
++- MethodSymbol sym = (MethodSymbol)s;
+++ : clazz.name.table.fromString(methodName)); e.scope != null; e = e.next()) {
+++ if (e.sym.kind == Kinds.MTH && e.sym.owner == clazz) {
+++ MethodSymbol sym = (MethodSymbol)e.sym;
++ List<VarSymbol> params = sym.params;
++ if (checkParamTypes(params, paramTypes)) {
++ for (String name : paramNames) {
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/base/Bundle.properties b/java.source.base/src/org/netbeans/modules/java/source/base/Bundle.properties
++index 819020cf1..bf0762d16 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/base/Bundle.properties
+++++ b/java.source.base/src/org/netbeans/modules/java/source/base/Bundle.properties
++@@ -1,40 +1,3 @@
++-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++-#
++-# Copyright (c) 2014, 2016 Oracle and/or its affiliates. All rights reserved.
++-#
++-# Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++-# Other names may be trademarks of their respective owners.
++-#
++-# The contents of this file are subject to the terms of either the GNU
++-# General Public License Version 2 only ("GPL") or the Common
++-# Development and Distribution License("CDDL") (collectively, the
++-# "License"). You may not use this file except in compliance with the
++-# License. You can obtain a copy of the License at
++-# http://www.netbeans.org/cddl-gplv2.html
++-# or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++-# specific language governing permissions and limitations under the
++-# License. When distributing the software, include this License Header
++-# Notice in each file and include the License file at
++-# nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
++-# particular file as subject to the "Classpath" exception as provided
++-# by Oracle in the GPL Version 2 section of the License file that
++-# accompanied this code. If applicable, add the following below the
++-# License Header, with the fields enclosed by brackets [] replaced by
++-# your own identifying information:
++-# "Portions Copyrighted [year] [name of copyright owner]"
++-#
++-# If you wish your version of this file to be governed by only the CDDL
++-# or only the GPL Version 2, indicate your decision by adding
++-# "[Contributor] elects to include this software in this distribution
++-# under the [CDDL or GPL Version 2] license." If you do not indicate a
++-# single choice of license, a recipient has the option to distribute
++-# your version of this file under either the CDDL, the GPL Version 2 or
++-# to extend the choice of license to its licensees as provided above.
++-# However, if you add GPL Version 2 code and therefore, elected the GPL
++-# Version 2 license, then the option applies only if the new code is
++-# made subject to such option by the copyright holder.
++-#
++-# Contributor(s):
++ OpenIDE-Module-Display-Category=Java
++ OpenIDE-Module-Name=Java Source Base
++ LBL_HTTPJavadocDownload=Downloading HTTP Javadoc
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/builder/CommentHandlerService.java b/java.source.base/src/org/netbeans/modules/java/source/builder/CommentHandlerService.java
++index a97d8547e..6b08641d4 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/builder/CommentHandlerService.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/builder/CommentHandlerService.java
++@@ -83,8 +83,6 @@ public class CommentHandlerService implements CommentHandler {
++
++ private final Map<Tree, CommentSetImpl> map = new HashMap<Tree, CommentSetImpl>();
++
++- private boolean frozen;
++-
++ private CommentHandlerService(Context context) {
++ }
++
++@@ -99,20 +97,6 @@ public class CommentHandlerService implements CommentHandler {
++ return m;
++ }
++
++- public void freeze() {
++- frozen = true;
++- for (CommentSetImpl impl : map.values()) {
++- impl.commentsFrozen(true);
++- }
++- }
++-
++- public void unFreeze() {
++- frozen = false;
++- for (CommentSetImpl impl : map.values()) {
++- impl.commentsFrozen(false);
++- }
++- }
++-
++ public boolean hasComments(Tree tree) {
++ synchronized (map) {
++ return map.containsKey(tree);
++@@ -126,9 +110,6 @@ public class CommentHandlerService implements CommentHandler {
++ // note - subsequent change to the CommentSetImpl will clone the old (empty) set of comments into CommentSetImpl
++ // optimization NOT to retain empty CSImpls is not possible; the caller may modify the return value.
++ cs = new CommentSetImpl();
++- if (frozen) {
++- cs.commentsFrozen(frozen);
++- }
++ map.put(tree, cs);
++ }
++ return cs;
++@@ -159,9 +140,6 @@ public class CommentHandlerService implements CommentHandler {
++ CommentSetImpl to = map.get(toTree);
++ if (to == null) {
++ map.put(toTree, to = new CommentSetImpl());
++- if (frozen) {
++- to.commentsFrozen(true);
++- }
++ }
++ for (RelativePosition pos : RelativePosition.values()) {
++ int index = 0;
++@@ -187,7 +165,6 @@ public class CommentHandlerService implements CommentHandler {
++ if (last == -1) {
++ last = l.size() - 1;
++ }
++- CopyEntry en = new CopyEntry();
++ for (index = first; index <= last; index++) {
++ Comment c = l.get(index);
++ if (copied != null && !copied.add(c)) {
++@@ -200,12 +177,6 @@ public class CommentHandlerService implements CommentHandler {
++ }
++ }
++
++- private static class CopyEntry {
++- private Tree target;
++- private RelativePosition pos;
++- private Collection<Comment> comments = new ArrayList();
++- }
++-
++ /**
++ * Add a comment to a tree's comment set. If a comment set
++ * for the tree doesn't exist, one will be created.
++@@ -215,9 +186,6 @@ public class CommentHandlerService implements CommentHandler {
++ CommentSetImpl set = map.get(tree);
++ if (set == null) {
++ set = new CommentSetImpl();
++- if (frozen) {
++- set.commentsFrozen(frozen);
++- }
++ map.put(tree, set);
++ }
++ set.addPrecedingComment(c);
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/builder/CommentSetImpl.java b/java.source.base/src/org/netbeans/modules/java/source/builder/CommentSetImpl.java
++index 2a04b8368..4213087a1 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/builder/CommentSetImpl.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/builder/CommentSetImpl.java
++@@ -161,10 +161,10 @@ public final class CommentSetImpl implements Cloneable, CommentSet {
++ * was made after that point yet. When first change occurs, the original comment Map
++ * should be cloned and preserved for code generation phase.
++ *
++- * @return true, if this is the first comment change.
+++ * @return
++ */
++ private boolean trackFirstChange() {
++- return (commentsMapped || commentsFrozen) && !changed;
+++ return commentsMapped && !changed;
++ }
++
++ /**
++@@ -277,22 +277,9 @@ public final class CommentSetImpl implements Cloneable, CommentSet {
++ return sb.toString();
++ }
++
++- /**
++- * @return indicate that comments for this Tree were mapped in from source.
++- */
++ public boolean areCommentsMapped() {
++ return commentsMapped;
++ }
++-
++- /**
++- * Temporary flag during comment replication, which makes CommentSet to pretend
++- * it has all the comments already, so any change will result in comment cloning.
++- */
++- private boolean commentsFrozen;
++-
++- public void commentsFrozen(boolean freeze) {
++- this.commentsFrozen = freeze;
++- }
++
++ public void commentsMapped() {
++ commentsMapped = true;
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/builder/ElementsService.java b/java.source.base/src/org/netbeans/modules/java/source/builder/ElementsService.java
++index c33173d5e..40210487e 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/builder/ElementsService.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/builder/ElementsService.java
++@@ -49,7 +49,6 @@ import com.sun.tools.javac.code.Flags;
++ import com.sun.tools.javac.util.Name;
++ import com.sun.tools.javac.util.Names;
++ import com.sun.tools.javac.code.Scope;
++-import com.sun.tools.javac.code.Source;
++ import com.sun.tools.javac.code.Symbol;
++ import com.sun.tools.javac.code.Symbol.ClassSymbol;
++ import com.sun.tools.javac.code.Symbol.MethodSymbol;
++@@ -71,7 +70,6 @@ public class ElementsService {
++ private com.sun.tools.javac.code.Types jctypes;
++ private Names names;
++ private Types types;
++- private final boolean allowDefaultMethods;
++
++ private static final Context.Key<ElementsService> KEY =
++ new Context.Key<ElementsService>();
++@@ -88,7 +86,6 @@ public class ElementsService {
++ jctypes = com.sun.tools.javac.code.Types.instance(context);
++ names = Names.instance(context);
++ types = JavacTypes.instance(context);
++- allowDefaultMethods = Source.instance(context).allowDefaultMethods();
++ }
++
++ /**
++@@ -124,10 +121,11 @@ public class ElementsService {
++ if ((m.flags() & Flags.STATIC) == 0) {
++ ClassSymbol owner = (ClassSymbol) m.owner;
++ for (Type sup = jctypes.supertype(m.owner.type);
++- sup.hasTag(TypeTag.CLASS);
++- sup = jctypes.supertype(sup)) {
++- for (Symbol sym : sup.tsym.members().getSymbolsByName(m.name)) {
++- if (m.overrides(sym, owner, jctypes, true))
+++ sup.hasTag(TypeTag.CLASS);
+++ sup = jctypes.supertype(sup)) {
+++ for (Scope.Entry e = sup.tsym.members().lookup(m.name);
+++ e.scope != null; e = e.next()) {
+++ if (m.overrides(e.sym, owner, jctypes, true))
++ return true;
++ }
++ }
++@@ -143,8 +141,9 @@ public class ElementsService {
++ MethodSymbol m = (MethodSymbol)element;
++ TypeSymbol owner = (TypeSymbol) m.owner;
++ for (Type type : jctypes.interfaces(m.owner.type)) {
++- for (Symbol sym : type.tsym.members().getSymbolsByName(m.name)) {
++- if (m.overrides(sym, owner, jctypes, true))
+++ for (Scope.Entry e = type.tsym.members().lookup(m.name);
+++ e.scope != null; e = e.next()) {
+++ if (m.overrides(e.sym, owner, jctypes, true))
++ return true;
++ }
++ }
++@@ -156,11 +155,10 @@ public class ElementsService {
++ ClassSymbol clazz = (ClassSymbol)enclClass;
++ Scope scope = clazz.members();
++ Name n = names.fromString(name.toString());
++- for (Symbol sym : scope.getSymbolsByName(n, Scope.LookupKind.NON_RECURSIVE)) {
++- if(sym.type instanceof ExecutableType &&
++- types.isSubsignature(meth, (ExecutableType)sym.type))
+++ for(Scope.Entry e = scope.lookup(n); e.scope==scope; e = e.next())
+++ if(e.sym.type instanceof ExecutableType &&
+++ types.isSubsignature(meth, (ExecutableType)e.sym.type))
++ return true;
++- }
++ return false;
++ }
++
++@@ -172,12 +170,11 @@ public class ElementsService {
++ for (TypeMirror tm : paramTypes) {
++ buff.append((Type)tm);
++ }
++- for (Symbol sym : scope.getSymbolsByName(n, Scope.LookupKind.NON_RECURSIVE)) {
++- if(sym.type instanceof ExecutableType &&
++- jctypes.containsTypeEquivalent(sym.type.asMethodType().getParameterTypes(), buff.toList()) &&
++- jctypes.isSameType(sym.type.asMethodType().getReturnType(), (Type)returnType))
+++ for(Scope.Entry e = scope.lookup(n); e.scope==scope; e = e.next())
+++ if(e.sym.type instanceof ExecutableType &&
+++ jctypes.containsTypeEquivalent(e.sym.type.asMethodType().getParameterTypes(), buff.toList()) &&
+++ jctypes.isSameType(e.sym.type.asMethodType().getReturnType(), (Type)returnType))
++ return true;
++- }
++ return false;
++ }
++
++@@ -194,11 +191,12 @@ public class ElementsService {
++ // Check if this method overrides a deprecated method.
++ TypeSymbol owner = sym.enclClass();
++ for (Type sup = jctypes.supertype(owner.type);
++- sup.hasTag(TypeTag.CLASS);
++- sup = jctypes.supertype(sup)) {
++- for (Symbol symbol : sup.tsym.members().getSymbolsByName(sym.name)) {
++- if (sym.overrides(symbol, owner, jctypes, true) &&
++- (symbol.flags() & Flags.DEPRECATED) != 0)
+++ sup.hasTag(TypeTag.CLASS);
+++ sup = jctypes.supertype(sup)) {
+++ for (Scope.Entry e = sup.tsym.members().lookup(sym.name);
+++ e.scope != null; e = e.next()) {
+++ if (sym.overrides(e.sym, owner, jctypes, true) &&
+++ (e.sym.flags() & Flags.DEPRECATED) != 0)
++ return true;
++ }
++ }
++@@ -215,49 +213,9 @@ public class ElementsService {
++ ((Symbol.ClassSymbol)element).fullname :
++ Symbol.TypeSymbol.formFullName(sym.name, sym.owner);
++ }
++-
++- private static boolean hasImplementation(MethodSymbol msym) {
++- long f = msym.flags();
++- return ((f & Flags.DEFAULT) != 0) || ((f & Flags.ABSTRACT) == 0);
++- }
++
++ public Element getImplementationOf(ExecutableElement method, TypeElement origin) {
++- MethodSymbol msym = (MethodSymbol)method;
++- MethodSymbol implmethod = (msym).implementation((TypeSymbol)origin, jctypes, true);
++- if ((msym.flags() & Flags.STATIC) != 0) {
++- // return null if outside of hierarchy, or the method itself if origin extends method's class
++- if (jctypes.isSubtype(((TypeSymbol)origin).type, ((TypeSymbol)((MethodSymbol)method).owner).type)) {
++- return method;
++- } else {
++- return null;
++- }
++- }
++- if (implmethod == null || implmethod == method) {
++- //look for default implementations
++- if (allowDefaultMethods) {
++- com.sun.tools.javac.util.List<MethodSymbol> candidates = jctypes.interfaceCandidates(((TypeSymbol) origin).type, (MethodSymbol) method);
++- X: for (com.sun.tools.javac.util.List<MethodSymbol> ptr = candidates; ptr.head != null; ptr = ptr.tail) {
++- MethodSymbol prov = ptr.head;
++- if (prov != null && prov.overrides((MethodSymbol) method, (TypeSymbol) origin, jctypes, true) &&
++- hasImplementation(prov)) {
++- // PENDING: even if `prov' overrides the method, there may be a different method, in different interface, that overrides `method'
++- // 'prov' must override all such compatible methods in order to present a valid implementation of `method'.
++- for (com.sun.tools.javac.util.List<MethodSymbol> sibling = candidates; sibling.head != null; sibling = sibling.tail) {
++- MethodSymbol redeclare = sibling.head;
++-
++- // if the default method does not override the alternative candidate from an interface, then the default will be rejected
++- // as specified in JLS #8, par. 8.4.8
++- if (!prov.overrides(redeclare, (TypeSymbol)origin, jctypes, allowDefaultMethods)) {
++- break X;
++- }
++- }
++- implmethod = prov;
++- break;
++- }
++- }
++- }
++- }
++- return implmethod;
+++ return ((MethodSymbol)method).implementation((TypeSymbol)origin, jctypes, true);
++ }
++
++ public boolean isSynthetic(Element e) {
++@@ -266,41 +224,24 @@ public class ElementsService {
++
++ public ExecutableElement getOverriddenMethod(ExecutableElement method) {
++ MethodSymbol m = (MethodSymbol)method;
++- if ((m.flags() & Flags.STATIC) != 0) {
++- return null;
++- }
++ ClassSymbol origin = (ClassSymbol)m.owner;
++ MethodSymbol bridgeCandidate = null;
++- for (Type t = jctypes.supertype(origin.type); t.hasTag(TypeTag.CLASS); t = jctypes.supertype(t)) {
++- TypeSymbol c = t.tsym;
++- for (Symbol sym : c.members().getSymbolsByName(m.name)) {
++- if (m.overrides(sym, origin, jctypes, false)) {
++- if ((sym.flags() & Flags.BRIDGE) > 0) {
++- if (bridgeCandidate == null) {
++- bridgeCandidate = (MethodSymbol)sym;
++- }
++- } else {
++- return (MethodSymbol)sym;
++- }
++- }
++- }
++- }
++- if (allowDefaultMethods) {
++- for (com.sun.tools.javac.util.List<MethodSymbol> candidates = jctypes.interfaceCandidates(((TypeSymbol) origin).type, (MethodSymbol) method);
++- candidates != null; candidates = candidates.tail) {
++- MethodSymbol prov = candidates.head;
++- if (prov != null && prov != method && m.overrides(prov, origin, jctypes, true) &&
++- hasImplementation(prov)) {
++- if ((prov.flags() & Flags.BRIDGE) > 0) {
+++ for (Type t = jctypes.supertype(origin.type); t.hasTag(TypeTag.CLASS); t = jctypes.supertype(t)) {
+++ TypeSymbol c = t.tsym;
+++ Scope.Entry e = c.members().lookup(m.name);
+++ while (e.scope != null) {
+++ if (m.overrides(e.sym, origin, jctypes, false)) {
+++ if ((e.sym.flags() & Flags.BRIDGE) > 0) {
++ if (bridgeCandidate == null) {
++- bridgeCandidate = (MethodSymbol)prov;
+++ bridgeCandidate = (MethodSymbol)e.sym;
++ }
++ } else {
++- return (MethodSymbol)prov;
+++ return (MethodSymbol)e.sym;
++ }
++ }
++- }
++- }
+++ e = e.next();
+++ }
+++ }
++ return bridgeCandidate;
++ }
++ }
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/builder/TreeFactory.java b/java.source.base/src/org/netbeans/modules/java/source/builder/TreeFactory.java
++index 359d777cb..1899a021d 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/builder/TreeFactory.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/builder/TreeFactory.java
++@@ -285,41 +285,27 @@ public class TreeFactory {
++ return Class(flags, (com.sun.tools.javac.util.List<JCAnnotation>) modifiers.getAnnotations(), simpleName, Collections.<TypeParameterTree>emptyList(), null, implementsClauses, memberDecls);
++ }
++
++- public CompilationUnitTree CompilationUnit(PackageTree packageDecl,
++- List<? extends ImportTree> importDecls,
++- List<? extends Tree> typeDecls,
++- JavaFileObject sourceFile) {
++-
++- ListBuffer<JCTree> defs = new ListBuffer<>();
++- if (packageDecl != null) {
++- defs.append((JCTree)packageDecl);
++- }
++- if (importDecls != null) {
++- for (Tree t : importDecls) {
++- defs.append((JCTree)t);
++- }
++- }
++- if (typeDecls != null) {
++- for (Tree t : typeDecls) {
++- defs.append((JCTree)t);
++- }
++- }
++- JCCompilationUnit unit = make.at(NOPOS).TopLevel(defs.toList());
++- unit.sourcefile = sourceFile;
++- return unit;
++- }
++-
++ public CompilationUnitTree CompilationUnit(@NonNull List<? extends AnnotationTree> packageAnnotations,
++ ExpressionTree packageDecl,
++ List<? extends ImportTree> importDecls,
++ List<? extends Tree> typeDecls,
++ JavaFileObject sourceFile) {
++
++- ListBuffer<JCAnnotation> annotations = new ListBuffer<>();
+++ ListBuffer<JCAnnotation> annotations = new ListBuffer<JCAnnotation>();
++ for (AnnotationTree at : packageAnnotations) {
++ annotations.add((JCAnnotation) at);
++ }
++- return CompilationUnit(packageDecl != null ? make.at(NOPOS).PackageDecl(annotations.toList(), (JCExpression) packageDecl) : null, importDecls, typeDecls, sourceFile);
+++ ListBuffer<JCTree> defs = new ListBuffer<JCTree>();
+++ if (importDecls != null)
+++ for (Tree t : importDecls)
+++ defs.append((JCTree)t);
+++ if (typeDecls != null)
+++ for (Tree t : typeDecls)
+++ defs.append((JCTree)t);
+++ JCCompilationUnit unit = make.at(NOPOS).TopLevel(annotations.toList(),
+++ (JCExpression)packageDecl, defs.toList());
+++ unit.sourcefile = sourceFile;
+++ return unit;
++ }
++
++ public CompoundAssignmentTree CompoundAssignment(Kind operator,
++@@ -414,14 +400,6 @@ public class TreeFactory {
++ }
++
++ public IfTree If(ExpressionTree condition, StatementTree thenStatement, StatementTree elseStatement) {
++- if (thenStatement != null &&
++- thenStatement.getKind() == Tree.Kind.IF &&
++- elseStatement != null &&
++- ((IfTree)thenStatement).getElseStatement() == null) {
++- // Issue #257910: special case - if `thenStatement' is just inserted into the source.
++- // If the nested if contains `else' clause, it gets paired correctly.
++- thenStatement = Block(Collections.singletonList(thenStatement), false);
++- }
++ return make.at(NOPOS).If((JCExpression)condition, (JCStatement)thenStatement, (JCStatement)elseStatement);
++ }
++
++@@ -630,13 +608,6 @@ public class TreeFactory {
++ (JCClassDecl)classBody);
++ }
++
++- public PackageTree Package(List<? extends AnnotationTree> annotations, ExpressionTree pid) {
++- ListBuffer<JCAnnotation> anns = new ListBuffer<JCAnnotation>();
++- for (AnnotationTree t : annotations)
++- anns.append((JCAnnotation)t);
++- return make.at(NOPOS).PackageDecl(anns.toList(), (JCExpression)pid);
++- }
++-
++ public ParameterizedTypeTree ParameterizedType(Tree type,
++ List<? extends Tree> typeArguments) {
++ ListBuffer<JCExpression> typeargs = new ListBuffer<JCExpression>();
++@@ -692,7 +663,7 @@ public class TreeFactory {
++ public ExpressionTree QualIdent(Element element) {
++ Symbol s = (Symbol) element;
++
++- if (s.owner != null && (s.owner.kind == Kinds.Kind.MTH || s.owner.name.isEmpty())) {
+++ if (s.owner != null && (s.owner.kind == Kinds.MTH || s.owner.name.isEmpty())) {
++ JCIdent result = make.at(NOPOS).Ident(s);
++ result.setType(s.type);
++ return result;
++@@ -1686,7 +1657,7 @@ public class TreeFactory {
++ for (DocTree t : tags) {
++ tg.append((DCTree) t);
++ }
++- return docMake.at(NOPOS).DocComment(fs.toList(), bd.toList(), tg.toList());
+++ return docMake.at(NOPOS).DocComment(null, fs.toList(), bd.toList(), tg.toList());
++ }
++
++ public com.sun.source.doctree.ErroneousTree Erroneous(String text, DiagnosticSource diagSource, String code, Object... args) {
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/indexing/APTUtils.java b/java.source.base/src/org/netbeans/modules/java/source/indexing/APTUtils.java
++index 3d00a2914..2e349a765 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/indexing/APTUtils.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/indexing/APTUtils.java
++@@ -52,26 +52,19 @@ import java.lang.ref.Reference;
++ import java.lang.ref.SoftReference;
++ import java.lang.ref.WeakReference;
++ import java.net.URL;
++-import java.net.URLConnection;
++ import java.util.Arrays;
++ import java.util.Collection;
++ import java.util.Collections;
++ import java.util.Enumeration;
++ import java.util.HashMap;
++-import java.util.HashSet;
++ import java.util.Iterator;
++ import java.util.LinkedList;
++ import java.util.List;
++ import java.util.Map;
++-import java.util.Optional;
++-import java.util.Set;
++ import java.util.WeakHashMap;
++ import java.util.concurrent.atomic.AtomicReference;
++-import java.util.function.Consumer;
++-import java.util.function.Predicate;
++ import java.util.logging.Level;
++ import java.util.logging.Logger;
++-import java.util.stream.Collectors;
++ import javax.annotation.processing.Processor;
++ import javax.swing.event.ChangeEvent;
++ import javax.swing.event.ChangeListener;
++@@ -81,12 +74,10 @@ import org.netbeans.api.annotations.common.NullAllowed;
++ import org.netbeans.api.java.classpath.ClassPath;
++ import org.netbeans.api.java.classpath.JavaClassPathConstants;
++ import org.netbeans.api.java.queries.AnnotationProcessingQuery;
++-import org.netbeans.api.java.queries.SourceForBinaryQuery;
++ import org.netbeans.api.java.queries.SourceLevelQuery;
++ import org.netbeans.api.project.Project;
++ import org.netbeans.api.project.ui.OpenProjects;
++ import org.netbeans.modules.java.source.parsing.CachingArchiveClassLoader;
++-import org.netbeans.modules.java.source.usages.LongHashMap;
++ import org.netbeans.modules.parsing.api.indexing.IndexingManager;
++ import org.netbeans.modules.parsing.impl.indexing.PathRegistry;
++ import org.openide.filesystems.FileObject;
++@@ -95,7 +86,6 @@ import org.openide.util.Exceptions;
++ import org.openide.util.Lookup;
++ import org.openide.util.RequestProcessor;
++ import org.openide.util.BaseUtilities;
++-import org.openide.util.Pair;
++ import org.openide.util.WeakListeners;
++ import org.openide.util.lookup.Lookups;
++
++@@ -110,11 +100,9 @@ public class APTUtils implements ChangeListener, PropertyChangeListener {
++ private static final String BOOT_PATH = "bootPath"; //NOI18N
++ private static final String COMPILE_PATH = "compilePath"; //NOI18N
++ private static final String APT_ENABLED = "aptEnabled"; //NOI18N
++- private static final String APT_DIRTY = "aptDirty"; //NOI18N
++ private static final String ANNOTATION_PROCESSORS = "annotationProcessors"; //NOI18N
++ private static final String SOURCE_LEVEL_ROOT = "sourceLevel"; //NOI18N
++ private static final String JRE_PROFILE = "jreProfile"; //NOI18N
++- private static final int PATH_FLAG_EXISTS = 1;
++ private static final Map<URL, APTUtils> knownSourceRootsMap = new HashMap<URL, APTUtils>();
++ private static final Map<FileObject, Reference<APTUtils>> auxiliarySourceRootsMap = new WeakHashMap<FileObject, Reference<APTUtils>>();
++ private static final Lookup HARDCODED_PROCESSORS = Lookups.forPath("Editors/text/x-java/AnnotationProcessors");
++@@ -128,7 +116,6 @@ public class APTUtils implements ChangeListener, PropertyChangeListener {
++ private final AnnotationProcessingQuery.Result aptOptions;
++ private final SourceLevelQuery.Result sourceLevel;
++ private final RequestProcessor.Task slidingRefresh;
++- private final UsedRoots usedRoots;
++ private volatile ClassLoaderRef classLoaderCache;
++
++ private APTUtils(@NonNull final FileObject root) {
++@@ -138,7 +125,7 @@ public class APTUtils implements ChangeListener, PropertyChangeListener {
++ processorPath = new AtomicReference<>(ClassPath.getClassPath(root, JavaClassPathConstants.PROCESSOR_PATH));
++ aptOptions = AnnotationProcessingQuery.getAnnotationProcessingOptions(root);
++ sourceLevel = SourceLevelQuery.getSourceLevel2(root);
++- slidingRefresh = RP.create(new Runnable() {
+++ this.slidingRefresh = RP.create(new Runnable() {
++ @Override
++ public void run() {
++ IndexingManager.getDefault().refreshIndex(
++@@ -147,14 +134,14 @@ public class APTUtils implements ChangeListener, PropertyChangeListener {
++ false);
++ }
++ });
++- usedRoots = new UsedRoots(root.toURL());
++ }
++
++- @CheckForNull
+++ @NonNull
++ public static APTUtils get(final FileObject root) {
++ if (root == null) {
++ return null;
++ }
+++
++ final URL rootUrl = root.toURL();
++ if (knownSourceRootsMap.containsKey(rootUrl)) {
++ APTUtils utils = knownSourceRootsMap.get(rootUrl);
++@@ -168,15 +155,11 @@ public class APTUtils implements ChangeListener, PropertyChangeListener {
++
++ Reference<APTUtils> utilsRef = auxiliarySourceRootsMap.get(root);
++ APTUtils utils = utilsRef != null ? utilsRef.get() : null;
++- if (utils != null) {
++- return utils;
++- }
++
++- if (isAptBuildGeneratedFolder(root)) {
++- return null;
+++ if (utils == null) {
+++ auxiliarySourceRootsMap.put(root, new WeakReference<APTUtils>(utils = create(root)));
++ }
++
++- auxiliarySourceRootsMap.put(root, new WeakReference<APTUtils>(utils = create(root)));
++ return utils;
++ }
++
++@@ -235,19 +218,6 @@ public class APTUtils implements ChangeListener, PropertyChangeListener {
++ return utils;
++ }
++
++- private static boolean isAptBuildGeneratedFolder(@NonNull final FileObject root) {
++- final ClassPath scp = ClassPath.getClassPath(root, ClassPath.SOURCE);
++- if (scp != null) {
++- for (FileObject srcRoot : scp.getRoots()) {
++- if (root.toURL().equals(
++- AnnotationProcessingQuery.getAnnotationProcessingOptions(srcRoot).sourceOutputDirectory())) {
++- return true;
++- }
++- }
++- }
++- return false;
++- }
++-
++ public boolean aptEnabledOnScan() {
++ return aptOptions.annotationProcessingEnabled().contains(AnnotationProcessingQuery.Trigger.ON_SCAN);
++ }
++@@ -269,10 +239,7 @@ public class APTUtils implements ChangeListener, PropertyChangeListener {
++ if (pp == null) {
++ pp = ClassPath.EMPTY;
++ }
++- cl = CachingArchiveClassLoader.forClassPath(
++- pp,
++- new BypassOpenIDEUtilClassLoader(Context.class.getClassLoader()),
++- usedRoots);
+++ cl = CachingArchiveClassLoader.forClassPath(pp, new BypassOpenIDEUtilClassLoader(Context.class.getClassLoader()));
++ classLoaderCache = !DISABLE_CLASSLOADER_CACHE ? new ClassLoaderRef(cl, root) : null;
++ }
++ Collection<Processor> result = lookupProcessors(cl, onScan);
++@@ -294,10 +261,11 @@ public class APTUtils implements ChangeListener, PropertyChangeListener {
++ public void propertyChange(PropertyChangeEvent evt) {
++ if (ClassPath.PROP_ROOTS.equals(evt.getPropertyName())) {
++ classLoaderCache = null;
++- if (verifyProcessorPath(root, usedRoots)) {
++- slidingRefresh.schedule(SLIDING_WINDOW);
++- }
++ }
+++ if (verifyAttributes(root, true)) {
+++ slidingRefresh.schedule(SLIDING_WINDOW);
+++
+++ }
++ }
++
++ private void listen() {
++@@ -356,41 +324,35 @@ public class APTUtils implements ChangeListener, PropertyChangeListener {
++ return result;
++ }
++
++- @NonNull
++- private Iterable<? extends String> getProcessorNames(@NonNull final ClassLoader cl) {
+++ private Iterable<? extends String> getProcessorNames(ClassLoader cl) {
+++ Collection<String> result = new LinkedList<String>();
++ try {
++- return CachingArchiveClassLoader.readAction(() -> {
++- Collection<String> result = new LinkedList<>();
++- Enumeration<URL> resources = cl.getResources("META-INF/services/" + Processor.class.getName()); //NOI18N
++- while (resources.hasMoreElements()) {
++- BufferedReader ins = null;
++- try {
++- final URLConnection uc = resources.nextElement().openConnection();
++- uc.setUseCaches(false);
++- ins = new BufferedReader(new InputStreamReader(uc.getInputStream(), "UTF-8")); //NOI18N
++- String line;
++- while ((line = ins.readLine()) != null) {
++- int hash = line.indexOf('#');
++- line = hash != (-1) ? line.substring(0, hash) : line;
++- line = line.trim();
++- if (line.length() > 0) {
++- result.add(line);
++- }
++- }
++- } catch (IOException ex) {
++- LOG.log(Level.FINE, null, ex);
++- } finally {
++- if (ins != null) {
++- ins.close();
+++ Enumeration<URL> resources = cl.getResources("META-INF/services/" + Processor.class.getName()); //NOI18N
+++ while (resources.hasMoreElements()) {
+++ BufferedReader ins = null;
+++ try {
+++ ins = new BufferedReader(new InputStreamReader(resources.nextElement().openStream(), "UTF-8")); //NOI18N
+++ String line;
+++ while ((line = ins.readLine()) != null) {
+++ int hash = line.indexOf('#');
+++ line = hash != (-1) ? line.substring(0, hash) : line;
+++ line = line.trim();
+++ if (line.length() > 0) {
+++ result.add(line);
++ }
++ }
+++ } catch (IOException ex) {
+++ LOG.log(Level.FINE, null, ex);
+++ } finally {
+++ if (ins != null) {
+++ ins.close();
+++ }
++ }
++- return result;
++- });
++- } catch (Exception ex) {
+++ }
+++ } catch (IOException ex) {
++ LOG.log(Level.FINE, null, ex);
++- return Collections.emptySet();
++ }
+++ return result;
++ }
++
++ boolean verifyAttributes(FileObject fo, boolean checkOnly) {
++@@ -400,15 +362,6 @@ public class APTUtils implements ChangeListener, PropertyChangeListener {
++ try {
++ final ClassPath pp = validatePaths();
++ final URL url = fo.toURL();
++- String val = JavaIndex.getAttribute(url, APT_DIRTY, null);
++- if (Boolean.parseBoolean(val)) {
++- JavaIndex.LOG.fine("forcing reindex due to processors dirty"); //NOI18N
++- vote = true;
++- if (checkOnly) {
++- return vote;
++- }
++- JavaIndex.setAttribute(url, APT_DIRTY, null);
++- }
++ if (JavaIndex.ensureAttributeValue(url, SOURCE_LEVEL_ROOT, sourceLevel.getSourceLevel(), checkOnly)) {
++ JavaIndex.LOG.fine("forcing reindex due to source level change"); //NOI18N
++ vote = true;
++@@ -423,14 +376,14 @@ public class APTUtils implements ChangeListener, PropertyChangeListener {
++ return vote;
++ }
++ }
++- if (JavaIndex.ensureAttributeValue(url, BOOT_PATH, pathToString(bootPath), checkOnly)) {
+++ if (JavaIndex.ensureAttributeValue(url, BOOT_PATH, pathToString(bootPath),checkOnly)) {
++ JavaIndex.LOG.fine("forcing reindex due to boot path change"); //NOI18N
++ vote = true;
++ if (checkOnly) {
++ return vote;
++ }
++ }
++- if (JavaIndex.ensureAttributeValue(url, COMPILE_PATH, pathToString(compilePath), checkOnly)) {
+++ if (JavaIndex.ensureAttributeValue(url, COMPILE_PATH, pathToString(compilePath),checkOnly)) {
++ JavaIndex.LOG.fine("forcing reindex due to compile path change"); //NOI18N
++ vote = true;
++ if (checkOnly) {
++@@ -449,7 +402,7 @@ public class APTUtils implements ChangeListener, PropertyChangeListener {
++ //no need to check further:
++ return vote;
++ }
++- if (JavaIndex.ensureAttributeValue(url, PROCESSOR_PATH, pathToFlaggedString(pp, false), checkOnly)) {
+++ if (JavaIndex.ensureAttributeValue(url, PROCESSOR_PATH, pathToString(pp), checkOnly)) {
++ JavaIndex.LOG.fine("forcing reindex due to processor path change"); //NOI18N
++ vote = true;
++ if (checkOnly) {
++@@ -469,115 +422,6 @@ public class APTUtils implements ChangeListener, PropertyChangeListener {
++ return vote;
++ }
++
++- private boolean verifyProcessorPath(
++- @NonNull final FileObject root,
++- @NonNull final UsedRoots usedRoots) {
++- try {
++- final LongHashMap<? extends File> used = usedRoots.getRoots();
++- final URL url = root.toURL();
++- final ClassPath pp = validatePaths();
++- final Set<File> currentExitingFiles = pp.entries().stream()
++- .map((e) -> e.getRoot())
++- .filter((fo) -> fo != null && fo.isValid())
++- .map((fo) -> FileUtil.isArchiveArtifact(fo) ? FileUtil.getArchiveFile(fo) : fo)
++- .filter((fo) -> fo != null && fo.isValid())
++- .map(FileUtil::toFile)
++- .filter((file) -> file != null)
++- .collect(Collectors.toSet());
++- final Set<File> currentAllFiles = pp.entries().stream()
++- .map((e) -> FileUtil.archiveOrDirForURL(e.getURL()))
++- .filter((file) -> file != null)
++- .collect(Collectors.toSet());
++-
++- final Set<File> oldExistingFiles = new HashSet<>();
++- final Set<File> oldAllFiles = new HashSet<>();
++- final String raw = JavaIndex.getAttribute(url, PROCESSOR_PATH, ""); //NOI18N
++- if (!raw.isEmpty()) {
++- final String[] parts = raw.split(File.pathSeparator);
++- for (int i=0; i < parts.length; i+=2) {
++- final File f = new File(parts[i]);
++- int flags = PATH_FLAG_EXISTS;
++- try {
++- if (i+1 < parts.length) {
++- flags = Integer.parseInt(parts[i+1]);
++- }
++- } catch (NumberFormatException nfe) {
++- //pass with PATH_FLAG_USED set
++- }
++- oldAllFiles.add(f);
++- if ((flags & PATH_FLAG_EXISTS) == PATH_FLAG_EXISTS) {
++- oldExistingFiles.add(f);
++- }
++- }
++- }
++- Set<File> added = new HashSet<>(currentExitingFiles);
++- added.removeAll(oldExistingFiles);
++- Set<File> removed = new HashSet<>(oldExistingFiles);
++- removed.removeAll(currentExitingFiles);
++- LOG.log(Level.FINEST, "Added: {0}", added); //NOI18N
++- LOG.log(Level.FINEST, "Removed: {0}", removed); //NOI18N
++- if (!added.isEmpty() || !removed.isEmpty()) {
++- JavaIndex.setAttribute(url, PROCESSOR_PATH, pathToFlaggedString(pp, true));
++- }
++- boolean res = false;
++-
++- for (Iterator<File> it = removed.iterator(); it.hasNext();) {
++- File f = it.next();
++- if (!currentAllFiles.contains(f)) {
++- LOG.log(Level.FINEST, "Removed from path: {0}", f); //NOI18N
++- it.remove();
++- usedRoots.remove(f);
++- res = true;
++- }
++- }
++- final Predicate<File> pUsed = (f) -> used == null || used.containsKey(f);
++- final Predicate<Pair<File,Long>> pModified = (p) -> used == null || p.second() == -1 || used.get(p.first()) != p.second();
++- final Predicate<File> pNotProjDep = (f) -> {
++- final URL furl = FileUtil.urlForArchiveOrDir(f);
++- return furl == null ?
++- true :
++- !hasSourceCache(furl);
++- };
++- removed = removed.stream()
++- .filter(pUsed)
++- .filter(pNotProjDep)
++- .collect(Collectors.toSet());
++- if (!removed.isEmpty()) {
++- LOG.log(Level.FINEST, "Important deleted: {0}", removed); //NOI18N
++- res = true;
++- }
++-
++- for (Iterator<File> it = added.iterator(); it.hasNext();) {
++- final File f = it.next();
++- if(!oldAllFiles.contains(f)) {
++- LOG.log(Level.FINEST, "Added to path: {0}", f); //NOI18N
++- it.remove();
++- res = true;
++- }
++- }
++- final Collection<Pair<File,Long>> times = added.stream()
++- .filter(pUsed)
++- .map((f) -> Pair.of(f, f.isFile() ? f.length() : -1))
++- .filter(pModified)
++- .collect(Collectors.toList());
++- if (!times.isEmpty()) {
++- LOG.log(Level.FINEST, "Important changed: {0}", times); //NOI18N
++- for (Pair<File,Long> p : times) {
++- usedRoots.update(p.first(), p.second());
++- }
++- res = true;
++- }
++- if (res) {
++- JavaIndex.setAttribute(url, APT_DIRTY, Boolean.TRUE.toString());
++- JavaIndex.LOG.fine("forcing reindex due to processor path change"); //NOI18N
++- }
++- return res;
++- } catch (IOException ioe) {
++- Exceptions.printStackTrace(ioe);
++- return false;
++- }
++- }
++-
++ @NonNull
++ private static String pathToString(@NullAllowed ClassPath cp) {
++ final StringBuilder b = new StringBuilder();
++@@ -588,43 +432,24 @@ public class APTUtils implements ChangeListener, PropertyChangeListener {
++ final FileObject fo = cpe.getRoot();
++ if (fo != null) {
++ final URL u = fo.toURL();
++- append(b, u);
++- } else if (hasSourceCache(cpe.getURL())) {
++- final URL u = cpe.getURL();
++- append(b,u);
+++ final File f = FileUtil.archiveOrDirForURL(u);
+++ if (f != null) {
+++ if (b.length() > 0) {
+++ b.append(File.pathSeparatorChar);
+++ }
+++ b.append(f.getAbsolutePath());
+++ } else {
+++ if (b.length() > 0) {
+++ b.append(File.pathSeparatorChar);
+++ }
+++ b.append(u);
+++ }
++ }
++ }
++ return b.toString();
++ }
++
++- /**
++- * Translated classpath to String (ENTRY PATH_SEPARATOR FLAGS) (PATH_SEPARATOR ENTRY PATH_SEPARATOR FLAGS)*
++- * @param cp the classpath to translate
++- * @return the translated classpath
++- */
++- @NonNull
++- private static String pathToFlaggedString(
++- @NullAllowed ClassPath cp,
++- final boolean checkArchiveFile) {
++- final StringBuilder b = new StringBuilder();
++- if (cp == null) {
++- cp = ClassPath.EMPTY;
++- }
++- for (final ClassPath.Entry cpe : cp.entries()) {
++- //Entry.getRoot() returns root which is valid for deleted jar
++- //in ClassPath.PROP_ROOTS event
++- final boolean exists = Optional.ofNullable(cpe.getRoot())
++- .map((fo) -> (checkArchiveFile && FileUtil.isArchiveArtifact(fo)) ? FileUtil.getArchiveFile(fo) : fo)
++- .map((fo) -> checkArchiveFile ? fo.isValid() : true)
++- .orElse(Boolean.FALSE);
++- append(b,cpe.getURL())
++- .append(File.pathSeparatorChar)
++- .append(exists ? PATH_FLAG_EXISTS : 0);
++- }
++- return b.toString();
++- }
++-
++- private static String encodeToStirng(Iterable<? extends String> strings) {
+++ private String encodeToStirng(Iterable<? extends String> strings) {
++ if (strings == null)
++ return null;
++ StringBuilder sb = new StringBuilder();
++@@ -636,29 +461,6 @@ public class APTUtils implements ChangeListener, PropertyChangeListener {
++ return sb.length() > 0 ? sb.toString() : null;
++ }
++
++- @NonNull
++- private static StringBuilder append (
++- @NonNull final StringBuilder builder,
++- @NonNull final URL url) {
++- final File f = FileUtil.archiveOrDirForURL(url);
++- if (f != null) {
++- if (builder.length() > 0) {
++- builder.append(File.pathSeparatorChar);
++- }
++- builder.append(f.getAbsolutePath());
++- } else {
++- if (builder.length() > 0) {
++- builder.append(File.pathSeparatorChar);
++- }
++- builder.append(url);
++- }
++- return builder;
++- }
++-
++- private static boolean hasSourceCache(@NonNull final URL root) {
++- return SourceForBinaryQuery.findSourceRoots2(root).preferSources();
++- }
++-
++ //keep synchronized with libs.javacapi/manifest.mf and libs.javacimpl/manifest.mf
++ //when adding new packages, double-check the quick path in loadClass below:
++ private static final Iterable<? extends String> javacPackages = Arrays.asList("com.sun.javadoc.", "com.sun.source.", "javax.annotation.processing.", "javax.lang.model.", "javax.tools.", "com.sun.tools.javac.", "com.sun.tools.javadoc.", "com.sun.tools.classfile.", "com.sun.tools.hc.");
++@@ -716,166 +518,4 @@ public class APTUtils implements ChangeListener, PropertyChangeListener {
++ return archiveFile != null ? root.lastModified().getTime() : -1L;
++ }
++ }
++-
++- private static final class UsedRoots implements Consumer<URL> {
++- private static final String ATTR_USED_PROC = "apUsed"; //NOI18N
++- private static final int DEFERRED_SAVE = 2_500; //ms
++- private static final LongHashMap<File> TOMBSTONE = new LongHashMap<>();
++- private static final RequestProcessor SAVER = new RequestProcessor(
++- UsedRoots.class.getName(),
++- 1,
++- false,
++- false);
++- private final URL root;
++- private final RequestProcessor.Task saveTask;
++- //@GuardedBy("this")
++- private LongHashMap<File> used;
++-
++- UsedRoots(@NonNull final URL root) {
++- this.root = root;
++- this.saveTask = SAVER.create(()->save());
++- }
++-
++- @Override
++- public void accept(@NonNull final URL url) {
++- synchronized (this) {
++- load();
++- if (used == null || used == TOMBSTONE) {
++- used = new LongHashMap<>();
++- }
++- final File f = FileUtil.archiveOrDirForURL(url);
++- if (f != null) {
++- final long size = f.isFile() ?
++- f.length() :
++- -1;
++- if (!used.containsKey(f)) {
++- used.put(f, size);
++- saveTask.schedule(DEFERRED_SAVE);
++- }
++- }
++- }
++- }
++-
++- void update(
++- @NonNull final File file,
++- final long size) {
++- synchronized (this) {
++- load();
++- if (used == null || used == TOMBSTONE) {
++- used = new LongHashMap<>();
++- }
++- if (used.put(file, size) != size) {
++- saveTask.schedule(DEFERRED_SAVE);
++- }
++- }
++- }
++-
++- void remove(@NonNull final File file) {
++- synchronized (this) {
++- load();
++- if (used == null || used == TOMBSTONE) {
++- return;
++- }
++- if (used.remove(file) != LongHashMap.NO_VALUE) {
++- saveTask.schedule(DEFERRED_SAVE);
++- }
++- }
++- }
++-
++- void reset() {
++- synchronized (this) {
++- used = TOMBSTONE;
++- }
++- }
++-
++- @CheckForNull
++- LongHashMap<? extends File> getRoots() {
++- final LongHashMap<File> res = load();
++- return res == TOMBSTONE ?
++- null :
++- res;
++- }
++-
++- @NonNull
++- private synchronized LongHashMap<File> load() {
++- if (used == null) {
++- try {
++- final String raw = JavaIndex.getAttribute(
++- root,
++- ATTR_USED_PROC,
++- null);
++- if (raw != null && !raw.isEmpty()) {
++- LongHashMap<File> s = new LongHashMap<>();
++- final String[] parts = raw.split(File.pathSeparator);
++- for (int i = 0; i < parts.length; i+=2) {
++- final File f = new File(parts[i]);
++- long size = -1;
++- if (i+1 < parts.length) {
++- try {
++- size = Long.parseLong(parts[i+1]);
++- } catch (NumberFormatException e) {
++- LOG.log(
++- parts[i+1].isEmpty() ?
++- Level.FINE :
++- Level.WARNING,
++- "Wrong size of {0}: {1}", //NOI18N
++- new Object[]{
++- f.getAbsolutePath(),
++- parts[i+1]
++- });
++- }
++- }
++- s.put(f, size);
++- }
++- used = s;
++- } else {
++- used = TOMBSTONE;
++- }
++- } catch (IOException ioe) {
++- Exceptions.printStackTrace(ioe);
++- used = TOMBSTONE;
++- }
++- }
++- assert used != null;
++- return used;
++- }
++-
++- private void save() {
++- final LongHashMap<File> toSave;
++- synchronized (this) {
++- toSave = used == TOMBSTONE ?
++- null :
++- new LongHashMap<File>(used);
++- }
++- final String val;
++- if (toSave == null) {
++- val = null;
++- } else {
++- final StringBuilder raw = new StringBuilder();
++- for (LongHashMap.Entry<File> e : toSave.entrySet()) {
++- if (raw.length() != 0) {
++- raw.append(File.pathSeparatorChar);
++- }
++- raw.append(e.getKey().getAbsolutePath());
++- raw.append(File.pathSeparator);
++- raw.append(e.getValue());
++- }
++- val = raw.toString();
++- }
++- try {
++- JavaIndex.setAttribute(
++- root,
++- ATTR_USED_PROC,
++- val);
++- } catch (IOException ioe) {
++- Exceptions.printStackTrace(ioe);
++- } finally {
++- synchronized (this) {
++- if (used == TOMBSTONE) {
++- used = null;
++- }
++- }
++- }
++- }
++- }
++ }
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/indexing/COSSynchronizingIndexer.java b/java.source.base/src/org/netbeans/modules/java/source/indexing/COSSynchronizingIndexer.java
++index 34aaca19a..03e24e994 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/indexing/COSSynchronizingIndexer.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/indexing/COSSynchronizingIndexer.java
++@@ -54,7 +54,6 @@ import java.util.Set;
++ import java.util.logging.Level;
++ import java.util.logging.Logger;
++ import org.netbeans.api.java.classpath.ClassPath;
++-import org.netbeans.modules.java.preprocessorbridge.spi.CompileOnSaveAction;
++ import org.netbeans.modules.java.source.usages.BuildArtifactMapperImpl;
++ import org.netbeans.modules.parsing.impl.indexing.IndexerCache;
++ import org.netbeans.modules.parsing.impl.indexing.IndexerCache.IndexerInfo;
++@@ -81,7 +80,7 @@ public class COSSynchronizingIndexer extends CustomIndexer {
++ if (FileUtil.getArchiveFile(rootURL) != null) {
++ return;
++ }
++- if (!BuildArtifactMapperImpl.isUpdateResources(rootURL)) {
+++ if (!BuildArtifactMapperImpl.isUpdateResources(BuildArtifactMapperImpl.getTargetFolder(rootURL))) {
++ return ;
++ }
++
++@@ -157,11 +156,7 @@ public class COSSynchronizingIndexer extends CustomIndexer {
++
++ @Override
++ public void filesDeleted(Iterable<? extends Indexable> deleted, Context context) {
++- final File target = CompileOnSaveAction.Context.getTarget(context.getRootURI());
++- if (target == null) {
++- return;
++- }
++- if (!BuildArtifactMapperImpl.isUpdateClasses(context.getRootURI())) {
+++ if (BuildArtifactMapperImpl.getTargetFolder(context.getRootURI()) == null) {
++ return ;
++ }
++
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/indexing/FQN2Files.java b/java.source.base/src/org/netbeans/modules/java/source/indexing/FQN2Files.java
++index 88c7516d5..182b0f093 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/indexing/FQN2Files.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/indexing/FQN2Files.java
++@@ -42,7 +42,6 @@
++ package org.netbeans.modules.java.source.indexing;
++
++ import com.sun.tools.javac.api.DuplicateClassChecker;
++-import com.sun.tools.javac.code.Symbol;
++ import java.io.BufferedInputStream;
++ import java.io.BufferedOutputStream;
++ import java.io.File;
++@@ -56,12 +55,9 @@ import java.net.URL;
++ import java.util.Properties;
++ import java.util.logging.Level;
++ import java.util.logging.Logger;
++-import javax.lang.model.element.ElementVisitor;
++ import javax.lang.model.element.Name;
++ import javax.lang.model.element.TypeElement;
++-import javax.lang.model.util.ElementScanner9;
++ import javax.tools.JavaFileObject;
++-import org.openide.filesystems.FileObject;
++ import org.openide.util.Exceptions;
++
++ /**
++@@ -86,20 +82,13 @@ public final class FQN2Files implements DuplicateClassChecker {
++ }
++
++ public void set(final Iterable<? extends TypeElement> topLevelElements, final URL file) {
++- new ElementScanner9() {
++- @Override
++- public Object visitType(TypeElement e, Object p) {
++- String fqn = e instanceof Symbol.TypeSymbol
++- ? ((Symbol.TypeSymbol)e).flatName().toString()
++- : e.getQualifiedName().toString();
++- String value = props.getProperty(fqn);
++- if (value == null) {
++- props.setProperty(fqn, file.toExternalForm());
++- }
++- return super.visitType(e, p);
+++ for (TypeElement element : topLevelElements) {
+++ String fqn = element.getQualifiedName().toString();
+++ String value = props.getProperty(fqn);
+++ if (value == null) {
+++ props.setProperty(fqn, file.toExternalForm());
++ }
++-
++- }.scan(topLevelElements, null);
+++ }
++ }
++
++ public boolean remove(final String fqn, final URL file) {
++@@ -142,9 +131,4 @@ public final class FQN2Files implements DuplicateClassChecker {
++ return false;
++ }
++ }
++-
++- public boolean check(final String fqn, final URL url) {
++- String value = props.getProperty(fqn);
++- return value != null && !value.equals(url.toExternalForm());
++- }
++ }
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/indexing/JavaBinaryIndexer.java b/java.source.base/src/org/netbeans/modules/java/source/indexing/JavaBinaryIndexer.java
++index a4bbc2178..20847e73e 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/indexing/JavaBinaryIndexer.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/indexing/JavaBinaryIndexer.java
++@@ -43,7 +43,6 @@
++ package org.netbeans.modules.java.source.indexing;
++
++ import com.sun.tools.javac.api.JavacTaskImpl;
++-import com.sun.tools.javac.model.JavacElements;
++
++ import java.io.File;
++ import java.io.IOException;
++@@ -134,8 +133,10 @@ public class JavaBinaryIndexer extends BinaryIndexer {
++ }
++ }
++ }
++- } catch (IllegalArgumentException | IOException e) {
++- Exceptions.printStackTrace(e);
+++ } catch (IllegalArgumentException iae) {
+++ Exceptions.printStackTrace(iae);
+++ } catch (IOException ioe) {
+++ Exceptions.printStackTrace(ioe);
++ }
++ }
++
++@@ -208,8 +209,7 @@ public class JavaBinaryIndexer extends BinaryIndexer {
++ true,
++ true,
++ false,
++- false,
++- null);
+++ false);
++ final JavacTaskImpl jt = JavacParser.createJavacTask(cpInfo, new DevNullDiagnosticListener(), null, null, null, null, null, null);
++ TreeLoader.preRegister(jt.getContext(), cpInfo, true);
++ //Force JTImpl.prepareCompiler to get JTImpl into Context
++@@ -218,7 +218,7 @@ public class JavaBinaryIndexer extends BinaryIndexer {
++ } catch (IOException ex) {
++ Exceptions.printStackTrace(ex);
++ }
++- TypeElement jc = (TypeElement) ((JavacElements)jt.getElements()).getTypeElementByBinaryName(fqn);
+++ TypeElement jc = (TypeElement) jt.getElements().getTypeElementByBinaryName(fqn);
++ if (jc != null) {
++ List<ExecutableElement> methods = ElementFilter.methodsIn(jt.getElements().getAllMembers(jc));
++ for (ExecutableElement method : methods) {
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/indexing/JavaCustomIndexer.java b/java.source.base/src/org/netbeans/modules/java/source/indexing/JavaCustomIndexer.java
++index 02e725867..d566a5d48 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/indexing/JavaCustomIndexer.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/indexing/JavaCustomIndexer.java
++@@ -48,8 +48,6 @@ import java.io.FileInputStream;
++ import java.io.FilenameFilter;
++ import java.io.IOException;
++ import java.io.InputStreamReader;
++-import java.lang.management.ManagementFactory;
++-import java.lang.reflect.Method;
++ import java.net.MalformedURLException;
++ import java.net.URI;
++ import java.net.URISyntaxException;
++@@ -68,7 +66,6 @@ import java.util.LinkedList;
++ import java.util.List;
++ import java.util.Locale;
++ import java.util.Map;
++-import java.util.Optional;
++ import java.util.Queue;
++ import java.util.Set;
++ import java.util.concurrent.Callable;
++@@ -76,15 +73,12 @@ import java.util.concurrent.ExecutionException;
++ import java.util.concurrent.atomic.AtomicBoolean;
++ import java.util.logging.Level;
++ import java.util.regex.Pattern;
++-import java.util.stream.Collectors;
++
++ import javax.lang.model.element.ElementKind;
++ import javax.lang.model.element.TypeElement;
++-import javax.management.MBeanServer;
++ import javax.tools.Diagnostic;
++ import javax.tools.Diagnostic.Kind;
++ import javax.tools.JavaFileObject;
++-import org.netbeans.api.annotations.common.CheckForNull;
++
++ import org.netbeans.api.annotations.common.NonNull;
++ import org.netbeans.api.annotations.common.NullAllowed;
++@@ -141,9 +135,7 @@ import org.openide.util.Lookup;
++ public class JavaCustomIndexer extends CustomIndexer {
++
++ static boolean NO_ONE_PASS_COMPILE_WORKER = Boolean.getBoolean(JavaCustomIndexer.class.getName() + ".no.one.pass.compile.worker");
++- private static final String DUMP_ON_LOW_MEM = System.getProperty(JavaCustomIndexer.class.getName() + ".dump.on.low.mem"); //NOI18N
++ private static final String SOURCE_PATH = "sourcePath"; //NOI18N
++- private static final String APT_SOURCE_OUTPUT = "apSrcOut"; //NOI18N
++ private static final Pattern ANONYMOUS = Pattern.compile("\\$[0-9]"); //NOI18N
++ private static final ClassPath EMPTY = ClassPathSupport.createClassPath(new URL[0]);
++ private static final int TRESHOLD = 500;
++@@ -178,11 +170,9 @@ public class JavaCustomIndexer extends CustomIndexer {
++ }
++ if (isAptBuildGeneratedFolder(context.getRootURI(),sourcePath)) {
++ txCtx.get(CacheAttributesTransaction.class).setInvalid(true);
++- JavaIndex.setAttribute(context.getRootURI(), APT_SOURCE_OUTPUT, Boolean.TRUE.toString());
++ JavaIndex.LOG.fine("Ignoring annotation processor build generated folder"); //NOI18N
++ return;
++ }
++- JavaIndex.setAttribute(context.getRootURI(), APT_SOURCE_OUTPUT, null);
++ if (!files.iterator().hasNext() && !context.isAllFilesIndexing()) {
++ boolean success = false;
++ try {
++@@ -262,9 +252,6 @@ public class JavaCustomIndexer extends CustomIndexer {
++ if (compileResult == null || context.isCancelled()) {
++ return; // cancelled, IDE is sutting down
++ }
++- if (compileResult.lowMemory) {
++- w.freeMemory(false);
++- }
++ if (compileResult.success) {
++ break;
++ }
++@@ -285,7 +272,7 @@ public class JavaCustomIndexer extends CustomIndexer {
++ }
++ }
++ finished = compileResult.success;
++-
+++
++ if (compileResult.lowMemory) {
++ final String rootName = FileUtil.getFileDisplayName(context.getRoot());
++ JavaIndex.LOG.log(
++@@ -296,20 +283,8 @@ public class JavaCustomIndexer extends CustomIndexer {
++ if (uip != null) {
++ uip.notifyLowMemory(rootName);
++ }
++- if (DUMP_ON_LOW_MEM != null) {
++- final File heapDump = dumpHeap(DUMP_ON_LOW_MEM);
++- if (heapDump != null) {
++- JavaIndex.LOG.log(
++- Level.INFO,
++- "Heap dump generated into: {0}.", //NOI18N
++- heapDump.getAbsolutePath());
++- } else {
++- JavaIndex.LOG.log(
++- Level.WARNING,
++- "Cannot generate heap dump."); //NOI18N
++- }
++- }
++ }
+++
++ } finally {
++ try {
++ javaContext.finish();
++@@ -422,48 +397,52 @@ public class JavaCustomIndexer extends CustomIndexer {
++ return fo != null ? new CompileTuple(FileObjects.sourceFileObject(fo, context.getRoot()), indexable) : null;
++ }
++
++- private static void clearFiles(final Context context, final Iterable<? extends Indexable> files) throws IOException {
+++ private static void clearFiles(final Context context, final Iterable<? extends Indexable> files) {
++ final TransactionContext txCtx = TransactionContext.get();
++ assert txCtx != null;
++ final FileManagerTransaction fmTx = txCtx.get(FileManagerTransaction.class);
++ assert fmTx != null;
++ final ClassIndexEventsTransaction ciTx = txCtx.get(ClassIndexEventsTransaction.class);
++ assert ciTx != null;
++- final JavaParsingContext javaContext = new JavaParsingContext(context, true);
++ try {
++- if (javaContext.getClassIndexImpl() == null)
++- return; //IDE is exiting, indeces are already closed.
++- if (javaContext.getClassIndexImpl().getType() == ClassIndexImpl.Type.EMPTY)
++- return; //No java no need to continue
++- final Set<ElementHandle<TypeElement>> removedTypes = new HashSet <ElementHandle<TypeElement>> ();
++- final Set<File> removedFiles = new HashSet<File> ();
++- for (Indexable i : files) {
++- clear(context, javaContext, i, removedTypes, removedFiles, fmTx);
++- ErrorsCache.setErrors(context.getRootURI(), i, Collections.<Diagnostic<?>>emptyList(), ERROR_CONVERTOR);
++- ExecutableFilesIndex.DEFAULT.setMainClass(context.getRootURI(), i.getURL(), false);
++- javaContext.getCheckSums().remove(i.getURL());
++- }
++- for (Map.Entry<URL, Set<URL>> entry : findDependent(context.getRootURI(), removedTypes, false).entrySet()) {
++- context.addSupplementaryFiles(entry.getKey(), entry.getValue());
++- }
+++ final JavaParsingContext javaContext = new JavaParsingContext(context, true);
++ try {
++- javaContext.store();
++- } catch (JavaParsingContext.BrokenIndexException bi) {
++- JavaIndex.LOG.log(
++- Level.WARNING,
++- "Broken index for root: {0} reason: {1}, recovering.", //NOI18N
++- new Object[] {
++- context.getRootURI(),
++- bi.getMessage()
++- });
++- final PersistentIndexTransaction piTx = txCtx.get(PersistentIndexTransaction.class);
++- assert piTx != null;
++- piTx.setBroken();
+++ if (javaContext.getClassIndexImpl() == null)
+++ return; //IDE is exiting, indeces are already closed.
+++ if (javaContext.getClassIndexImpl().getType() == ClassIndexImpl.Type.EMPTY)
+++ return; //No java no need to continue
+++ final Set<ElementHandle<TypeElement>> removedTypes = new HashSet <ElementHandle<TypeElement>> ();
+++ final Set<File> removedFiles = new HashSet<File> ();
+++ for (Indexable i : files) {
+++ clear(context, javaContext, i, removedTypes, removedFiles, fmTx);
+++ ErrorsCache.setErrors(context.getRootURI(), i, Collections.<Diagnostic<?>>emptyList(), ERROR_CONVERTOR);
+++ ExecutableFilesIndex.DEFAULT.setMainClass(context.getRootURI(), i.getURL(), false);
+++ javaContext.getCheckSums().remove(i.getURL());
+++ }
+++ for (Map.Entry<URL, Set<URL>> entry : findDependent(context.getRootURI(), removedTypes, false).entrySet()) {
+++ context.addSupplementaryFiles(entry.getKey(), entry.getValue());
+++ }
+++ try {
+++ javaContext.store();
+++ } catch (JavaParsingContext.BrokenIndexException bi) {
+++ JavaIndex.LOG.log(
+++ Level.WARNING,
+++ "Broken index for root: {0} reason: {1}, recovering.", //NOI18N
+++ new Object[] {
+++ context.getRootURI(),
+++ bi.getMessage()
+++ });
+++ final PersistentIndexTransaction piTx = txCtx.get(PersistentIndexTransaction.class);
+++ assert piTx != null;
+++ piTx.setBroken();
+++ }
+++ ciTx.removedCacheFiles(context.getRootURI(), removedFiles);
+++ ciTx.removedTypes(context.getRootURI(), removedTypes);
+++ } finally {
+++ javaContext.finish();
++ }
++- ciTx.removedCacheFiles(context.getRootURI(), removedFiles);
++- ciTx.removedTypes(context.getRootURI(), removedTypes);
++- } finally {
++- javaContext.finish();
+++ } catch (IOException ex) {
+++ Exceptions.printStackTrace(ex);
++ }
++ }
++
++@@ -528,7 +507,7 @@ public class JavaCustomIndexer extends CustomIndexer {
++ fmTx.delete(file);
++ }
++ if (cont && (file = new File(classFolder, withoutExt + '.' + FileObjects.SIG)).exists()) {
++- if (!javaContext.getFQNs().check(FileObjects.getBinaryName(file, classFolder), relURLPair.second())) {
+++ if (javaContext.getFQNs().remove(FileObjects.getBinaryName(file, classFolder), relURLPair.second())) {
++ String fileName = file.getName();
++ fileName = fileName.substring(0, fileName.lastIndexOf('.'));
++ final String[][] patterns = new String[][]{
++@@ -557,7 +536,6 @@ public class JavaCustomIndexer extends CustomIndexer {
++ if (children != null) {
++ for (File f : children) {
++ String className = FileObjects.getBinaryName(f, classFolder);
++- javaContext.getFQNs().remove(className, relURLPair.second());
++ toDelete.add(Pair.<String, String>of(className, null));
++ removedTypes.add(ElementHandleAccessor.getInstance().create(ElementKind.OTHER, className));
++ removedFiles.add(f);
++@@ -1000,13 +978,7 @@ public class JavaCustomIndexer extends CustomIndexer {
++ @Override
++ public void filesDeleted(Iterable<? extends Indexable> deleted, Context context) {
++ JavaIndex.LOG.log(Level.FINE, "filesDeleted({0})", deleted); //NOI18N
++- try {
++- if(!Boolean.parseBoolean(JavaIndex.getAttribute(context.getRootURI(), APT_SOURCE_OUTPUT, null))) {
++- clearFiles(context, deleted);
++- }
++- } catch (IOException ioe) {
++- Exceptions.printStackTrace(ioe);
++- }
+++ clearFiles(context, deleted);
++ }
++
++ @Override
++@@ -1182,46 +1154,6 @@ public class JavaCustomIndexer extends CustomIndexer {
++ "compiler.warn.diamond.redundant.args.1",
++ "compiler.note.potential.lambda.found"));
++
++- @CheckForNull
++- private static File dumpHeap(@NonNull final String path) {
++- try {
++- if (heapDumper == null) {
++- final Class<?> clz = Class.forName("com.sun.management.HotSpotDiagnosticMXBean"); //NOI18N
++- final MBeanServer server = ManagementFactory.getPlatformMBeanServer();
++- final Object bean = ManagementFactory.newPlatformMXBeanProxy(
++- server,
++- "com.sun.management:type=HotSpotDiagnostic", //NOI18N
++- clz);
++- final Method m = clz.getDeclaredMethod("dumpHeap", String.class, Boolean.TYPE);
++- heapDumper = Pair.of(bean,m);
++- }
++- final File folder = new File(path);
++- final File[] children = folder.listFiles();
++- if (children != null) {
++- final String namePattern = "heapdump_"; //NOI18N
++- final Set<String> names = Arrays.stream(children)
++- .map((f) -> f.getName())
++- .filter((n) -> n.startsWith(namePattern))
++- .collect(Collectors.toSet());
++- int index = 1;
++- while (true) {
++- if (!names.contains(namePattern + index)) {
++- break;
++- }
++- index++;
++- }
++- final File file = new File(folder, namePattern + index);
++- heapDumper.second().invoke(heapDumper.first(), file.getAbsolutePath(), true);
++- return file;
++- }
++- } catch (Exception e) {
++- //pass
++- }
++- return null;
++- }
++-
++- private static Pair<Object,Method> heapDumper;
++-
++ private static class FilterOutJDK7AndLaterWarnings implements Comparable<Diagnostic<? extends JavaFileObject>> {
++ @Override public int compareTo(Diagnostic<? extends JavaFileObject> o) {
++ return JDK7AndLaterWarnings.contains(o.getCode()) ? 0 : -1;
++@@ -1321,9 +1253,7 @@ public class JavaCustomIndexer extends CustomIndexer {
++ if (root == null) {
++ return vote;
++ }
++- if (Optional.ofNullable(APTUtils.get(root))
++- .map((apt) -> apt.verifyAttributes(ctx.getRoot(), false))
++- .orElse(Boolean.FALSE)) {
+++ if (APTUtils.get(root).verifyAttributes(ctx.getRoot(), false)) {
++ vote = false;
++ }
++ if (ensureSourcePath(root)) {
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/indexing/JavaIndex.java b/java.source.base/src/org/netbeans/modules/java/source/indexing/JavaIndex.java
++index bbd912186..9ff55dd9c 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/indexing/JavaIndex.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/indexing/JavaIndex.java
++@@ -216,16 +216,13 @@ public final class JavaIndex {
++ }
++
++ public static void setAttribute(URL root, String attributeName, String attributeValue) throws IOException {
++- boolean store;
++ Properties p = loadProperties(root);
++ if (attributeValue != null) {
++- store = !attributeValue.equals(p.setProperty(attributeName, attributeValue));
+++ p.setProperty(attributeName, attributeValue);
++ } else {
++- store = p.remove(attributeName) != null;
++- }
++- if (store) {
++- storeProperties(root, p, true);
+++ p.remove(attributeName);
++ }
+++ storeProperties(root, p, true);
++ }
++
++ public static String getAttribute(URL root, String attributeName, String defaultValue) throws IOException {
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/indexing/JavaParsingContext.java b/java.source.base/src/org/netbeans/modules/java/source/indexing/JavaParsingContext.java
++index 1a530688a..e6712ae57 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/indexing/JavaParsingContext.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/indexing/JavaParsingContext.java
++@@ -129,8 +129,7 @@ final class JavaParsingContext {
++ true,
++ context.isSourceForBinaryRootIndexing(),
++ false,
++- context.checkForEditorModifications(),
++- null);
+++ context.checkForEditorModifications());
++ } else {
++ cpInfo = null;
++ }
++@@ -143,7 +142,7 @@ final class JavaParsingContext {
++ uq = ClassIndexManager.getDefault().createUsagesQuery(context.getRootURI(), true);
++ cpInfo = ClasspathInfoAccessor.getINSTANCE().create(bootPath,compilePath, sourcePath,
++ filter, true, context.isSourceForBinaryRootIndexing(),
++- !virtualSources.isEmpty(), context.checkForEditorModifications(), null);
+++ !virtualSources.isEmpty(), context.checkForEditorModifications());
++ registerVirtualSources(cpInfo, virtualSources);
++ }
++
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/indexing/MultiPassCompileWorker.java b/java.source.base/src/org/netbeans/modules/java/source/indexing/MultiPassCompileWorker.java
++index 92fd9784c..e87e3a60c 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/indexing/MultiPassCompileWorker.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/indexing/MultiPassCompileWorker.java
++@@ -81,6 +81,7 @@ import org.netbeans.modules.java.source.parsing.FileObjects;
++ import org.netbeans.modules.java.source.parsing.JavacParser;
++ import org.netbeans.modules.java.source.parsing.OutputFileManager;
++ import org.netbeans.modules.java.source.usages.ClassNamesForFileOraculumImpl;
+++import org.netbeans.modules.java.source.usages.ClasspathInfoAccessor;
++ import org.netbeans.modules.java.source.usages.ExecutableFilesIndex;
++ import org.netbeans.modules.parsing.spi.indexing.Context;
++ import org.netbeans.modules.parsing.spi.indexing.Indexable;
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/indexing/OnePassCompileWorker.java b/java.source.base/src/org/netbeans/modules/java/source/indexing/OnePassCompileWorker.java
++index cc5221b7b..00af58518 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/indexing/OnePassCompileWorker.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/indexing/OnePassCompileWorker.java
++@@ -76,6 +76,7 @@ import org.netbeans.modules.java.source.parsing.JavacParser;
++ import org.netbeans.modules.java.source.parsing.OutputFileManager;
++ import org.netbeans.modules.java.source.usages.ClassNamesForFileOraculumImpl;
++ import org.netbeans.modules.java.source.usages.ExecutableFilesIndex;
+++import org.netbeans.modules.parsing.lucene.support.LowMemoryWatcher;
++ import org.netbeans.modules.parsing.spi.indexing.Context;
++ import org.netbeans.modules.parsing.spi.indexing.Indexable;
++ import org.netbeans.modules.parsing.spi.indexing.SuspendStatus;
++@@ -125,7 +126,6 @@ final class OnePassCompileWorker extends CompileWorker {
++ if (isLowMemory(null)) {
++ jt = null;
++ units = null;
++- jfo2units.clear();
++ dc.cleanDiagnostics();
++ freeMemory(false);
++ }
++@@ -202,10 +202,8 @@ final class OnePassCompileWorker extends CompileWorker {
++ }
++
++ CompileTuple active = null;
++- final boolean aptEnabled = Optional.ofNullable(jt)
++- .map((jtask) -> jtask.getProcessors())
++- .map((it) -> it.iterator().hasNext())
++- .orElse(Boolean.FALSE);
+++ Iterable<? extends Processor> processors = jt != null ? jt.getProcessors() : null;
+++ boolean aptEnabled = processors != null && processors.iterator().hasNext();
++ final boolean[] flm = {true};
++ try {
++ final Queue<Future<Void>> barriers = new ArrayDeque<>();
++@@ -219,6 +217,8 @@ final class OnePassCompileWorker extends CompileWorker {
++ continue;
++ }
++ if (isLowMemory(flm)) {
+++ units = null;
+++ freeMemory(false);
++ return ParsingOutput.lowMemory(file2FQNs, addedTypes, createdFiles, finished, modifiedTypes, aptGenerated);
++ }
++ final Iterable<? extends TypeElement> types = jt.enterTrees(Collections.singletonList(unit.first()));
++@@ -258,6 +258,8 @@ final class OnePassCompileWorker extends CompileWorker {
++ }
++ }
++ if (isLowMemory(flm)) {
+++ units = null;
+++ freeMemory(false);
++ return ParsingOutput.lowMemory(file2FQNs, addedTypes, createdFiles, finished, modifiedTypes, aptGenerated);
++ }
++ jt.analyze(types);
++@@ -265,6 +267,8 @@ final class OnePassCompileWorker extends CompileWorker {
++ JavaCustomIndexer.addAptGenerated(context, javaContext, active, aptGenerated);
++ }
++ if (isLowMemory(flm)) {
+++ units = null;
+++ freeMemory(false);
++ return ParsingOutput.lowMemory(file2FQNs, addedTypes, createdFiles, finished, modifiedTypes, aptGenerated);
++ }
++ javaContext.getFQNs().set(types, active.indexable.getURL());
++@@ -339,6 +343,8 @@ final class OnePassCompileWorker extends CompileWorker {
++ JavaCustomIndexer.brokenPlatform(context, files, mpe.getDiagnostic());
++ } catch (CancelAbort ca) {
++ if (isLowMemory(flm)) {
+++ units = null;
+++ freeMemory(false);
++ return ParsingOutput.lowMemory(file2FQNs, addedTypes, createdFiles, finished, modifiedTypes, aptGenerated);
++ } else if (JavaIndex.LOG.isLoggable(Level.FINEST)) {
++ JavaIndex.LOG.log(Level.FINEST, "OnePassCompileWorker was canceled in root: " + FileUtil.getFileDisplayName(context.getRoot()), ca); //NOI18N
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/indexing/SuperOnePassCompileWorker.java b/java.source.base/src/org/netbeans/modules/java/source/indexing/SuperOnePassCompileWorker.java
++index 895ea5981..f30633883 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/indexing/SuperOnePassCompileWorker.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/indexing/SuperOnePassCompileWorker.java
++@@ -127,7 +127,6 @@ final class SuperOnePassCompileWorker extends CompileWorker {
++ if (isLowMemory(flm)) {
++ jt = null;
++ units = null;
++- trees.clear();
++ dc.cleanDiagnostics();
++ freeMemory(false);
++ }
++@@ -147,8 +146,8 @@ final class SuperOnePassCompileWorker extends CompileWorker {
++ tuple.aptGenerated ? null : APTUtils.get(context.getRoot()));
++ }
++ for (CompilationUnitTree cut : jt.parse(tuple.jfo)) { //TODO: should be exactly one
+++ trees.add(cut);
++ if (units != null) {
++- trees.add(cut);
++ units.put(cut, tuple);
++ }
++ computeFQNs(file2FQNs, cut, tuple);
++@@ -203,6 +202,8 @@ final class SuperOnePassCompileWorker extends CompileWorker {
++ return null;
++ }
++ if (isLowMemory(null)) {
+++ units = null;
+++ freeMemory(false);
++ return ParsingOutput.lowMemory(file2FQNs, addedTypes, createdFiles, finished, modifiedTypes, aptGenerated);
++ }
++ Iterable<? extends Processor> processors = jt.getProcessors();
++@@ -213,6 +214,8 @@ final class SuperOnePassCompileWorker extends CompileWorker {
++ return null;
++ }
++ if (isLowMemory(null)) {
+++ units = null;
+++ freeMemory(false);
++ return ParsingOutput.lowMemory(file2FQNs, addedTypes, createdFiles, finished, modifiedTypes, aptGenerated);
++ }
++ final Map<TypeElement, CompileTuple> clazz2Tuple = new IdentityHashMap<TypeElement, CompileTuple>();
++@@ -230,6 +233,8 @@ final class SuperOnePassCompileWorker extends CompileWorker {
++ return null;
++ }
++ if (isLowMemory(null)) {
+++ units = null;
+++ freeMemory(false);
++ return ParsingOutput.lowMemory(file2FQNs, addedTypes, createdFiles, finished, modifiedTypes, aptGenerated);
++ }
++ for (Entry<CompilationUnitTree, CompileTuple> unit : units.entrySet()) {
++@@ -262,6 +267,8 @@ final class SuperOnePassCompileWorker extends CompileWorker {
++ return null;
++ }
++ if (isLowMemory(null)) {
+++ units = null;
+++ freeMemory(false);
++ return ParsingOutput.lowMemory(file2FQNs, addedTypes, createdFiles, finished, modifiedTypes, aptGenerated);
++ }
++ final JavacTaskImpl jtFin = jt;
++@@ -322,6 +329,8 @@ final class SuperOnePassCompileWorker extends CompileWorker {
++ JavaCustomIndexer.brokenPlatform(context, files, mpe.getDiagnostic());
++ } catch (CancelAbort ca) {
++ if (isLowMemory(null)) {
+++ units = null;
+++ freeMemory(false);
++ return ParsingOutput.lowMemory(file2FQNs, addedTypes, createdFiles, finished, modifiedTypes, aptGenerated);
++ } else if (JavaIndex.LOG.isLoggable(Level.FINEST)) {
++ JavaIndex.LOG.log(Level.FINEST, "SuperOnePassCompileWorker was canceled in root: " + FileUtil.getFileDisplayName(context.getRoot()), ca); //NOI18N
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/parsing/CachingArchiveClassLoader.java b/java.source.base/src/org/netbeans/modules/java/source/parsing/CachingArchiveClassLoader.java
++index 50e8d1455..d4df87c29 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/parsing/CachingArchiveClassLoader.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/parsing/CachingArchiveClassLoader.java
++@@ -51,11 +51,9 @@ import java.util.ArrayList;
++ import java.util.Enumeration;
++ import java.util.Iterator;
++ import java.util.List;
++-import java.util.Optional;
++ import java.util.Vector;
++ import java.util.concurrent.Callable;
++ import java.util.concurrent.locks.ReentrantReadWriteLock;
++-import java.util.function.Consumer;
++ import java.util.logging.Level;
++ import java.util.logging.Logger;
++ import javax.tools.FileObject;
++@@ -64,7 +62,6 @@ import org.netbeans.api.annotations.common.NonNull;
++ import org.netbeans.api.annotations.common.NullAllowed;
++ import org.netbeans.api.java.classpath.ClassPath;
++ import org.openide.util.Exceptions;
++-import org.openide.util.Pair;
++ import org.openide.util.Parameters;
++
++ /**
++@@ -72,24 +69,19 @@ import org.openide.util.Parameters;
++ * @author Tomas Zezula
++ */
++ public final class CachingArchiveClassLoader extends ClassLoader {
++- private static final String RES_PROCESSORS = "META-INF/services/javax.annotation.processing.Processor"; //NOI18N
+++
++ private static final int INI_SIZE = 16384;
++ private static final Logger LOG = Logger.getLogger(CachingArchiveClassLoader.class.getName());
++ //Todo: Performance Trie<File,ReentrantReadWriteLock>
++ private static final ReentrantReadWriteLock LOCK = new ReentrantReadWriteLock();
++
++- private final List<Pair<URL,Archive>> archives;
++- private final Optional<Consumer<? super URL>> usedRoots;
+++ private final Archive[] archives;
++ private byte[] buffer;
++
++- private CachingArchiveClassLoader(
++- @NonNull final List<Pair<URL,Archive>> archives,
++- @NullAllowed final ClassLoader parent,
++- @NullAllowed final Consumer<? super URL> usedRoots) {
+++ private CachingArchiveClassLoader(final @NonNull Archive[] archives, final ClassLoader parent) {
++ super (parent);
++ assert archives != null;
++ this.archives = archives;
++- this.usedRoots = Optional.<Consumer<? super URL>>ofNullable(usedRoots);
++ }
++
++ @Override
++@@ -166,14 +158,10 @@ public final class CachingArchiveClassLoader extends ClassLoader {
++ public Enumeration<URL> call() throws Exception {
++ @SuppressWarnings("UseOfObsoleteCollectionType")
++ final Vector<URL> v = new Vector<URL>();
++- for (final Pair<URL,Archive> p : archives) {
++- final Archive archive = p.second();
+++ for (Archive archive : archives) {
++ final FileObject file = archive.getFile(name);
++ if (file != null) {
++ v.add(file.toUri().toURL());
++- usedRoots
++- .map((c) -> RES_PROCESSORS.equals(name) ? null : c)
++- .ifPresent((c) -> c.accept(p.first()));
++ }
++ }
++ return v.elements();
++@@ -213,12 +201,10 @@ public final class CachingArchiveClassLoader extends ClassLoader {
++
++ private FileObject findFileObject(final String resName) {
++ assert LOCK.getReadLockCount() > 0;
++- for (final Pair<URL,Archive> p : archives) {
++- final Archive archive = p.second();
+++ for (Archive archive : archives) {
++ try {
++ final FileObject file = archive.getFile(resName);
++ if (file != null) {
++- usedRoots.ifPresent((c) -> c.accept(p.first()));
++ return file;
++ }
++ } catch (IOException ex) {
++@@ -231,10 +217,8 @@ public final class CachingArchiveClassLoader extends ClassLoader {
++ return null;
++ }
++
++- public static ClassLoader forClassPath(
++- @NonNull final ClassPath classPath,
++- @NullAllowed final ClassLoader parent,
++- @NullAllowed final Consumer<? super URL> usedRoots) {
+++ public static ClassLoader forClassPath(final @NonNull ClassPath classPath,
+++ final @NullAllowed ClassLoader parent) {
++ Parameters.notNull("classPath", classPath); //NOI18N
++ final List<ClassPath.Entry> entries = classPath.entries();
++ final URL[] urls = new URL[entries.size()];
++@@ -242,25 +226,20 @@ public final class CachingArchiveClassLoader extends ClassLoader {
++ for (int i=0; eit.hasNext(); i++) {
++ urls[i] = eit.next().getURL();
++ }
++- return forURLs(urls, parent, usedRoots);
+++ return forURLs(urls, parent);
++ }
++
++- public static ClassLoader forURLs(
++- @NonNull final URL[] urls,
++- @NullAllowed final ClassLoader parent,
++- @NullAllowed final Consumer<? super URL> usedRoots) {
+++ public static ClassLoader forURLs(final @NonNull URL[] urls,
+++ final @NullAllowed ClassLoader parent) {
++ Parameters.notNull("urls", urls); //NOI18N
++- final List<Pair<URL,Archive>> archives = new ArrayList<>(urls.length);
+++ final List<Archive> archives = new ArrayList<Archive>(urls.length);
++ for (URL url : urls) {
++ final Archive arch = CachingArchiveProvider.getDefault().getArchive(url, false);
++ if (arch != null) {
++- archives.add(Pair.of(url,arch));
+++ archives.add(arch);
++ }
++ }
++- return new CachingArchiveClassLoader(
++- archives,
++- parent,
++- usedRoots);
+++ return new CachingArchiveClassLoader(archives.toArray(new Archive[archives.size()]), parent);
++ }
++
++ public static <T> T readAction(@NonNull final Callable<T> action) throws Exception {
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/parsing/CachingArchiveProvider.java b/java.source.base/src/org/netbeans/modules/java/source/parsing/CachingArchiveProvider.java
++index 45674457a..4c598cae8 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/parsing/CachingArchiveProvider.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/parsing/CachingArchiveProvider.java
++@@ -52,7 +52,6 @@ import java.net.MalformedURLException;
++ import java.net.URI;
++ import java.net.URISyntaxException;
++ import java.net.URL;
++-import java.nio.file.Path;
++ import java.util.ArrayList;
++ import java.util.HashMap;
++ import java.util.Iterator;
++@@ -133,7 +132,7 @@ public final class CachingArchiveProvider {
++ archive = archives.get(rootURI);
++ }
++ if (archive == null) {
++- final Pair<Archive,URI> becomesArchive = create(Pair.of(root, rootURI), cacheFile);
+++ final Pair<Archive,URI> becomesArchive = create(root, cacheFile);
++ archive = becomesArchive.first();
++ URI uriToCtSym = becomesArchive.second();
++ if (archive != null) {
++@@ -262,10 +261,10 @@ public final class CachingArchiveProvider {
++ /** Creates proper archive for given file.
++ */
++ @NonNull
++- private Pair<Archive,URI> create( Pair<URL,URI> root, boolean cacheFile ) {
++- String protocol = root.first().getProtocol();
+++ private Pair<Archive,URI> create( URL root, boolean cacheFile ) {
+++ String protocol = root.getProtocol();
++ if ("file".equals(protocol)) { //NOI18N
++- File f = BaseUtilities.toFile(root.second());
+++ File f = BaseUtilities.toFile(URI.create(root.toExternalForm()));
++ if (f.isDirectory()) {
++ return Pair.<Archive,URI>of(new FolderArchive (f), null);
++ }
++@@ -274,7 +273,7 @@ public final class CachingArchiveProvider {
++ }
++ }
++ if ("jar".equals(protocol)) { //NOI18N
++- URL inner = FileUtil.getArchiveFile(root.first());
+++ URL inner = FileUtil.getArchiveFile(root);
++ protocol = inner.getProtocol();
++ if ("file".equals(protocol)) { //NOI18N
++ File f = BaseUtilities.toFile(URI.create(inner.toExternalForm()));
++@@ -308,20 +307,12 @@ public final class CachingArchiveProvider {
++ }
++ }
++ }
++- final FileObject fo = URLMapper.findFileObject(root.first());
+++ //Slow
+++ FileObject fo = URLMapper.findFileObject(root);
++ if (fo != null) {
++- final Object attr = fo.getAttribute(Path.class.getName());
++- if (attr instanceof Path) {
++- return Pair.<Archive,URI>of(
++- cacheFile ?
++- new CachingPathArchive((Path)attr, root.second()) :
++- new PathArchive((Path)attr, root.second()),
++- null);
++- } else {
++- //Slow
++- return Pair.<Archive,URI>of(new FileObjectArchive (fo), null);
++- }
++- } else {
+++ return Pair.<Archive,URI>of(new FileObjectArchive (fo), null);
+++ }
+++ else {
++ return EMPTY;
++ }
++ }
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/parsing/CachingPathArchive.java b/java.source.base/src/org/netbeans/modules/java/source/parsing/CachingPathArchive.java
++deleted file mode 100644
++index ed9e188ad..000000000
++--- a/java.source.base/src/org/netbeans/modules/java/source/parsing/CachingPathArchive.java
+++++ /dev/null
++@@ -1,241 +0,0 @@
++-/*
++- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++- *
++- * Copyright 2015 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
++- *
++- * The contents of this file are subject to the terms of either the GNU
++- * General Public License Version 2 only ("GPL") or the Common
++- * Development and Distribution License("CDDL") (collectively, the
++- * "License"). You may not use this file except in compliance with the
++- * License. You can obtain a copy of the License at
++- * http://www.netbeans.org/cddl-gplv2.html
++- * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++- * specific language governing permissions and limitations under the
++- * License. When distributing the software, include this License Header
++- * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
++- * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
++- * accompanied this code. If applicable, add the following below the
++- * License Header, with the fields enclosed by brackets [] replaced by
++- * your own identifying information:
++- * "Portions Copyrighted [year] [name of copyright owner]"
++- *
++- * If you wish your version of this file to be governed by only the CDDL
++- * or only the GPL Version 2, indicate your decision by adding
++- * "[Contributor] elects to include this software in this distribution
++- * under the [CDDL or GPL Version 2] license." If you do not indicate a
++- * single choice of license, a recipient has the option to distribute
++- * your version of this file under either the CDDL, the GPL Version 2 or
++- * to extend the choice of license to its licensees as provided above.
++- * However, if you add GPL Version 2 code and therefore, elected the GPL
++- * Version 2 license, then the option applies only if the new code is
++- * made subject to such option by the copyright holder.
++- *
++- * Contributor(s):
++- *
++- * Portions Copyrighted 2015 Sun Microsystems, Inc.
++- */
++-package org.netbeans.modules.java.source.parsing;
++-
++-import java.io.IOException;
++-import java.io.UnsupportedEncodingException;
++-import java.net.URI;
++-import java.nio.file.FileVisitResult;
++-import java.nio.file.FileVisitor;
++-import java.nio.file.Files;
++-import java.nio.file.Path;
++-import java.nio.file.attribute.BasicFileAttributes;
++-import java.util.ArrayDeque;
++-import java.util.ArrayList;
++-import java.util.Arrays;
++-import java.util.Collections;
++-import java.util.Deque;
++-import java.util.HashMap;
++-import java.util.List;
++-import java.util.Map;
++-import java.util.Set;
++-import javax.tools.JavaFileObject;
++-import org.netbeans.api.annotations.common.CheckForNull;
++-import org.netbeans.api.annotations.common.NonNull;
++-import org.netbeans.api.annotations.common.NullAllowed;
++-import org.netbeans.api.java.classpath.ClassPath;
++-import org.netbeans.modules.java.preprocessorbridge.spi.JavaFileFilterImplementation;
++-
++-/**
++- *
++- * @author Tomas Zezula
++- */
++-public class CachingPathArchive implements Archive {
++-
++- private static final int[] EMPTY_FOLDER = new int[0];
++- private static final byte[] EMPTY_NAMES = new byte[0];
++-
++- private final Path root;
++- private final String rootURI;
++- private final char separator;
++- //@GuardedBy("this")
++- private Map<String,int[]> data;
++- //@GuardedBy("this")
++- private byte[] packedNames;
++- //@GuardedBy("this")
++- private int nameIndex;
++-
++- CachingPathArchive(
++- @NonNull final Path root,
++- @NullAllowed final URI rootURI) {
++- assert root != null;
++- this.root = root;
++- this.rootURI = rootURI == null ? null : rootURI.toString();
++- final String sep = root.getFileSystem().getSeparator();
++- if (sep.length() != 1) {
++- throw new IllegalArgumentException("Multi character separators are unsupported"); //NOI18N
++- }
++- this.separator = sep.charAt(0);
++- this.packedNames = EMPTY_NAMES;
++- }
++-
++- @Override
++- @NonNull
++- public synchronized Iterable<JavaFileObject> getFiles(
++- @NonNull String folderName,
++- @NullAllowed final ClassPath.Entry entry,
++- @NullAllowed Set<JavaFileObject.Kind> kinds,
++- @NullAllowed JavaFileFilterImplementation filter) throws IOException {
++- init();
++- final int[] pkgContent = data.get(folderName);
++- if (pkgContent == null || pkgContent == EMPTY_FOLDER) {
++- return Collections.emptyList();
++- }
++- final List<JavaFileObject> res = new ArrayList<>(pkgContent.length>>>1);
++- for (int i = 0; i < pkgContent.length; i+=2) {
++- final String name = getName(pkgContent[i], pkgContent[i+1]);
++- if (kinds == null || kinds.contains(FileObjects.getKind(FileObjects.getExtension(name)))) {
++- res.add(FileObjects.pathFileObject(
++- folderName,
++- name,
++- root,
++- rootURI,
++- null));
++- }
++- }
++- return res;
++- }
++-
++- @Override
++- @CheckForNull
++- public synchronized JavaFileObject getFile(@NonNull final String name) throws IOException {
++- init();
++- final String[] fnPair = FileObjects.getFolderAndBaseName(name, FileObjects.NBFS_SEPARATOR_CHAR);
++- final int[] pkgContent = data.get(fnPair[0]);
++- if (pkgContent != null) {
++- for (int i = 0; i < pkgContent.length; i+=2) {
++- final String baseName = getName(pkgContent[i], pkgContent[i+1]);
++- if (fnPair[1].equals(baseName)) {
++- return FileObjects.pathFileObject(
++- fnPair[0],
++- fnPair[1],
++- root,
++- rootURI,
++- null);
++- }
++- }
++- }
++- return null;
++- }
++-
++- @Override
++- public synchronized void clear() {
++- data = null;
++- packedNames = EMPTY_NAMES;
++- nameIndex = 0;
++- }
++-
++- @Override
++- public JavaFileObject create(String relativeName, JavaFileFilterImplementation filter) throws UnsupportedOperationException {
++- throw new UnsupportedOperationException("Write not supported"); //NOI18N
++- }
++-
++- private int putName(@NonNull final byte[] name) {
++- if (packedNames.length < nameIndex + name.length) {
++- packedNames = Arrays.copyOfRange(packedNames, 0, name.length + packedNames.length<<1);
++- }
++- final int start = nameIndex;
++- System.arraycopy(name, 0, packedNames, start, name.length);
++- nameIndex+=name.length;
++- return start;
++- }
++-
++- private String getName(final int start, final int len) {
++- try {
++- return new String(packedNames, start, len, "UTF-8"); //NOI18N
++- } catch (UnsupportedEncodingException ue) {
++- throw new IllegalStateException(ue);
++- }
++- }
++-
++- @NonNull
++- private String getResourceName(@NonNull final Path path) {
++- return root.relativize(path).toString().replace(separator, FileObjects.NBFS_SEPARATOR_CHAR);
++- }
++-
++- private void init () throws IOException {
++- assert Thread.holdsLock(this);
++- if (data == null) {
++- data = new HashMap<>();
++- Files.walkFileTree(root, new FileVisitor<Path>() {
++- private final Deque<State> states = new ArrayDeque<>();
++-
++- @Override
++- public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) throws IOException {
++- states.offer(new State());
++- return FileVisitResult.CONTINUE;
++- }
++-
++- @Override
++- public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
++- final State state = states.getLast();
++- int[] cf = state.currentFolder;
++- int co = state.currentOffset;
++- if (cf.length < co+2) {
++- cf = state.currentFolder = Arrays.copyOfRange(cf, 0, 2 + cf.length<<1);
++- }
++- final byte[] name = file.getFileName().toString().getBytes("UTF-8");
++- cf[co] = putName(name);
++- cf[co+1] = name.length;
++- state.currentOffset+=2;
++- return FileVisitResult.CONTINUE;
++- }
++-
++- @Override
++- public FileVisitResult visitFileFailed(Path file, IOException exc) throws IOException {
++- return FileVisitResult.CONTINUE;
++- }
++-
++- @Override
++- public FileVisitResult postVisitDirectory(Path dir, IOException exc) throws IOException {
++- final State state = states.removeLast();
++- if (state.currentFolder != EMPTY_FOLDER) {
++- data.put(
++- getResourceName(dir),
++- Arrays.copyOfRange(state.currentFolder, 0, state.currentOffset));
++- }
++- return FileVisitResult.CONTINUE;
++- }
++- });
++- packedNames = Arrays.copyOfRange(packedNames, 0, nameIndex);
++- }
++- }
++-
++- private static class State {
++- int[] currentFolder;
++- int currentOffset;
++- State() {
++- currentFolder = EMPTY_FOLDER;
++- }
++- }
++-
++-}
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/parsing/ClassParser.java b/java.source.base/src/org/netbeans/modules/java/source/parsing/ClassParser.java
++index 6b6af1b13..6d480bf62 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/parsing/ClassParser.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/parsing/ClassParser.java
++@@ -100,8 +100,8 @@ public class ClassParser extends Parser {
++ final FileObject file = source.getFileObject();
++ assert file != null;
++ if (info == null) {
++- if ((task instanceof ClasspathInfo.Provider)) {
++- info =((ClasspathInfo.Provider)task).getClasspathInfo();
+++ if ((task instanceof ClasspathInfoProvider)) {
+++ info =((ClasspathInfoProvider)task).getClasspathInfo();
++ }
++ if (info == null) {
++ ClassPath bootPath = ClassPath.getClassPath(file, ClassPath.BOOT);
++@@ -167,8 +167,8 @@ public class ClassParser extends Parser {
++ } else {
++ requiredPhase = JavaSource.Phase.RESOLVED;
++ }
++- if (task instanceof ClasspathInfo.Provider) {
++- final ClasspathInfo taskProvidedCpInfo = ((ClasspathInfo.Provider)task).getClasspathInfo();
+++ if (task instanceof ClasspathInfoProvider) {
+++ final ClasspathInfo taskProvidedCpInfo = ((ClasspathInfoProvider)task).getClasspathInfo();
++ if (taskProvidedCpInfo != null && !taskProvidedCpInfo.equals(info)) {
++ assert info != null;
++ assert wl != null;
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/parsing/ClasspathInfoProvider.java b/java.source.base/src/org/netbeans/modules/java/source/parsing/ClasspathInfoProvider.java
++index 57f2c78a2..1bb6edefb 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/parsing/ClasspathInfoProvider.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/parsing/ClasspathInfoProvider.java
++@@ -48,5 +48,6 @@ import org.netbeans.api.java.source.ClasspathInfo;
++ *
++ * @author Tomas Zezula
++ */
++-public interface ClasspathInfoProvider extends ClasspathInfo.Provider {
+++public interface ClasspathInfoProvider {
+++ public ClasspathInfo getClasspathInfo ();
++ }
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/parsing/CompilationInfoImpl.java b/java.source.base/src/org/netbeans/modules/java/source/parsing/CompilationInfoImpl.java
++index 19224f18c..66c0c08f4 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/parsing/CompilationInfoImpl.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/parsing/CompilationInfoImpl.java
++@@ -54,15 +54,14 @@ import java.io.IOException;
++ import java.util.ArrayList;
++ import java.util.Arrays;
++ import java.util.Collection;
+++import java.util.Collections;
++ import java.util.EnumMap;
++ import java.util.HashMap;
++-import java.util.HashSet;
++ import java.util.Iterator;
++ import java.util.List;
++ import java.util.Locale;
++ import java.util.Map;
++ import java.util.Map.Entry;
++-import java.util.SortedMap;
++ import java.util.TreeMap;
++
++ import javax.swing.text.Document;
++@@ -263,12 +262,12 @@ public final class CompilationInfoImpl {
++ if (this.jfo == null) {
++ throw new IllegalStateException ();
++ }
++- DiagnosticListenerImpl.Diagnostics errors = ((DiagnosticListenerImpl)diagnosticListener).getErrors(jfo);
+++ Collection<Collection<Diagnostic<? extends JavaFileObject>>> errors = ((DiagnosticListenerImpl)diagnosticListener).getErrors(jfo).values();
++ List<Diagnostic<? extends JavaFileObject>> partialReparseErrors = ((DiagnosticListenerImpl)diagnosticListener).partialReparseErrors;
++ List<Diagnostic<? extends JavaFileObject>> affectedErrors = ((DiagnosticListenerImpl)diagnosticListener).affectedErrors;
++ int errorsSize = 0;
++
++- for (Collection<DiagnosticListenerImpl.DiagNode> err : errors.values()) {
+++ for (Collection<Diagnostic<? extends JavaFileObject>> err : errors) {
++ errorsSize += err.size();
++ }
++
++@@ -277,10 +276,10 @@ public final class CompilationInfoImpl {
++ (affectedErrors == null ? 0 : affectedErrors.size()));
++ DiagnosticFormatter<JCDiagnostic> formatter = Log.instance(javacTask.getContext()).getDiagnosticFormatter();
++
++- DiagnosticListenerImpl.DiagNode node = errors.first;
++- while(node != null) {
++- localErrors.add(RichDiagnostic.wrap(node.diag, formatter));
++- node = node.next;
+++ for (Collection<Diagnostic<? extends JavaFileObject>> err : errors) {
+++ for (Diagnostic<? extends JavaFileObject> d : err) {
+++ localErrors.add(RichDiagnostic.wrap(d, formatter));
+++ }
++ }
++ if (partialReparseErrors != null) {
++ for (Diagnostic<? extends JavaFileObject> d : partialReparseErrors) {
++@@ -376,9 +375,11 @@ public final class CompilationInfoImpl {
++ setPhase(phase);
++ if (currentPhase == JavaSource.Phase.MODIFIED)
++ getJavacTask().parse(); // Ensure proper javac initialization
+++ currentPhase = phase;
++ }
++- return phase;
++- } else {
+++ return currentPhase;
+++ }
+++ else {
++ JavaSource.Phase currentPhase = parser.moveToPhase(phase, this, false);
++ return currentPhase.compareTo (phase) < 0 ? currentPhase : phase;
++ }
++@@ -475,7 +476,7 @@ public final class CompilationInfoImpl {
++ @Trusted
++ static class DiagnosticListenerImpl implements DiagnosticListener<JavaFileObject> {
++
++- private final Map<JavaFileObject, Diagnostics> source2Errors;
+++ private final Map<JavaFileObject, TreeMap<Integer, Collection<Diagnostic<? extends JavaFileObject>>>> source2Errors;
++ private final FileObject root;
++ private final JavaFileObject jfo;
++ private final ClasspathInfo cpInfo;
++@@ -507,32 +508,41 @@ public final class CompilationInfoImpl {
++ }
++ }
++ } else {
++- Diagnostics errors = getErrors(message.getSource());
++- errors.add((int) message.getPosition(), message);
+++ TreeMap<Integer, Collection<Diagnostic<? extends JavaFileObject>>> errors = getErrors(message.getSource());
+++ Collection<Diagnostic<? extends JavaFileObject>> diags = errors.get((int) message.getPosition());
+++
+++ if (diags == null) {
+++ errors.put((int) message.getPosition(), diags = new ArrayList<>());
+++ }
+++ diags.add(message);
++ }
++ }
++
++- private Diagnostics getErrors(JavaFileObject file) {
++- Diagnostics errors;
+++ private TreeMap<Integer, Collection<Diagnostic<? extends JavaFileObject>>> getErrors(JavaFileObject file) {
+++ TreeMap<Integer, Collection<Diagnostic<? extends JavaFileObject>>> errors;
++ if (isIncompleteClassPath()) {
++ if (root != null && JavaIndex.hasSourceCache(root.toURL(), false)) {
++ errors = source2Errors.get(file);
++ if (errors == null) {
++- source2Errors.put(file, errors = new Diagnostics());
+++ source2Errors.put(file, errors = new TreeMap<>());
++ if (this.jfo != null && this.jfo == file) {
++- errors.add(-1, new IncompleteClassPath(this.jfo));
+++ final List l;
+++ errors.put(-1, l = new ArrayList<>());
+++ l.add(new IncompleteClassPath(this.jfo));
++ }
++ }
++ } else {
++- errors = new Diagnostics();
+++ errors = new TreeMap<>();
++ if (this.jfo != null && this.jfo == file) {
++- errors.add(-1, new IncompleteClassPath(this.jfo));
+++ final List l;
+++ errors.put(-1, l = new ArrayList<>());
+++ l.add(new IncompleteClassPath(this.jfo));
++ }
++ }
++ } else {
++ errors = source2Errors.get(file);
++ if (errors == null) {
++- source2Errors.put(file, errors = new Diagnostics());
+++ source2Errors.put(file, errors = new TreeMap<>());
++ }
++ }
++ return errors;
++@@ -545,36 +555,21 @@ public final class CompilationInfoImpl {
++
++ final void startPartialReparse (int from, int to) {
++ if (partialReparseErrors == null) {
++- partialReparseErrors = new ArrayList<>();
++- Diagnostics errors = getErrors(jfo);
++- SortedMap<Integer, Collection<DiagNode>> subMap = errors.subMap(from, to);
++- subMap.values().forEach((value) -> {
++- value.forEach((node) -> {
++- errors.unlink(node);
++- });
++- });
++- subMap.clear(); //Remove errors in changed method durring the partial reparse
++- Map<Integer, Collection<DiagNode>> tail = errors.tailMap(to);
++- this.affectedErrors = new ArrayList<>(tail.size());
++- HashSet<DiagNode> tailNodes = new HashSet<>();
++- for (Iterator<Entry<Integer,Collection<DiagNode>>> it = tail.entrySet().iterator(); it.hasNext();) {
++- Entry<Integer, Collection<DiagNode>> e = it.next();
++- for (DiagNode d : e.getValue()) {
++- tailNodes.add(d);
++- }
++- it.remove();
++- }
++- DiagNode node = errors.first;
++- while(node != null) {
++- if (tailNodes.contains(node)) {
++- errors.unlink(node);
++- final JCDiagnostic diagnostic = (JCDiagnostic) node.diag;
+++ partialReparseErrors = new ArrayList<Diagnostic<? extends JavaFileObject>>();
+++ TreeMap<Integer, Collection<Diagnostic<? extends JavaFileObject>>> errors = getErrors(jfo);
+++ errors.subMap(from, to).clear(); //Remove errors in changed method durring the partial reparse
+++ Map<Integer, Collection<Diagnostic<? extends JavaFileObject>>> tail = errors.tailMap(to);
+++ this.affectedErrors = new ArrayList<Diagnostic<? extends JavaFileObject>>(tail.size());
+++ for (Iterator<Entry<Integer,Collection<Diagnostic<? extends JavaFileObject>>>> it = tail.entrySet().iterator(); it.hasNext();) {
+++ Entry<Integer, Collection<Diagnostic<? extends JavaFileObject>>> e = it.next();
+++ for (Diagnostic<? extends JavaFileObject> d : e.getValue()) {
+++ final JCDiagnostic diagnostic = (JCDiagnostic) d;
++ if (diagnostic == null) {
++ throw new IllegalStateException("#184910: diagnostic == null " + mapArraysToLists(Thread.getAllStackTraces())); //NOI18N
++ }
++ this.affectedErrors.add(new D (diagnostic));
++ }
++- node = node.next;
+++ it.remove();
++ }
++ }
++ else {
++@@ -724,53 +719,6 @@ public final class CompilationInfoImpl {
++ "ERR_IncompleteClassPath");
++ }
++ }
++-
++- private static final class Diagnostics extends TreeMap<Integer, Collection<DiagNode>> {
++- private DiagNode first;
++- private DiagNode last;
++-
++- public void add(int pos, Diagnostic<? extends JavaFileObject> diag) {
++- Collection<DiagNode> nodes = get((int)diag.getPosition());
++- if (nodes == null) {
++- put((int) diag.getPosition(), nodes = new ArrayList<>());
++- }
++- DiagNode node = new DiagNode(last, diag, null);
++- nodes.add(node);
++- if (last != null) {
++- last.next = node;
++- }
++- last = node;
++- if (first == null) {
++- first = node;
++- }
++- }
++-
++- private void unlink(DiagNode node) {
++- if (node.next == null) {
++- last = node.prev;
++- } else {
++- node.next.prev = node.prev;
++-
++- }
++- if (node.prev == null) {
++- first = node.next;
++- } else {
++- node.prev.next = node.next;
++- }
++- }
++- }
++-
++- private static final class DiagNode {
++- private Diagnostic<? extends JavaFileObject> diag;
++- private DiagNode next;
++- private DiagNode prev;
++-
++- private DiagNode(DiagNode prev, Diagnostic<? extends JavaFileObject> diag, DiagNode next) {
++- this.diag = diag;
++- this.next = next;
++- this.prev = prev;
++- }
++- }
++ }
++
++ static final class RichDiagnostic implements Diagnostic {
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/parsing/FileObjectArchive.java b/java.source.base/src/org/netbeans/modules/java/source/parsing/FileObjectArchive.java
++index 6c9c5df67..44d6ef84f 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/parsing/FileObjectArchive.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/parsing/FileObjectArchive.java
++@@ -50,7 +50,6 @@ import java.util.Collections;
++ import java.util.List;
++ import java.util.Set;
++ import javax.tools.JavaFileObject;
++-import javax.tools.JavaFileObject.Kind;
++ import org.netbeans.api.java.classpath.ClassPath;
++ import org.netbeans.modules.java.preprocessorbridge.spi.JavaFileFilterImplementation;
++ import org.openide.filesystems.FileObject;
++@@ -68,9 +67,9 @@ public class FileObjectArchive implements Archive {
++ public FileObjectArchive (final FileObject root) {
++ this.root = root;
++ }
++-
+++
++ public Iterable<JavaFileObject> getFiles(String folderName, ClassPath.Entry entry, Set<JavaFileObject.Kind> kinds, JavaFileFilterImplementation filter) throws IOException {
++- FileObject folder = root.getFileObject(folderName);
+++ FileObject folder = root.getFileObject(folderName);
++ if (folder == null || !(entry == null || entry.includes(folder))) {
++ return Collections.<JavaFileObject>emptySet();
++ }
++@@ -78,15 +77,8 @@ public class FileObjectArchive implements Archive {
++ List<JavaFileObject> result = new ArrayList<JavaFileObject>(children.length);
++ for (FileObject fo : children) {
++ if (fo.isData() && (entry == null || entry.includes(fo))) {
++- final Kind kind = FileObjects.getKind(fo.getExt());
++- if (kinds == null || kinds.contains (kind)) {
++- JavaFileObject file;
++- if (kind == Kind.CLASS) {
++- file = FileObjects.fileObjectFileObject(fo, root, filter, null);
++- } else {
++- file = FileObjects.sourceFileObject(fo, root, filter,false);
++- }
++- result.add(file);
+++ if (kinds == null || kinds.contains (FileObjects.getKind(fo.getExt()))) {
+++ result.add(FileObjects.sourceFileObject(fo, root, filter,false));
++ }
++ }
++ }
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/parsing/FileObjects.java b/java.source.base/src/org/netbeans/modules/java/source/parsing/FileObjects.java
++index 636dc8bcf..fbe730347 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/parsing/FileObjects.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/parsing/FileObjects.java
++@@ -72,8 +72,6 @@ import java.net.URLEncoder;
++ import java.nio.CharBuffer;
++ import java.nio.channels.CompletionHandler;
++ import java.nio.charset.Charset;
++-import java.nio.file.Files;
++-import java.nio.file.Path;
++ import java.util.Arrays;
++ import java.util.Comparator;
++ import java.util.HashSet;
++@@ -145,8 +143,7 @@ public class FileObjects {
++
++ public static final String RESOURCES = "resouces." + FileObjects.RES; //NOI18N
++
++- private static final Charset SYSTEM_ENCODING = Charset.defaultCharset();
++- private static final Charset UTF8_ENCODING = Charset.forName("UTF-8"); //NOI18N
+++ private static final String encodingName = new OutputStreamWriter(new ByteArrayOutputStream()).getEncoding();
++ //todo: If more clients than btrace will need this, create a SPI.
++ private static final Set<String> javaFlavorExt = new HashSet<String>();
++ static {
++@@ -231,23 +228,6 @@ public class FileObjects {
++ }
++
++ /**
++- * Creates {@link JavaFileObject} for a {@link FileObject}
++- * @param file for which the {@link JavaFileObject} should be created
++- * @param root - the classpath root owning the file
++- * @param filter the preprocessor filter or null
++- * @param encoding - the file's encoding or null for non source file
++- * @return {@link JavaFileObject}, never returns null
++- */
++- @NonNull
++- public static PrefetchableJavaFileObject fileObjectFileObject( final @NonNull FileObject file, final @NonNull FileObject root,
++- final @NullAllowed JavaFileFilterImplementation filter, final @NullAllowed Charset encoding) {
++- assert file != null;
++- assert root != null;
++- final String[] pkgNamePair = getFolderAndBaseName(FileUtil.getRelativePath(root,file), NBFS_SEPARATOR_CHAR);
++- return new FileObjectBase(file, convertFolder2Package(pkgNamePair[0], NBFS_SEPARATOR_CHAR), pkgNamePair[1], filter, encoding);
++- }
++-
++- /**
++ * Creates {@link JavaFileObject} for a regular {@link File}
++ * @param file for which the {@link JavaFileObject} should be created
++ * @param root - the classpath root owning the file
++@@ -539,65 +519,6 @@ public class FileObjects {
++ }
++
++ /**
++- * Creates an {@link InferableJavaFileObject} for NIO {@link Path}.
++- * @param file the {@link Path} to create file object for
++- * @param root the root
++- * @param rootUri the root {@link URI} or null if the {@link URI} should be taken from file
++- * @param encoding the optional encoding or null for system encoding
++- * @return the {@link InferableJavaFileObject}
++- */
++- @NonNull
++- public static InferableJavaFileObject pathFileObject(
++- @NonNull final Path file,
++- @NonNull final Path root,
++- @NullAllowed final String rootUri,
++- @NullAllowed Charset encoding) {
++- final char separator = file.getFileSystem().getSeparator().charAt(0);
++- final Path relPath = root.relativize(file);
++- final String[] path = getFolderAndBaseName(relPath.toString(), separator);
++- String fileUri;
++- if (rootUri != null) {
++- fileUri = relPath.toUri().getRawPath();
++- if (fileUri.charAt(0) == FileObjects.NBFS_SEPARATOR_CHAR) {
++- fileUri = fileUri.substring(1);
++- }
++- fileUri = rootUri + fileUri;
++- } else {
++- fileUri = null;
++- }
++- return new PathFileObject(
++- file,
++- convertFolder2Package(path[0], separator),
++- path[1],
++- fileUri,
++- encoding);
++- }
++-
++- /**
++- * Creates an {@link InferableJavaFileObject} for NIO {@link Path}.
++- * @param folder the folder
++- * @param baseName the file basename with extension
++- * @param root the classpath root
++- * @param rootUri the root {@link URI} or null if the {@link URI} should be taken from file
++- * @param encoding the optional encoding or null for system encoding
++- * @return the {@link InferableJavaFileObject}
++- */
++- @NonNull
++- public static InferableJavaFileObject pathFileObject(
++- @NonNull final String folder,
++- @NonNull final String baseName,
++- @NonNull final Path root,
++- @NullAllowed final String rootUri,
++- @NullAllowed Charset encoding) {
++- return new LazyPathFileObject(
++- convertFolder2Package(folder),
++- baseName,
++- root,
++- rootUri,
++- encoding);
++- }
++-
++- /**
++ * Removes extension from fileName
++ * @param fileName to remove extension from
++ * @return the fileName without extension
++@@ -986,14 +907,8 @@ public class FileObjects {
++ protected final String pkgName;
++ protected final String nameWithoutExt;
++ protected final String ext;
++- protected final Charset encoding;
++- protected final boolean caseSensitive;
++
++- protected Base (
++- final String pkgName,
++- final String name,
++- final Charset encoding,
++- final boolean caseSensitive) {
+++ protected Base (final String pkgName, final String name) {
++ assert pkgName != null;
++ assert name != null;
++ this.pkgName = pkgName;
++@@ -1001,8 +916,6 @@ public class FileObjects {
++ this.nameWithoutExt = res[0];
++ this.ext = res[1];
++ this.kind = FileObjects.getKind (this.ext);
++- this.encoding = encoding;
++- this.caseSensitive = caseSensitive;
++ }
++
++ @Override
++@@ -1012,8 +925,7 @@ public class FileObjects {
++
++ @Override
++ public boolean isNameCompatible (String simplename, JavaFileObject.Kind k) {
++- return this.kind == k &&
++- (caseSensitive ? nameWithoutExt.equals(simplename) : nameWithoutExt.equalsIgnoreCase(simplename));
+++ return this.kind == k && nameWithoutExt.equals(simplename);
++ }
++
++ @Override
++@@ -1083,28 +995,6 @@ public class FileObjects {
++ return sb.toString();
++ }
++
++- @Override
++- public Reader openReader(boolean b) throws IOException {
++- if (this.getKind() == JavaFileObject.Kind.CLASS) {
++- throw new UnsupportedOperationException();
++- } else {
++- return encoding == null ?
++- new InputStreamReader(openInputStream()):
++- new InputStreamReader(openInputStream(), encoding);
++- }
++- }
++-
++- @Override
++- public Writer openWriter() throws IOException {
++- if (this.getKind() == JavaFileObject.Kind.CLASS) {
++- throw new UnsupportedOperationException();
++- } else {
++- return encoding != null ?
++- new OutputStreamWriter(openOutputStream(), encoding) :
++- new OutputStreamWriter(openOutputStream());
++- }
++- }
++-
++ private static String[] getNameExtPair (String name) {
++ int index = name.lastIndexOf ('.');
++ String namenx;
++@@ -1129,64 +1019,26 @@ public class FileObjects {
++ }
++ }
++
++- public static abstract class PrefetchableBase extends Base implements PrefetchableJavaFileObject {
++-
++- private volatile CharSequence data;
++-
++- protected PrefetchableBase(
++- @NonNull final String pkgName,
++- @NonNull final String name,
++- @NullAllowed final Charset encoding,
++- final boolean caseSensitive) {
++- super(pkgName, name, encoding, caseSensitive);
++- }
++-
++- @Override
++- public CharSequence getCharContent(boolean ignoreEncodingErrors) throws IOException {
++- CharSequence res = data;
++- if (res == null) {
++- res = getCharContentImpl(ignoreEncodingErrors);
++- }
++- return res;
++- }
++-
++- @Override
++- public int prefetch() throws IOException {
++- final CharSequence chc = getCharContentImpl(true);
++- data = chc;
++- return chc.length();
++- }
++-
++- @Override
++- public int dispose() {
++- final CharSequence _data = data;
++- if (_data != null) {
++- data = null;
++- return _data.length();
++- } else {
++- return 0;
++- }
++- }
++-
++- protected abstract CharSequence getCharContentImpl(boolean ignoreEncodingErrors) throws IOException;
++- }
++-
++ @Trusted
++- public static class FileBase extends PrefetchableBase {
+++ public static class FileBase extends Base implements PrefetchableJavaFileObject {
++
+++ private static final boolean isWindows = BaseUtilities.isWindows();
++ protected final File f;
++ protected final JavaFileFilterImplementation filter;
++- private volatile URI uriCache;
+++ protected final Charset encoding;
+++ URI uriCache;
+++ private volatile CharSequence data;
++
++ protected FileBase (final File file,
++ final String pkgName,
++ final String name,
++ final JavaFileFilterImplementation filter,
++ final Charset encoding) {
++- super (pkgName, name, encoding, !BaseUtilities.isWindows());
+++ super (pkgName, name);
++ assert file != null;
++ this.f = file;
++ this.filter = filter;
+++ this.encoding = encoding;
++ }
++
++ public File getFile () {
++@@ -1199,6 +1051,13 @@ public class FileObjects {
++ }
++
++ @Override
+++ public Reader openReader (boolean b) throws IOException {
+++ return encoding == null ?
+++ new InputStreamReader(openInputStream()):
+++ new InputStreamReader(openInputStream(), encoding);
+++ }
+++
+++ @Override
++ public OutputStream openOutputStream() throws IOException {
++ final File parent = f.getParentFile();
++ if (!parent.exists()) {
++@@ -1208,93 +1067,48 @@ public class FileObjects {
++ }
++
++ @Override
++- public URI toUri () {
++- if (this.uriCache == null) {
++- this.uriCache = BaseUtilities.toURI(f);
+++ public Writer openWriter() throws IOException {
+++ if (encoding != null) {
+++ return new OutputStreamWriter(openOutputStream(), encoding);
+++ } else {
+++ return new OutputStreamWriter(openOutputStream());
++ }
++- return this.uriCache;
++- }
++-
++- @Override
++- public long getLastModified() {
++- return f.lastModified();
++ }
++
++ @Override
++- public boolean delete() {
++- return f.delete();
++- }
++-
++- @Override
++- public boolean equals(final Object other) {
++- if (!(other instanceof FileBase))
++- return false;
++- final FileBase o = (FileBase) other;
++- return f.equals(o.f);
++- }
++-
++- @Override
++- public int hashCode() {
++- return f.hashCode();
++- }
++-
++- @Override
++- protected CharSequence getCharContentImpl(boolean ignoreEncodingErrors) throws IOException {
++- return FileObjects.getCharContent(openInputStream(), encoding, filter, f.length(), ignoreEncodingErrors);
++- }
++- }
++-
++- @Trusted
++- public static class FileObjectBase extends PrefetchableBase {
++-
++- protected final FileObject f;
++- protected final JavaFileFilterImplementation filter;
++- private volatile URI uriCache;
++-
++- protected FileObjectBase (final FileObject file,
++- final String pkgName,
++- final String name,
++- final JavaFileFilterImplementation filter,
++- final Charset encoding) {
++- super (pkgName, name, encoding, !BaseUtilities.isWindows());
++- assert file != null;
++- this.f = file;
++- this.filter = filter;
++- }
++-
++- @Override
++- public InputStream openInputStream() throws IOException {
++- return new BufferedInputStream (f.getInputStream());
++- }
++-
++- @Override
++- public OutputStream openOutputStream() throws IOException {
++- throw new UnsupportedOperationException();
+++ public boolean isNameCompatible(String simplename, JavaFileObject.Kind kind) {
+++ return isWindows ?
+++ this.kind == kind && nameWithoutExt.equalsIgnoreCase(simplename) :
+++ super.isNameCompatible(simplename, kind);
++ }
++
++ @Override
++ public URI toUri () {
++ if (this.uriCache == null) {
++- this.uriCache = f.toURI();
+++ this.uriCache = BaseUtilities.toURI(f);
++ }
++ return this.uriCache;
++ }
++
++ @Override
++ public long getLastModified() {
++- return f.lastModified().getTime();
+++ return f.lastModified();
++ }
++
++ @Override
++ public boolean delete() {
++- try {
++- f.delete();
++- return true;
++- } catch (IOException ex) {
++- return false;
++- }
+++ return f.delete();
++ }
++
+++ @Override
+++ public CharSequence getCharContent(boolean ignoreEncodingErrors) throws IOException {
+++ CharSequence res = data;
+++ if (res == null) {
+++ res = getCharContentImpl(ignoreEncodingErrors);
+++ }
+++ return res;
+++ }
+++
++ @Override
++ public boolean equals(final Object other) {
++ if (!(other instanceof FileBase))
++@@ -1309,168 +1123,25 @@ public class FileObjects {
++ }
++
++ @Override
++- protected CharSequence getCharContentImpl(boolean ignoreEncodingErrors) throws IOException {
++- return FileObjects.getCharContent(openInputStream(), encoding, filter, f.getSize(), ignoreEncodingErrors);
++- }
++- }
++-
++- private static abstract class PathBase extends Base {
++-
++- private volatile URI uriCache;
++-
++- protected PathBase(
++- @NonNull final String pkgName,
++- @NonNull final String name,
++- @NullAllowed final Charset encoding) {
++- super(
++- pkgName,
++- name,
++- encoding,
++- !BaseUtilities.isWindows());
++- }
++-
++- @Override
++- public final URI toUri() {
++- URI res = uriCache;
++- if (res == null) {
++- res = uriCache = resolveURI();
++- }
++- return res;
++- }
++-
++- @Override
++- public final InputStream openInputStream() throws IOException {
++- return Files.newInputStream(resolvePath());
++- }
++-
++- @Override
++- public final CharSequence getCharContent(final boolean ignoreEncodingErrors) throws IOException {
++- final long len = Files.size(resolvePath());
++- return FileObjects.getCharContent(
++- openInputStream(),
++- encoding,
++- null,
++- len,
++- ignoreEncodingErrors);
++- }
++-
++- @Override
++- public final long getLastModified() {
++- try {
++- return Files.getLastModifiedTime(resolvePath()).toMillis();
++- } catch (IOException ioe) {
++- return 0L;
++- }
++- }
++-
++- @Override
++- public final OutputStream openOutputStream() throws IOException {
++- throw new UnsupportedOperationException("Write not supported");
++- }
++-
++- @Override
++- public final boolean delete() {
++- throw new UnsupportedOperationException("Delete not supported");
++- }
++-
++- @NonNull
++- protected abstract Path resolvePath();
++-
++- @NonNull
++- protected abstract URI resolveURI();
++- }
++-
++- @Trusted
++- private static final class PathFileObject extends PathBase {
++-
++- private final Path path;
++- private final String rawUri;
++-
++- PathFileObject(
++- @NonNull final Path file,
++- @NonNull final String pkgName,
++- @NonNull final String name,
++- @NullAllowed final String rawUri,
++- @NullAllowed final Charset encoding) {
++- super(
++- pkgName,
++- name,
++- encoding);
++- assert file != null;
++- this.path = file;
++- this.rawUri = rawUri;
++- }
++-
++- @Override
++- protected Path resolvePath() {
++- return path;
++- }
++-
++- @Override
++- @NonNull
++- protected URI resolveURI() {
++- return rawUri == null ?
++- resolvePath().toUri() :
++- URI.create(rawUri);
++- }
++- }
++-
++- @Trusted
++- private static final class LazyPathFileObject extends PathBase {
++- private final Path root;
++- private final String rootUri;
++- private volatile Path fileCache;
++-
++- LazyPathFileObject(
++- @NonNull final String pkgName,
++- @NonNull final String name,
++- @NonNull final Path root,
++- @NullAllowed final String rootUri,
++- @NullAllowed final Charset encoding) {
++- super(
++- pkgName,
++- name,
++- encoding);
++- assert root != null;
++- this.root = root;
++- this.rootUri = rootUri;
+++ public int prefetch() throws IOException {
+++ final CharSequence chc = getCharContentImpl(true);
+++ data = chc;
+++ return chc.length();
++ }
++
++ @Override
++- @NonNull
++- protected Path resolvePath() {
++- Path file = fileCache;
++- if (file == null) {
++- final char sep = root.getFileSystem().getSeparator().charAt(0);
++- final StringBuilder relPath = new StringBuilder();
++- if (!pkgName.isEmpty()) {
++- relPath.append(convertPackage2Folder(pkgName,sep)).
++- append(sep);
++- }
++- relPath.append(nameWithoutExt).
++- append('.').
++- append(ext);
++- file = fileCache = root.resolve(relPath.toString());
+++ public int dispose() {
+++ final CharSequence _data = data;
+++ if (_data != null) {
+++ data = null;
+++ return _data.length();
+++ } else {
+++ return 0;
++ }
++- return file;
++ }
++
++- @Override
++- @NonNull
++- protected URI resolveURI() {
++- if (rootUri == null) {
++- return resolvePath().toUri();
++- }
++- final StringBuilder sb = new StringBuilder().
++- append(rootUri);
++- if (!pkgName.isEmpty()) {
++- sb.append(convertPackage2Folder(pkgName)).
++- append(NBFS_SEPARATOR_CHAR);
++- }
++- sb.append(nameWithoutExt).
++- append('.'). //NOI18N
++- append(ext);
++- return URI.create(sb.toString());
+++ private CharSequence getCharContentImpl(boolean ignoreEncodingErrors) throws IOException {
+++ return FileObjects.getCharContent(openInputStream(), encoding, filter, f.length(), ignoreEncodingErrors);
++ }
++ }
++
++@@ -1546,7 +1217,7 @@ public class FileObjects {
++ @NonNull final String folderName,
++ @NonNull final String baseName,
++ final long mtime) {
++- super (convertFolder2Package(folderName), baseName, FileObjects.SYSTEM_ENCODING, true);
+++ super (convertFolder2Package(folderName),baseName);
++ assert pathToRootInArchive == null || pathToRootInArchive.charAt(pathToRootInArchive.length()-1) == NBFS_SEPARATOR_CHAR;
++ this.mtime = mtime;
++ if (folderName.length() == 0) {
++@@ -1581,6 +1252,21 @@ public class FileObjects {
++ }
++
++ @Override
+++ public Reader openReader(boolean b) throws IOException {
+++ if (this.getKind() == JavaFileObject.Kind.CLASS) {
+++ throw new UnsupportedOperationException();
+++ }
+++ else {
+++ return new InputStreamReader (openInputStream(),FileObjects.encodingName);
+++ }
+++ }
+++
+++ @Override
+++ public Writer openWriter() throws IOException {
+++ throw new UnsupportedOperationException();
+++ }
+++
+++ @Override
++ public long getLastModified() {
++ return mtime;
++ }
++@@ -1591,13 +1277,32 @@ public class FileObjects {
++ }
++
++ @Override
++- public CharSequence getCharContent(boolean ignoreEncodingErrors) throws IOException {
++- return FileObjects.getCharContent(
++- openInputStream(),
++- encoding,
++- null,
++- (int)this.getSize(),
++- ignoreEncodingErrors);
+++ @SuppressWarnings("empty-statement")
+++ public CharBuffer getCharContent(boolean ignoreEncodingErrors) throws IOException {
+++ Reader r = openReader(ignoreEncodingErrors);
+++ try {
+++ int red = 0, rv;
+++
+++ int len = (int)this.getSize();
+++ char[] result = new char [len+1];
+++ while ((rv=r.read(result,red,len-red))>0 && (red=red+rv)<len);
+++
+++ int j=0;
+++ for (int i=0; i<red;i++) {
+++ if (result[i] =='\r') { //NOI18N
+++ if (i+1>=red || result[i+1]!='\n') { //NOI18N
+++ result[j++] = '\n'; //NOI18N
+++ }
+++ }
+++ else {
+++ result[j++] = result[i];
+++ }
+++ }
+++ result[j]='\n'; //NOI18N
+++ return CharBuffer.wrap (result,0,j);
+++ } finally {
+++ r.close();
+++ }
++ }
++
++ @Override
++@@ -1838,7 +1543,7 @@ public class FileObjects {
++
++ public MemoryFileObject(final String packageName, final String fileName,
++ final URI uri, final long lastModified, final CharBuffer cb ) {
++- super (packageName, fileName, UTF8_ENCODING, true); //NOI18N
+++ super (packageName, fileName); //NOI18N
++ this.cb = cb;
++ this.lastModified = lastModified;
++ this.uri = uri;
++@@ -1891,7 +1596,7 @@ public class FileObjects {
++ */
++ @Override
++ public InputStream openInputStream() throws java.io.IOException {
++- return new ByteArrayInputStream(cb.toString().getBytes(encoding));
+++ return new ByteArrayInputStream(cb.toString().getBytes("UTF-8"));
++ }
++
++ /**
++@@ -1949,6 +1654,9 @@ public class FileObjects {
++ public int dispose() {
++ return 0;
++ }
+++
+++
+++
++ }
++
++ @Trusted
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/parsing/Hacks.java b/java.source.base/src/org/netbeans/modules/java/source/parsing/Hacks.java
++index 43a9711e9..c7a8f6fa7 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/parsing/Hacks.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/parsing/Hacks.java
++@@ -96,26 +96,4 @@ public class Hacks {
++ }
++ return null;
++ }
++-
++- /**
++- * Extracts diagnostic params from a diagnostic. Gets under hood of Javac
++- * Diagnostic objects and extracts parameters which are otherwise just used
++- * to produce a message. <b>Keep in mind that the positions and types of parameters
++- * may change in each nbjavac update!</b>
++- * @param d diagnostic
++- * @param index parameter index to extract
++- * @return parameter value, null if index is out of range
++- */
++- public static Object getDiagnosticParam(Diagnostic<?> d, int index) {
++- JCDiagnostic jcd = getJCDiagnostic(d);
++- if (jcd == null) {
++- return null;
++- }
++- Object[] args = jcd.getArgs();
++- if (args == null || args.length <= index) {
++- return null;
++- }
++- return args[index];
++- }
++-
++ }
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/parsing/JavacParser.java b/java.source.base/src/org/netbeans/modules/java/source/parsing/JavacParser.java
++index ffefc4b4c..9f140c6aa 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/parsing/JavacParser.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/parsing/JavacParser.java
++@@ -69,7 +69,6 @@ import com.sun.tools.javac.util.CouplingAbort;
++ import com.sun.tools.javac.util.Log;
++ import com.sun.tools.javac.util.Options;
++ import com.sun.tools.javac.util.Position.LineMapImpl;
++-import com.sun.tools.javadoc.JavadocClassFinder;
++
++ import java.io.File;
++ import java.io.FileOutputStream;
++@@ -257,7 +256,7 @@ public class JavacParser extends Parser {
++ }
++
++ private void init (final Snapshot snapshot, final Task task, final boolean singleSource) {
++- final boolean explicitCpInfo = (task instanceof ClasspathInfo.Provider) && ((ClasspathInfo.Provider)task).getClasspathInfo() != null;
+++ final boolean explicitCpInfo = (task instanceof ClasspathInfoProvider) && ((ClasspathInfoProvider)task).getClasspathInfo() != null;
++ if (!initialized) {
++ final Source source = snapshot.getSource();
++ final FileObject sourceFile = source.getFileObject();
++@@ -265,7 +264,7 @@ public class JavacParser extends Parser {
++ this.file = sourceFile;
++ final ClasspathInfo oldInfo = this.cpInfo;
++ if (explicitCpInfo) {
++- cpInfo = ((ClasspathInfo.Provider)task).getClasspathInfo();
+++ cpInfo = ((ClasspathInfoProvider)task).getClasspathInfo();
++ }
++ else {
++ cpInfo = ClasspathInfo.create(sourceFile);
++@@ -318,8 +317,8 @@ public class JavacParser extends Parser {
++ private void init(final Task task) {
++ if (!initialized) {
++ ClasspathInfo _tmpInfo = null;
++- if (task instanceof ClasspathInfo.Provider &&
++- (_tmpInfo = ((ClasspathInfo.Provider)task).getClasspathInfo()) != null) {
+++ if (task instanceof ClasspathInfoProvider &&
+++ (_tmpInfo = ((ClasspathInfoProvider)task).getClasspathInfo()) != null) {
++ if (cpInfo != null && weakCpListener != null) {
++ cpInfo.removeChangeListener(weakCpListener);
++ this.weakCpListener = null;
++@@ -448,7 +447,7 @@ public class JavacParser extends Parser {
++ final boolean isJavaParserResultTask = task instanceof JavaParserResultTask;
++ final boolean isParserResultTask = task instanceof ParserResultTask;
++ final boolean isUserTask = task instanceof UserTask;
++- final boolean isClasspathInfoProvider = task instanceof ClasspathInfo.Provider;
+++ final boolean isClasspathInfoProvider = task instanceof ClasspathInfoProvider;
++
++ //Assumes that caller is synchronized by the Parsing API lock
++ if (invalid || isClasspathInfoProvider) {
++@@ -456,7 +455,7 @@ public class JavacParser extends Parser {
++ LOGGER.fine ("Invalid, reparse"); //NOI18N
++ }
++ if (isClasspathInfoProvider) {
++- final ClasspathInfo providedInfo = ((ClasspathInfo.Provider)task).getClasspathInfo();
+++ final ClasspathInfo providedInfo = ((ClasspathInfoProvider)task).getClasspathInfo();
++ if (providedInfo != null && !providedInfo.equals(cpInfo)) {
++ if (sourceCount != 0) {
++ LOGGER.log (Level.FINE, "Task {0} has changed ClasspathInfo form: {1} to:{2}", new Object[]{task, cpInfo, providedInfo}); //NOI18N
++@@ -821,8 +820,7 @@ public class JavacParser extends Parser {
++ if (aptEnabled) {
++ task.setProcessors(processors);
++ }
++- NBClassReader.preRegister(context);
++- JavadocClassFinder.preRegister(context, !backgroundCompilation);
+++ NBClassReader.preRegister(context, !backgroundCompilation);
++ if (cnih != null) {
++ context.put(ClassNamesForFileOraculum.class, cnih);
++ }
++@@ -869,7 +867,7 @@ public class JavacParser extends Parser {
++ warnLevel = Level.WARNING;
++ }
++ for (com.sun.tools.javac.code.Source source : sources) {
++- if (source == com.sun.tools.javac.code.Source.lookup(sourceLevel)) {
+++ if (source.name.equals(sourceLevel)) {
++ if (DISABLE_SOURCE_LEVEL_DOWNGRADE) {
++ return source;
++ }
++@@ -911,14 +909,6 @@ public class JavacParser extends Parser {
++ new Object[]{cpInfo.getClassPath(PathKind.SOURCE), sourceLevel, bootClassPath}); //NOI18N
++ return com.sun.tools.javac.code.Source.JDK1_7;
++ }
++- if (source.compareTo(com.sun.tools.javac.code.Source.JDK1_9) >= 0 &&
++- !hasResource("java/util/zip/CRC32C", bootClassPath, classPath, srcClassPath)) { //NOI18N
++- LOGGER.log(warnLevel,
++- "Even though the source level of {0} is set to: {1}, java.util.zip.CRC32C cannot be found on the bootclasspath: {2}\n" + //NOI18N
++- "Changing source level to 1.8", //NOI18N
++- new Object[]{cpInfo.getClassPath(PathKind.SOURCE), sourceLevel, bootClassPath}); //NOI18N
++- return com.sun.tools.javac.code.Source.JDK1_8;
++- }
++ return source;
++ }
++ }
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/parsing/PathArchive.java b/java.source.base/src/org/netbeans/modules/java/source/parsing/PathArchive.java
++deleted file mode 100644
++index 29ae8919f..000000000
++--- a/java.source.base/src/org/netbeans/modules/java/source/parsing/PathArchive.java
+++++ /dev/null
++@@ -1,148 +0,0 @@
++-/*
++- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++- *
++- * Copyright 2015 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
++- *
++- * The contents of this file are subject to the terms of either the GNU
++- * General Public License Version 2 only ("GPL") or the Common
++- * Development and Distribution License("CDDL") (collectively, the
++- * "License"). You may not use this file except in compliance with the
++- * License. You can obtain a copy of the License at
++- * http://www.netbeans.org/cddl-gplv2.html
++- * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++- * specific language governing permissions and limitations under the
++- * License. When distributing the software, include this License Header
++- * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
++- * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
++- * accompanied this code. If applicable, add the following below the
++- * License Header, with the fields enclosed by brackets [] replaced by
++- * your own identifying information:
++- * "Portions Copyrighted [year] [name of copyright owner]"
++- *
++- * If you wish your version of this file to be governed by only the CDDL
++- * or only the GPL Version 2, indicate your decision by adding
++- * "[Contributor] elects to include this software in this distribution
++- * under the [CDDL or GPL Version 2] license." If you do not indicate a
++- * single choice of license, a recipient has the option to distribute
++- * your version of this file under either the CDDL, the GPL Version 2 or
++- * to extend the choice of license to its licensees as provided above.
++- * However, if you add GPL Version 2 code and therefore, elected the GPL
++- * Version 2 license, then the option applies only if the new code is
++- * made subject to such option by the copyright holder.
++- *
++- * Contributor(s):
++- *
++- * Portions Copyrighted 2015 Sun Microsystems, Inc.
++- */
++-package org.netbeans.modules.java.source.parsing;
++-
++-import java.io.IOException;
++-import java.net.URI;
++-import java.nio.file.DirectoryStream;
++-import java.nio.file.Files;
++-import java.nio.file.NoSuchFileException;
++-import java.nio.file.NotDirectoryException;
++-import java.nio.file.Path;
++-import java.util.ArrayList;
++-import java.util.Collections;
++-import java.util.List;
++-import java.util.Set;
++-import javax.tools.JavaFileObject;
++-import org.netbeans.api.annotations.common.CheckForNull;
++-import org.netbeans.api.annotations.common.NonNull;
++-import org.netbeans.api.annotations.common.NullAllowed;
++-import org.netbeans.api.java.classpath.ClassPath;
++-import org.netbeans.modules.java.preprocessorbridge.spi.JavaFileFilterImplementation;
++-
++-/**
++- *
++- * @author Tomas Zezula
++- */
++-public final class PathArchive implements Archive {
++-
++- private final Path root;
++- private final String rootURI;
++- private final char separator;
++-
++- PathArchive(
++- @NonNull final Path root,
++- @NullAllowed final URI rootURI) {
++- assert root != null;
++- this.root = root;
++- this.rootURI = rootURI == null ? null : rootURI.toString();
++- final String separator = root.getFileSystem().getSeparator();
++- if (separator.length() != 1) {
++- throw new IllegalArgumentException("Multi character separators are unsupported");
++- }
++- this.separator = separator.charAt(0);
++- }
++-
++- @Override
++- @NonNull
++- public Iterable<JavaFileObject> getFiles(
++- @NonNull String folderName,
++- @NullAllowed final ClassPath.Entry entry,
++- @NullAllowed final Set<JavaFileObject.Kind> kinds,
++- @NullAllowed final JavaFileFilterImplementation filter) throws IOException {
++- if (separator != FileObjects.NBFS_SEPARATOR_CHAR) {
++- folderName = folderName.replace(FileObjects.NBFS_SEPARATOR_CHAR, separator);
++- }
++- final Path target = root.resolve(folderName);
++- try (DirectoryStream<Path> dir = Files.newDirectoryStream(target, new KindFilter(kinds))) {
++- final List<JavaFileObject> res = new ArrayList<>();
++- for (Path dirEnt : dir) {
++- res.add(FileObjects.pathFileObject(dirEnt, root, rootURI, null));
++- }
++- return res;
++- } catch (NotDirectoryException | NoSuchFileException e) {
++- return Collections.emptyList();
++- }
++- }
++-
++- @Override
++- @CheckForNull
++- public JavaFileObject getFile(@NonNull String name) throws IOException {
++- if (separator != FileObjects.NBFS_SEPARATOR_CHAR) {
++- name = name.replace(FileObjects.NBFS_SEPARATOR_CHAR, separator);
++- }
++- final Path target = root.resolve(name);
++- return Files.exists(target) ?
++- FileObjects.pathFileObject(target, root, rootURI, null) :
++- null;
++- }
++-
++- @Override
++- public JavaFileObject create(String relativeName, JavaFileFilterImplementation filter) throws UnsupportedOperationException {
++- throw new UnsupportedOperationException("Write not supported"); //NOI18N
++- }
++-
++- @Override
++- public void clear() {
++- }
++-
++-
++- private static final class KindFilter implements DirectoryStream.Filter<Path> {
++- private final Set<JavaFileObject.Kind> kinds;
++-
++- KindFilter(@NullAllowed final Set<JavaFileObject.Kind> kinds) {
++- this.kinds = kinds;
++- }
++-
++- @Override
++- public boolean accept(Path entry) throws IOException {
++- if (Files.isDirectory(entry)) {
++- return false;
++- }
++- if (kinds == null) {
++- return true;
++- }
++- return kinds.contains(FileObjects.getKind(
++- FileObjects.getExtension(entry.getFileName().toString())));
++- }
++- }
++-}
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/pretty/VeryPretty.java b/java.source.base/src/org/netbeans/modules/java/source/pretty/VeryPretty.java
++index 129870b44..8e6f52b1a 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/pretty/VeryPretty.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/pretty/VeryPretty.java
++@@ -44,7 +44,6 @@
++ package org.netbeans.modules.java.source.pretty;
++
++ import com.sun.source.tree.BlockTree;
++-import com.sun.source.tree.CaseTree;
++ import com.sun.source.tree.ClassTree;
++ import com.sun.source.tree.CompilationUnitTree;
++ import com.sun.source.tree.LambdaExpressionTree.BodyKind;
++@@ -89,13 +88,13 @@ import com.sun.source.doctree.UnknownBlockTagTree;
++ import com.sun.source.doctree.UnknownInlineTagTree;
++ import com.sun.source.doctree.ValueTree;
++ import com.sun.source.doctree.VersionTree;
+++import com.sun.source.tree.CaseTree;
++
++ import com.sun.tools.javac.api.JavacTaskImpl;
++ import com.sun.tools.javac.api.JavacTrees;
++ import com.sun.tools.javac.code.*;
++ import static com.sun.tools.javac.code.Flags.*;
++ import com.sun.tools.javac.code.Symbol.*;
++-import com.sun.tools.javac.comp.Operators;
++ import com.sun.tools.javac.main.JavaCompiler;
++ import com.sun.tools.javac.tree.DCTree;
++ import com.sun.tools.javac.tree.DCTree.DCReference;
++@@ -152,7 +151,9 @@ public final class VeryPretty extends JCTree.Visitor implements DocTreeVisitor<V
++
++ private final Names names;
++ private final CommentHandler commentHandler;
++- private final Operators operators;
+++ private final Symtab symbols;
+++ private final Types types;
+++ private final TreeInfo treeinfo;
++ private final WidthEstimator widthEstimator;
++ private final DanglingElseChecker danglingElseChecker;
++
++@@ -169,6 +170,7 @@ public final class VeryPretty extends JCTree.Visitor implements DocTreeVisitor<V
++
++ private int fromOffset = -1;
++ private int toOffset = -1;
+++ private boolean containsError = false;
++ private boolean insideAnnotation = false;
++
++ private final Map<Tree, ?> tree2Tag;
++@@ -199,7 +201,9 @@ public final class VeryPretty extends JCTree.Visitor implements DocTreeVisitor<V
++ names = Names.instance(context);
++ enclClass = null;
++ commentHandler = CommentHandlerService.instance(context);
++- operators = Operators.instance(context);
+++ symbols = Symtab.instance(context);
+++ types = Types.instance(context);
+++ treeinfo = TreeInfo.instance(context);
++ widthEstimator = new WidthEstimator(context);
++ danglingElseChecker = new DanglingElseChecker();
++ prec = TreeInfo.notExpression;
++@@ -724,7 +728,8 @@ public final class VeryPretty extends JCTree.Visitor implements DocTreeVisitor<V
++
++ @Override
++ public void visitTopLevel(JCCompilationUnit tree) {
++- print(tree.getPackage());
+++ printAnnotations(tree.getPackageAnnotations());
+++ printPackage(tree.pid);
++ List<JCTree> l = tree.defs;
++ ArrayList<JCImport> imports = new ArrayList<JCImport>();
++ while (l.nonEmpty() && l.head.getTag() == JCTree.Tag.IMPORT){
++@@ -739,14 +744,6 @@ public final class VeryPretty extends JCTree.Visitor implements DocTreeVisitor<V
++ }
++
++ @Override
++- public void visitPackageDef(JCPackageDecl tree) {
++- if (tree != null) {
++- printAnnotations(tree.getAnnotations());
++- printPackage(tree.pid);
++- }
++- }
++-
++- @Override
++ public void visitImport(JCImport tree) {
++ print("import ");
++ if (tree.staticImport)
++@@ -1549,7 +1546,7 @@ public final class VeryPretty extends JCTree.Visitor implements DocTreeVisitor<V
++ printExpr(tree.lhs, TreeInfo.assignopPrec + 1);
++ if (cs.spaceAroundAssignOps())
++ print(' ');
++- print(operators.operatorName(tree.getTag().noAssignOp()));
+++ print(treeinfo.operatorName(tree.getTag().noAssignOp()));
++ print('=');
++ int rm = cs.getRightMargin();
++ switch(cs.wrapAssignOps()) {
++@@ -1578,7 +1575,7 @@ public final class VeryPretty extends JCTree.Visitor implements DocTreeVisitor<V
++ switch (tree.getTag()) {
++ case POS: opname = names.fromString("+"); break;
++ case NEG: opname = names.fromString("-"); break;
++- default: opname = operators.operatorName(tree.getTag()); break;
+++ default: opname = treeinfo.operatorName(tree.getTag()); break;
++ }
++ if (tree.getTag().ordinal() <= JCTree.Tag.PREDEC.ordinal()) { //XXX: comparing ordinals!
++ if (cs.spaceAroundUnaryOps()) {
++@@ -1608,7 +1605,7 @@ public final class VeryPretty extends JCTree.Visitor implements DocTreeVisitor<V
++ @Override
++ public void visitBinary(JCBinary tree) {
++ int ownprec = TreeInfo.opPrec(tree.getTag());
++- Name opname = operators.operatorName(tree.getTag());
+++ Name opname = treeinfo.operatorName(tree.getTag());
++ int col = out.col;
++ printExpr(tree.lhs, ownprec);
++ if(cs.spaceAroundBinaryOps())
++@@ -1663,11 +1660,6 @@ public final class VeryPretty extends JCTree.Visitor implements DocTreeVisitor<V
++ }
++
++ @Override
++- public void visitTypeIntersection(JCTypeIntersection tree) {
++- printExprs(tree.bounds, " & ");
++- }
++-
++- @Override
++ public void visitTypeTest(JCInstanceOf tree) {
++ printExpr(tree.expr, TreeInfo.ordPrec);
++ print(" instanceof ");
++@@ -1811,7 +1803,7 @@ public final class VeryPretty extends JCTree.Visitor implements DocTreeVisitor<V
++
++ @Override
++ public void visitWildcard(JCWildcard tree) {
++- print(String.valueOf(tree.kind));
+++ print("" + tree.kind.kind);
++ if (tree.kind.kind != BoundKind.UNBOUND)
++ printExpr(tree.inner);
++ }
++@@ -1875,6 +1867,7 @@ public final class VeryPretty extends JCTree.Visitor implements DocTreeVisitor<V
++ @Override
++ public void visitErroneous(JCErroneous tree) {
++ print("(ERROR)");
+++ containsError = true;
++ }
++
++ @Override
++@@ -2511,11 +2504,8 @@ public final class VeryPretty extends JCTree.Visitor implements DocTreeVisitor<V
++
++ str = str.trim().replaceAll("\n", "\n" + whitespace(col));
++
++- try {
++- adjustSpans(annotations, str);
++- } catch (Exception e) {
++- return false;
++- }
+++ adjustSpans(annotations, str);
+++
++ str = str.substring(0, str.lastIndexOf("class")).trim();
++
++ print(str);
++@@ -2640,7 +2630,7 @@ public final class VeryPretty extends JCTree.Visitor implements DocTreeVisitor<V
++ boolean hasImports = !imports.isEmpty();
++ CodeStyle.ImportGroups importGroups = null;
++ if (hasImports) {
++- blankLines(Math.max(cs.getBlankLinesBeforeImports(), diffContext.origUnit.getPackageName() != null ? cs.getBlankLinesAfterPackage() : 0));
+++ blankLines(Math.max(cs.getBlankLinesBeforeImports(), diffContext.origUnit.pid != null ? cs.getBlankLinesAfterPackage() : 0));
++ if (cs.separateImportGroups())
++ importGroups = cs.getImportGroups();
++ }
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/pretty/WidthEstimator.java b/java.source.base/src/org/netbeans/modules/java/source/pretty/WidthEstimator.java
++index 34be96431..80151f4b0 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/pretty/WidthEstimator.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/pretty/WidthEstimator.java
++@@ -46,7 +46,6 @@ package org.netbeans.modules.java.source.pretty;
++ import com.sun.tools.javac.util.*;
++ import com.sun.tools.javac.code.*;
++ import com.sun.tools.javac.code.Symbol.*;
++-import com.sun.tools.javac.comp.Operators;
++ import com.sun.tools.javac.tree.JCTree;
++ import com.sun.tools.javac.tree.JCTree.*;
++ import com.sun.tools.javac.tree.TreeInfo;
++@@ -60,11 +59,11 @@ public class WidthEstimator extends JCTree.Visitor {
++ private int prec;
++ private int maxwidth;
++ private final Symtab symbols;
++- private final Operators operators;
+++ private final TreeInfo treeinfo;
++
++ public WidthEstimator(Context context) {
++ symbols = Symtab.instance(context);
++- operators = Operators.instance(context);
+++ treeinfo = TreeInfo.instance(context);
++ }
++
++ public int estimateWidth(JCTree t, int maxwidth) {
++@@ -233,7 +232,7 @@ System.err.println("Need width calc for "+tree);
++ public void visitAssignop(JCAssignOp tree) {
++ open(prec, TreeInfo.assignopPrec);
++ width+=3;
++- width(operators.operatorName(tree.getTag()));
+++ width(treeinfo.operatorName(tree.getTag()));
++ width(tree.lhs, TreeInfo.assignopPrec + 1);
++ width(tree.rhs, TreeInfo.assignopPrec);
++ }
++@@ -244,15 +243,15 @@ System.err.println("Need width calc for "+tree);
++ width(tree.rhs, TreeInfo.assignPrec);
++ }
++ public void visitUnary(JCUnary tree) {
++- int ownprec = TreeInfo.opPrec(tree.getTag());
++- Name opname = operators.operatorName(tree.getTag());
+++ int ownprec = treeinfo.opPrec(tree.getTag());
+++ Name opname = treeinfo.operatorName(tree.getTag());
++ open(prec, ownprec);
++ width(opname);
++ width(tree.arg, ownprec);
++ }
++ public void visitBinary(JCBinary tree) {
++- int ownprec = TreeInfo.opPrec(tree.getTag());
++- Name opname = operators.operatorName(tree.getTag());
+++ int ownprec = treeinfo.opPrec(tree.getTag());
+++ Name opname = treeinfo.operatorName(tree.getTag());
++ open(prec, ownprec);
++ width(opname);
++ width+=2;
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/save/CasualDiff.java b/java.source.base/src/org/netbeans/modules/java/source/save/CasualDiff.java
++index b084b5061..d72ba91b9 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/save/CasualDiff.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/save/CasualDiff.java
++@@ -121,7 +121,6 @@ import com.sun.tools.javac.tree.JCTree.JCMethodInvocation;
++ import com.sun.tools.javac.tree.JCTree.JCModifiers;
++ import com.sun.tools.javac.tree.JCTree.JCNewArray;
++ import com.sun.tools.javac.tree.JCTree.JCNewClass;
++-import com.sun.tools.javac.tree.JCTree.JCPackageDecl;
++ import com.sun.tools.javac.tree.JCTree.JCParens;
++ import com.sun.tools.javac.tree.JCTree.JCPrimitiveTypeTree;
++ import com.sun.tools.javac.tree.JCTree.JCReturn;
++@@ -147,8 +146,6 @@ import com.sun.tools.javac.util.Context;
++ import com.sun.tools.javac.util.Name;
++ import com.sun.tools.javac.util.Names;
++ import com.sun.tools.javac.util.Position;
++-import java.io.PrintWriter;
++-import java.io.StringWriter;
++ import java.lang.reflect.Method;
++ import java.util.*;
++ import java.util.Map.Entry;
++@@ -505,7 +502,7 @@ public class CasualDiff {
++ td.oldTopLevel = diffContext.origUnit;
++ // TODO: the package name actually ends at the end of the name, so the semicolon could be treated as part
++ // of the diffed list
++- int start = td.oldTopLevel.getPackage() != null ? td.endPos(td.oldTopLevel.getPackage()) : 0;
+++ int start = td.oldTopLevel.getPackageName() != null ? td.endPos(td.oldTopLevel.getPackageName()) : 0;
++
++ List<JCImport> originalJC = new LinkedList<JCImport>();
++ List<JCImport> nueJC = new LinkedList<JCImport>();
++@@ -562,8 +559,24 @@ public class CasualDiff {
++ return -1;
++ return endPos(trees.get(trees.size()-1));
++ }
++-
++- private int checkLocalPointer(JCTree oldT, JCTree newT, int localPointer) {
+++
+++ protected void diffTopLevel(JCCompilationUnit oldT, JCCompilationUnit newT, int[] elementBounds) {
+++ final int start = elementBounds[0];
+++ int packageKeywordStart = start;
+++ if (oldT.pid != null) {
+++ tokenSequence.move(oldT.pid.getStartPosition());
+++ moveToSrcRelevant(tokenSequence, Direction.BACKWARD);
+++ packageKeywordStart = tokenSequence.offset();
+++ }
+++ //when adding first annotation, skip initial comments (typically a license):
+++ int localPointer = oldT.packageAnnotations.isEmpty() && !newT.packageAnnotations.isEmpty() ? packageKeywordStart : start;
+++ oldTopLevel = oldT;
+++ localPointer = diffAnnotationsLists(oldT.packageAnnotations, newT.packageAnnotations, localPointer, start);
+++ localPointer = diffPackageStatement(oldT, newT, packageKeywordStart, localPointer);
+++ PositionEstimator est = EstimatorFactory.imports(oldT.getImports(), newT.getImports(), diffContext);
+++ localPointer = diffList(oldT.getImports(), newT.getImports(), localPointer, est, Measure.DEFAULT, printer);
+++ est = EstimatorFactory.toplevel(oldT.getTypeDecls(), newT.getTypeDecls(), diffContext);
+++ localPointer = diffList(oldT.getTypeDecls(), newT.getTypeDecls(), localPointer, est, Measure.REAL_MEMBER, printer);
++ // diagnostics for defect #226498: log the tres iff the localPointer is bad
++ if (localPointer < 0 || localPointer > origText.length()) {
++ LOG.warning("Invalid localPointer (" + localPointer + "), see defect #226498 and report the log to the issue");
++@@ -571,21 +584,7 @@ public class CasualDiff {
++ LOG.warning("NewT:" + newT);
++ LOG.warning("CodeStyle: " + printCodeStyle(diffContext.style));
++ LOG.warning("origText(" + origText.length() + "): " + origText);
++- StringWriter sw = new StringWriter();
++- new Throwable().printStackTrace(new PrintWriter(sw));
++- LOG.warning("Stacktrace: " + sw.toString());
++ }
++- return localPointer;
++- }
++-
++- protected void diffTopLevel(JCCompilationUnit oldT, JCCompilationUnit newT, int[] elementBounds) {
++- oldTopLevel = oldT;
++- int localPointer = diffPackage(oldT.getPackage(), newT.getPackage(), elementBounds[0]);
++- PositionEstimator est = EstimatorFactory.imports(oldT.getImports(), newT.getImports(), diffContext);
++- localPointer = diffList(oldT.getImports(), newT.getImports(), localPointer, est, Measure.DEFAULT, printer);
++- est = EstimatorFactory.toplevel(oldT.getTypeDecls(), newT.getTypeDecls(), diffContext);
++- localPointer = diffList(oldT.getTypeDecls(), newT.getTypeDecls(), localPointer, est, Measure.REAL_MEMBER, printer);
++- checkLocalPointer(oldT, newT, localPointer);
++ printer.print(origText.substring(localPointer));
++ }
++
++@@ -677,38 +676,25 @@ public class CasualDiff {
++ }
++ }
++
++- protected int diffPackage(JCPackageDecl oldT, JCPackageDecl newT, int start) {
++- int packageKeywordStart = start;
++- JCExpression oldTPid = oldT != null ? oldT.pid : null;
++- JCExpression newTPid = newT != null ? newT.pid : null;
++- if (oldTPid != null) {
++- tokenSequence.move(oldTPid.getStartPosition());
++- moveToSrcRelevant(tokenSequence, Direction.BACKWARD);
++- packageKeywordStart = tokenSequence.offset();
++- }
++- com.sun.tools.javac.util.List<JCAnnotation> oldTAnnotations = oldT != null ? oldT.annotations : com.sun.tools.javac.util.List.<JCAnnotation>nil();
++- com.sun.tools.javac.util.List<JCAnnotation> newTAnnotations = newT != null ? newT.annotations : com.sun.tools.javac.util.List.<JCAnnotation>nil();
++- //when adding first annotation, skip initial comments (typically a license):
++- int localPointer = oldTAnnotations.isEmpty() && !newTAnnotations.isEmpty() ? packageKeywordStart : start;
++- localPointer = diffAnnotationsLists(oldTAnnotations, newTAnnotations, localPointer, start);
++- ChangeKind change = getChangeKind(oldTPid, newTPid);
+++ private int diffPackageStatement(JCCompilationUnit oldT, JCCompilationUnit newT, int packageKeywordStart, int localPointer) {
+++ ChangeKind change = getChangeKind(oldT.pid, newT.pid);
++ switch (change) {
++ // packages are the same or not available, i.e. both are null
++ case NOCHANGE:
++- if (oldTPid != null) {
++- localPointer = copyUpTo(localPointer, endPos(oldTPid));
+++ if (oldT.pid != null) {
+++ localPointer = copyUpTo(localPointer, endPos(oldT.pid));
++ }
++ break;
++
++ // package statement is new, print the keyword and semicolon
++ case INSERT:
++- printer.printPackage(newTPid);
+++ printer.printPackage(newT.pid);
++ break;
++
++ // package statement was deleted.
++ case DELETE:
++ copyTo(localPointer, packageKeywordStart);
++- tokenSequence.move(endPos(oldTPid));
+++ tokenSequence.move(endPos(oldT.pid));
++ moveToSrcRelevant(tokenSequence, Direction.FORWARD);
++ localPointer = tokenSequence.offset() + 1;
++ // todo (#pf): check the declaration:
++@@ -717,10 +703,10 @@ public class CasualDiff {
++
++ // package statement was modified.
++ case MODIFY:
++- copyTo(localPointer, getOldPos(oldTPid));
++- localPointer = endPos(oldTPid);
++- printer.print(newTPid);
++- diffInfo.put(getOldPos(oldTPid), NbBundle.getMessage(CasualDiff.class,"TXT_UpdatePackageStatement"));
+++ copyTo(localPointer, getOldPos(oldT.pid));
+++ localPointer = endPos(oldT.pid);
+++ printer.print(newT.pid);
+++ diffInfo.put(getOldPos(oldT.pid), NbBundle.getMessage(CasualDiff.class,"TXT_UpdatePackageStatement"));
++ break;
++ }
++ return localPointer;
++@@ -1021,23 +1007,7 @@ public class CasualDiff {
++ // constructor use whole tree start.
++ int oldPos = getOldPos(oldT.mods);
++ copyTo(localPointer, oldPos);
++- if (oldT.typarams.isEmpty()) {
++- if (oldT.restype != null) {
++- localPointer = getOldPos(oldT.restype);
++- } else {
++- localPointer = oldT.pos;
++- }
++- } else {
++- int firstTyParam = getOldPos(oldT.typarams.head);
++- tokenSequence.move(firstTyParam);
++- JavaTokenId id = moveToSrcRelevant(tokenSequence, Direction.BACKWARD);
++- if (id == JavaTokenId.LT) {
++- localPointer = tokenSequence.offset();
++- } else {
++- // fallback
++- localPointer = firstTyParam;
++- }
++- }
+++ localPointer = oldT.restype != null ? getOldPos(oldT.restype) : oldT.pos;
++ }
++ }
++ // compute the position for type parameters - if type param is empty,
++@@ -2669,7 +2639,7 @@ public class CasualDiff {
++ localpointer = bounds[0];
++ }
++ if (oldT.isEnum()) {
++- int pos = diffParameterList(oldT.getVariables(), newT.getVariables(), oldT, null, localpointer, Measure.ARGUMENT, diffContext.style.spaceBeforeComma(), diffContext.style.spaceAfterComma(), true, ","); //NOI18N
+++ int pos = diffParameterList(oldT.getVariables(), newT.getVariables(), null, localpointer, Measure.ARGUMENT, diffContext.style.spaceBeforeComma(), diffContext.style.spaceAfterComma(), true, ","); //NOI18N
++ copyTo(pos, bounds[1]);
++ return bounds[1];
++ } else {
++@@ -3272,7 +3242,6 @@ public class CasualDiff {
++ } else {
++ end = bounds[1];
++ }
++- start = Math.max(start, pos);
++ copyTo(start, pos = end, printer);
++ wasLeadingDelete = false;
++ break;
++@@ -3875,28 +3844,13 @@ public class CasualDiff {
++ localPointer);
++ }
++
++- private DocCommentTree getDocComment(JCTree t, boolean old) {
++- if (t instanceof FieldGroupTree) {
++- FieldGroupTree fgt = (FieldGroupTree)t;
++- List<JCVariableDecl> vars = fgt.getVariables();
++- t = vars.get(0);
++- }
++- return old ? oldTopLevel.docComments.getCommentTree(t) : tree2Doc.get(t);
++- }
++-
++ // note: the oldTreeStartPos must be the real start, without preceding comments.
++ protected int diffPrecedingComments(JCTree oldT, JCTree newT, int oldTreeStartPos, int localPointer, boolean doNotDelete) {
++- if (parent instanceof FieldGroupTree) {
++- FieldGroupTree fgt = (FieldGroupTree)parent;
++- if (!fgt.getVariables().isEmpty() && fgt.getVariables().get(0) == oldT) {
++- return localPointer;
++- }
++- }
++ CommentSet cs = getCommentsForTree(newT, true);
++ CommentSet old = getCommentsForTree(oldT, true);
++ List<Comment> oldPrecedingComments = cs == old ? ((CommentSetImpl)cs).getOrigComments(CommentSet.RelativePosition.PRECEDING) : old.getComments(CommentSet.RelativePosition.PRECEDING);
++ List<Comment> newPrecedingComments = cs.getComments(CommentSet.RelativePosition.PRECEDING);
++- DocCommentTree newD = getDocComment(newT, false);
+++ DocCommentTree newD = tree2Doc.get(newT);
++ if (sameComments(oldPrecedingComments, newPrecedingComments) && newD == null) {
++ if (oldPrecedingComments.isEmpty()) {
++ return localPointer;
++@@ -3910,7 +3864,7 @@ public class CasualDiff {
++ }
++
++ }
++- DocCommentTree oldD = getDocComment(oldT, true);
+++ DocCommentTree oldD = oldTopLevel.docComments.getCommentTree(oldT);
++ return diffCommentLists(oldTreeStartPos, oldPrecedingComments, newPrecedingComments, oldD, newD, false, true, false,
++ doNotDelete,
++ localPointer);
++@@ -3924,8 +3878,7 @@ public class CasualDiff {
++
++ List<Comment> oldTrailingComments = cs == old ? ((CommentSetImpl)cs).getOrigComments(CommentSet.RelativePosition.TRAILING) : old.getComments(CommentSet.RelativePosition.TRAILING);
++ List<Comment> newTrailingComments = cs.getComments(CommentSet.RelativePosition.TRAILING);
++- boolean sameInline = sameComments(oldInlineComments, newInlineComments);
++- if (sameInline && sameComments(oldTrailingComments, newTrailingComments)) {
+++ if (sameComments(oldInlineComments, newInlineComments) && sameComments(oldTrailingComments, newTrailingComments)) {
++ // copy the comments
++ if (oldInlineComments.isEmpty() && oldTrailingComments.isEmpty()) {
++ return localPointer;
++@@ -3935,27 +3888,27 @@ public class CasualDiff {
++ }
++
++ //XXX: hack: the upper diff might already add '\n' to the result, need to skip it if diffing inline comments
++- if (!sameInline) {
++- while (printer.out.isWhitespaceLine()) {
+++ if (!sameComments(oldInlineComments, newInlineComments)) {
+++ while (printer.out.isWhitespaceLine())
++ printer.eatChars(1);
++- }
++- localPointer = diffCommentLists(getOldPos(oldT), oldInlineComments, newInlineComments, null, null, false, false, false, false, localPointer);
++- boolean containedEmbeddedNewLine = false;
++- boolean containsEmbeddedNewLine = false;
++-
++- for (Comment oldComment : oldInlineComments) {
++- if (oldComment.style() == Style.LINE) containedEmbeddedNewLine = true;
++- }
+++ }
+++
+++ localPointer = diffCommentLists(getOldPos(oldT), oldInlineComments, newInlineComments, null, null, false, false, false, false, localPointer);
++
++- for (Comment nueComment : newInlineComments) {
++- if (nueComment.style() == Style.LINE) containsEmbeddedNewLine = true;
++- }
+++ boolean containedEmbeddedNewLine = false;
+++ boolean containsEmbeddedNewLine = false;
++
++- if (containedEmbeddedNewLine && !containsEmbeddedNewLine) {
++- printer.print("\n");
++- }
+++ for (Comment oldComment : oldInlineComments) {
+++ if (oldComment.style() == Style.LINE) containedEmbeddedNewLine = true;
+++ }
+++
+++ for (Comment nueComment : newInlineComments) {
+++ if (nueComment.style() == Style.LINE) containsEmbeddedNewLine = true;
++ }
++
+++ if (containedEmbeddedNewLine && !containsEmbeddedNewLine) {
+++ printer.print("\n");
+++ }
++ int lp = diffCommentLists(getOldPos(oldT), oldTrailingComments, newTrailingComments, null, null, true, false, false, false, localPointer);
++ boolean commentsCreated = oldInlineComments.isEmpty() && oldTrailingComments.isEmpty();
++ // if comments were added, it may be possible that the immediately following newline
++@@ -3970,11 +3923,6 @@ public class CasualDiff {
++ printer.eatChars(1);
++ }
++ }
++- // we have created a comment; if the local pointer is at the beginning of a new line,
++- // we should reset the printer to the line start as well
++- if (lp > 0 && diffContext.origText.charAt(lp - 1) == '\n') {
++- printer.out.toLineStart();
++- }
++ }
++ return lp;
++ }
++@@ -4825,7 +4773,7 @@ public class CasualDiff {
++ * @return position in original source
++ */
++ protected int diffTree(JCTree oldT, JCTree newT, int[] elementBounds) {
++- return checkLocalPointer(oldT, newT, diffTree(oldT, newT, null, elementBounds));
+++ return diffTree(oldT, newT, null, elementBounds);
++ }
++
++ /**
++@@ -4919,16 +4867,11 @@ public class CasualDiff {
++ * diffTreeImpl will print the comments. At the end, the flag is reset to the original value
++ */
++ private boolean innerCommentsProcessed;
++-
++- private JCTree parent;
++
++ protected int diffTreeImpl(JCTree oldT, JCTree newT, JCTree parent /*used only for modifiers*/, int[] elementBounds) {
++ boolean saveInnerComments = this.innerCommentsProcessed;
++- JCTree saveParent = this.parent;
++- this.parent = parent;
++ int ret = diffTreeImpl0(oldT, newT, parent, elementBounds);
++ this.innerCommentsProcessed = saveInnerComments;
++- this.parent = saveParent;
++ return ret;
++ }
++
++@@ -5007,9 +4950,6 @@ public class CasualDiff {
++ case TOPLEVEL:
++ diffTopLevel((JCCompilationUnit)oldT, (JCCompilationUnit)newT, elementBounds);
++ break;
++- case PACKAGEDEF:
++- retVal = diffPackage((JCPackageDecl)oldT, (JCPackageDecl)newT, getOldPos(oldT));
++- break;
++ case IMPORT:
++ retVal = diffImport((JCImport)oldT, (JCImport)newT, elementBounds);
++ break;
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/save/Reformatter.java b/java.source.base/src/org/netbeans/modules/java/source/save/Reformatter.java
++index 8d10fbd23..904f895f7 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/save/Reformatter.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/save/Reformatter.java
++@@ -692,7 +692,7 @@ public class Reformatter implements ReformatTask {
++ accept(INTERFACE);
++ space();
++ if (!ERROR.contentEquals(node.getSimpleName()))
++- accept(IDENTIFIER, UNDERSCORE);
+++ accept(IDENTIFIER);
++ List<? extends TypeParameterTree> tparams = node.getTypeParameters();
++ if (tparams != null && !tparams.isEmpty()) {
++ if (LT == accept(LT))
++@@ -918,11 +918,11 @@ public class Reformatter implements ReformatTask {
++ boolean old = continuationIndent;
++ try {
++ Tree parent = getCurrentPath().getParentPath().getLeaf();
++- boolean insideForTryOrCatch = EnumSet.of(Tree.Kind.FOR_LOOP, Tree.Kind.TRY, Tree.Kind.CATCH).contains(parent.getKind());
+++ boolean insideForOrCatch = EnumSet.of(Tree.Kind.FOR_LOOP, Tree.Kind.CATCH).contains(parent.getKind());
++ ModifiersTree mods = node.getModifiers();
++ if (mods != null && !fieldGroup && sp.getStartPosition(root, mods) < sp.getEndPosition(root, mods)) {
++ if (scan(mods, p)) {
++- if (!insideForTryOrCatch) {
+++ if (!insideForOrCatch) {
++ continuationIndent = true;
++ if (cs.placeNewLineAfterModifiers())
++ newline();
++@@ -954,7 +954,7 @@ public class Reformatter implements ReformatTask {
++ }
++ if (isEnumerator(node)) {
++ continuationIndent = true;
++- accept(IDENTIFIER, UNDERSCORE);
+++ accept(IDENTIFIER);
++ ExpressionTree init = node.getInitializer();
++ if (init != null && init.getKind() == Tree.Kind.NEW_CLASS) {
++ NewClassTree nct = (NewClassTree)init;
++@@ -992,14 +992,14 @@ public class Reformatter implements ReformatTask {
++ scan(body, p);
++ }
++ } else {
++- if (!insideForTryOrCatch)
+++ if (!insideForOrCatch)
++ continuationIndent = true;
++ if (node.getType() == null || scan(node.getType(), p)) {
++ if (node.getType() != null) {
++ spaces(1, fieldGroup);
++ }
++ if (!ERROR.contentEquals(node.getName()))
++- accept(IDENTIFIER, UNDERSCORE);
+++ accept(IDENTIFIER);
++ }
++ ExpressionTree init = node.getInitializer();
++ if (init != null) {
++@@ -1086,7 +1086,7 @@ public class Reformatter implements ReformatTask {
++ spaces(1, true);
++ }
++ if (!ERROR.contentEquals(node.getName()))
++- accept(IDENTIFIER, UNDERSCORE);
+++ accept(IDENTIFIER);
++ continuationIndent = true;
++ spaces(cs.spaceBeforeMethodDeclParen() ? 1 : 0);
++ accept(LPAREN);
++@@ -1274,7 +1274,7 @@ public class Reformatter implements ReformatTask {
++ lastBlankLinesTokenIndex = -1;
++ lastBlankLinesDiff = null;
++ } else {
++- accept(IDENTIFIER, UNDERSCORE, STAR, THIS, SUPER, CLASS);
+++ accept(IDENTIFIER, STAR, THIS, SUPER, CLASS);
++ }
++ return true;
++ case ARRAY_TYPE:
++@@ -1317,7 +1317,7 @@ public class Reformatter implements ReformatTask {
++ space();
++ }
++ if (!ERROR.contentEquals(node.getName()))
++- accept(IDENTIFIER, UNDERSCORE);
+++ accept(IDENTIFIER);
++ List<? extends Tree> bounds = node.getBounds();
++ if (bounds != null && !bounds.isEmpty()) {
++ space();
++@@ -1659,7 +1659,7 @@ public class Reformatter implements ReformatTask {
++ lastBlankLinesDiff = null;
++ } else {
++ accept(DOT);
++- accept(IDENTIFIER, UNDERSCORE, STAR, THIS, SUPER, CLASS);
+++ accept(IDENTIFIER, STAR, THIS, SUPER, CLASS);
++ }
++ return true;
++ }
++@@ -1727,7 +1727,7 @@ public class Reformatter implements ReformatTask {
++ lastBlankLinesTokenIndex = -1;
++ lastBlankLinesDiff = null;
++ } else {
++- accept(IDENTIFIER, UNDERSCORE, NEW);
+++ accept(IDENTIFIER, NEW);
++ }
++ return true;
++ }
++@@ -1735,7 +1735,7 @@ public class Reformatter implements ReformatTask {
++ @Override
++ public Boolean visitLambdaExpression(LambdaExpressionTree node, Void p) {
++ List<? extends VariableTree> params = node.getParameters();
++- JavaTokenId accepted = params != null && params.size() == 1 ? accept(LPAREN, IDENTIFIER, UNDERSCORE) : accept(LPAREN);
+++ JavaTokenId accepted = params != null && params.size() == 1 ? accept(LPAREN, IDENTIFIER) : accept(LPAREN);
++ if (accepted == LPAREN) {
++ boolean old = continuationIndent;
++ try {
++@@ -1778,6 +1778,7 @@ public class Reformatter implements ReformatTask {
++ if (node.getBodyKind() == BodyKind.STATEMENT) {
++ if (continuationIndent) {
++ lastIndent = indent;
+++ indent += continuationIndentSize;
++ continuationIndent = false;
++ }
++ }
++@@ -1802,7 +1803,7 @@ public class Reformatter implements ReformatTask {
++ }
++ }
++ try {
++- wrapOperatorAndTree(cs.wrapLambdaArrow(), -1, cs.spaceAroundLambdaArrow() ? 1 : 0, cs.spaceAroundLambdaArrow() ? 1 : 0, lastIndent, node.getBody());
+++ wrapOperatorAndTree(cs.wrapLambdaArrow(), -1, cs.spaceAroundLambdaArrow() ? 1 : 0, node.getBody());
++ } finally {
++ continuationIndent = old;
++ indent = oldIndent;
++@@ -1817,12 +1818,7 @@ public class Reformatter implements ReformatTask {
++ public Boolean visitMethodInvocation(MethodInvocationTree node, Void p) {
++ ExpressionTree ms = node.getMethodSelect();
++ if (ms.getKind() == Tree.Kind.MEMBER_SELECT) {
++- int old = indent;
++- if (isLastIndentContinuation) {
++- indent += continuationIndentSize;
++- isLastIndentContinuation = false;
++- }
++- ExpressionTree exp = ((MemberSelectTree)ms).getExpression();
+++ ExpressionTree exp = ((MemberSelectTree)ms).getExpression();
++ scan(exp, p);
++ WrapStyle wrapStyle = cs.wrapChainedMethodCalls();
++ if (wrapStyle == WrapStyle.WRAP_ALWAYS && exp.getKind() != Tree.Kind.METHOD_INVOCATION)
++@@ -1873,7 +1869,6 @@ public class Reformatter implements ReformatTask {
++ scanMethodCall(node);
++ break;
++ }
++- indent = old;
++ } else {
++ scanMethodCall(node);
++ }
++@@ -2090,7 +2085,7 @@ public class Reformatter implements ReformatTask {
++ public Boolean visitUnionType(UnionTypeTree node, Void p) {
++ List<? extends Tree> alts = node.getTypeAlternatives();
++ if (alts != null && !alts.isEmpty()) {
++- wrapList(cs.wrapDisjunctiveCatchTypes(), cs.alignMultilineDisjunctiveCatchTypes(), false, BAR, cs.wrapAfterDisjunctiveCatchBar(), alts);
+++ wrapList(cs.wrapDisjunctiveCatchTypes(), cs.alignMultilineDisjunctiveCatchTypes(), false, BAR, alts);
++ }
++ return true;
++ }
++@@ -2132,7 +2127,9 @@ public class Reformatter implements ReformatTask {
++ }
++ WrapStyle wrapElse;
++ boolean preserveNewLine = true;
++- if (cs.specialElseIf() && elseStat.getKind() == Tree.Kind.IF) {
+++ if (cs.specialElseIf() && elseStat.getKind() == Tree.Kind.BLOCK
+++ && ((BlockTree)elseStat).getStatements().size() == 1
+++ && ((BlockTree)elseStat).getStatements().get(0).getKind() == Tree.Kind.IF) {
++ redundantIfBraces = CodeStyle.BracesGenerationStyle.ELIMINATE;
++ wrapElse = CodeStyle.WrapStyle.WRAP_NEVER;
++ preserveNewLine = false;
++@@ -2276,7 +2273,7 @@ public class Reformatter implements ReformatTask {
++ spaces(cs.spaceWithinForParens() ? 1 : 0);
++ int alignIndent = cs.alignMultilineFor() ? col : -1;
++ scan(node.getVariable(), p);
++- wrapOperatorAndTree(cs.wrapFor(), alignIndent, cs.spaceBeforeColon() ? 1 : 0, cs.spaceAfterColon() ? 1 : 0, -1, node.getExpression());
+++ wrapOperatorAndTree(cs.wrapFor(), alignIndent, cs.spaceBeforeColon() ? 1 : 0, cs.spaceAfterColon() ? 1 : 0, node.getExpression());
++ spaces(cs.spaceWithinForParens() ? 1 : 0);
++ accept(RPAREN);
++ } finally {
++@@ -2428,7 +2425,7 @@ public class Reformatter implements ReformatTask {
++ Name label = node.getLabel();
++ if (label != null) {
++ space();
++- accept(IDENTIFIER, UNDERSCORE);
+++ accept(IDENTIFIER);
++ }
++ accept(SEMICOLON);
++ return true;
++@@ -2440,7 +2437,7 @@ public class Reformatter implements ReformatTask {
++ Name label = node.getLabel();
++ if (label != null) {
++ space();
++- accept(IDENTIFIER, UNDERSCORE);
+++ accept(IDENTIFIER);
++ }
++ accept(SEMICOLON);
++ return true;
++@@ -2539,16 +2536,16 @@ public class Reformatter implements ReformatTask {
++ int index = tokens.index();
++ int c = col;
++ Diff d = diffs.isEmpty() ? null : diffs.getFirst();
++- JavaTokenId id = accept(LBRACKET, ELLIPSIS, IDENTIFIER, UNDERSCORE);
+++ JavaTokenId id = accept(LBRACKET, ELLIPSIS, IDENTIFIER);
++ if (id == ELLIPSIS)
++ return ret;
++- if (id != IDENTIFIER && id != UNDERSCORE) {
+++ if (id != IDENTIFIER) {
++ accept(RBRACKET);
++ return ret;
++ }
++ rollback(index, c, d);
++ spaces(1, fieldGroup);
++- accept(IDENTIFIER, UNDERSCORE);
+++ accept(IDENTIFIER);
++ accept(LBRACKET);
++ accept(RBRACKET);
++ return false;
++@@ -2688,7 +2685,7 @@ public class Reformatter implements ReformatTask {
++
++ @Override
++ public Boolean visitIdentifier(IdentifierTree node, Void p) {
++- accept(IDENTIFIER, UNDERSCORE, THIS, SUPER);
+++ accept(IDENTIFIER, THIS, SUPER);
++ return true;
++ }
++
++@@ -2809,7 +2806,7 @@ public class Reformatter implements ReformatTask {
++ @Override
++ public Boolean visitLabeledStatement(LabeledStatementTree node, Void p) {
++ if (!ERROR.contentEquals(node.getLabel()))
++- accept(IDENTIFIER, UNDERSCORE);
+++ accept(IDENTIFIER);
++ accept(COLON);
++ int old = indent;
++ if (!cs.absoluteLabelIndent()) {
++@@ -3384,7 +3381,7 @@ public class Reformatter implements ReformatTask {
++ String ind;
++ if (pendingDiff != null) {
++ pendingDiff.text = beforeCnt < 0 ? getIndent() : getNewlines(count) + getIndent();
++- if (!pendingDiff.text.equals(pendingText)) {
+++ if (!pendingDiff.text.contentEquals(pendingText)) {
++ addDiff(pendingDiff);
++ pendingDiff = null;
++ }
++@@ -3392,7 +3389,7 @@ public class Reformatter implements ReformatTask {
++ } else {
++ ind = after == 3 ? SPACE : getNewlines(count) + getIndent();
++ }
++- if (!ind.equals(text.substring(lastIdx)))
+++ if (!ind.contentEquals(text.substring(lastIdx)))
++ addDiff(new Diff(offset + lastIdx, tokens.offset(), ind));
++ lastToken = null;
++ col = after == 3 ? col + 1 : indent();
++@@ -3432,7 +3429,7 @@ public class Reformatter implements ReformatTask {
++ String ind;
++ if (pendingDiff != null) {
++ pendingDiff.text = beforeCnt < 0 ? getIndent() : getNewlines(count) + getIndent();
++- if (!pendingDiff.text.equals(pendingText)) {
+++ if (!pendingDiff.text.contentEquals(pendingText)) {
++ addDiff(pendingDiff);
++ pendingDiff = null;
++ }
++@@ -3440,7 +3437,7 @@ public class Reformatter implements ReformatTask {
++ } else {
++ ind = after == 3 ? SPACE : getNewlines(count) + getIndent();
++ }
++- if (!ind.equals(text.substring(lastIdx)))
+++ if (!ind.contentEquals(text.substring(lastIdx)))
++ addDiff(new Diff(offset + lastIdx, tokens.offset(), ind));
++ lastToken = null;
++ col = after == 3 ? col + 1 : indent();
++@@ -3481,12 +3478,12 @@ public class Reformatter implements ReformatTask {
++ }
++ if (lastIdx == 0 && after == 1) {
++ String indent = getIndent();
++- if (!indent.equals(text))
+++ if (!indent.contentEquals(text))
++ addDiff(new Diff(offset, tokens.offset(), indent));
++ } else if (lastIdx > 0 && lastIdx < lastToken.length()) {
++ pendingText = text.substring(lastIdx);
++ String indent = getIndent();
++- if (!indent.equals(pendingText)) {
+++ if (!indent.contentEquals(pendingText)) {
++ addDiff(new Diff(offset + lastIdx, tokens.offset(), indent));
++ pendingText = null;
++ } else {
++@@ -3532,7 +3529,7 @@ public class Reformatter implements ReformatTask {
++ String indent;
++ if (pendingDiff != null) {
++ pendingDiff.text = beforeCnt < 0 ? getIndent() : getNewlines(count) + getIndent();
++- if (!pendingDiff.text.equals(pendingText)) {
+++ if (!pendingDiff.text.contentEquals(pendingText)) {
++ addDiff(pendingDiff);
++ pendingDiff = null;
++ }
++@@ -3540,7 +3537,7 @@ public class Reformatter implements ReformatTask {
++ } else {
++ indent = after == 3 ? SPACE : getNewlines(count) + getIndent();
++ }
++- if (!indent.equals(text.substring(lastIdx)))
+++ if (!indent.contentEquals(text.substring(lastIdx)))
++ addDiff(new Diff(offset + lastIdx, tokens.offset(), indent));
++ } else {
++ String text = getNewlines(count) + getIndent();
++@@ -3706,10 +3703,10 @@ public class Reformatter implements ReformatTask {
++ }
++
++ private int wrapOperatorAndTree(CodeStyle.WrapStyle wrapStyle, int alignIndent, int spacesCnt, Tree tree) {
++- return wrapOperatorAndTree(wrapStyle, alignIndent, spacesCnt, spacesCnt, -1, tree);
+++ return wrapOperatorAndTree(wrapStyle, alignIndent, spacesCnt, spacesCnt, tree);
++ }
++
++- private int wrapOperatorAndTree(CodeStyle.WrapStyle wrapStyle, int alignIndent, int spacesCntBeforeOp, int spacesCntAfterOp, int treeIndent, Tree tree) {
+++ private int wrapOperatorAndTree(CodeStyle.WrapStyle wrapStyle, int alignIndent, int spacesCntBeforeOp, int spacesCntAfterOp, Tree tree) {
++ int ret = -1;
++ switch (wrapStyle) {
++ case WRAP_ALWAYS:
++@@ -3742,9 +3739,6 @@ public class Reformatter implements ReformatTask {
++ } else {
++ continuationIndent = false;
++ }
++- if (treeIndent >= 0) {
++- indent = treeIndent;
++- }
++ scan(tree, null);
++ } finally {
++ lastIndent = oldLast;
++@@ -3790,9 +3784,6 @@ public class Reformatter implements ReformatTask {
++ } else {
++ continuationIndent = false;
++ }
++- if (treeIndent >= 0) {
++- indent = treeIndent;
++- }
++ scan(tree, null);
++ } finally {
++ continuationIndent = oldContinuationIndent;
++@@ -3835,9 +3826,6 @@ public class Reformatter implements ReformatTask {
++ } else {
++ continuationIndent = false;
++ }
++- if (treeIndent >= 0) {
++- indent = treeIndent;
++- }
++ scan(tree, null);
++ } finally {
++ continuationIndent = oldContinuationIndent;
++@@ -3869,31 +3857,29 @@ public class Reformatter implements ReformatTask {
++ }
++ try {
++ if (tree.getKind() == Tree.Kind.BLOCK) {
++- if (cs.getOtherBracePlacement() == CodeStyle.BracePlacement.SAME_LINE) {
++- if (spaces(spacesCntAfterOp, false)) {
++- rollback(index, c, d);
++- old = indent;
++- oldLast = lastIndent;
++- try {
++- if (alignIndent >= 0) {
++- indent = continuationIndent ? alignIndent - continuationIndentSize : alignIndent;
++- }
++- newline();
++- } finally {
++- indent = old;
++- lastIndent = oldLast;
++- }
++- ret = col;
++- if (OPERATOR.equals(tokens.token().id().primaryCategory())) {
++- col += tokens.token().length();
++- lastBlankLines = -1;
++- lastBlankLinesTokenIndex = -1;
++- tokens.moveNext();
+++ if (spaces(spacesCntAfterOp, false)) {
+++ rollback(index, c, d);
+++ old = indent;
+++ oldLast = lastIndent;
+++ try {
+++ if (alignIndent >= 0) {
+++ indent = continuationIndent ? alignIndent - continuationIndentSize : alignIndent;
++ }
++- spaces(spacesCntAfterOp);
++- }
++- continuationIndent = isLastIndentContinuation;
++- }
+++ newline();
+++ } finally {
+++ indent = old;
+++ lastIndent = oldLast;
+++ }
+++ ret = col;
+++ if (OPERATOR.equals(tokens.token().id().primaryCategory())) {
+++ col += tokens.token().length();
+++ lastBlankLines = -1;
+++ lastBlankLinesTokenIndex = -1;
+++ tokens.moveNext();
+++ }
+++ spaces(spacesCntAfterOp);
+++ }
+++ continuationIndent = isLastIndentContinuation;
++ } else if (tree.getKind() != Tree.Kind.NEW_ARRAY
++ || ((NewArrayTree) tree).getType() != null
++ || cs.getOtherBracePlacement() == CodeStyle.BracePlacement.SAME_LINE) {
++@@ -3922,9 +3908,6 @@ public class Reformatter implements ReformatTask {
++ } else {
++ continuationIndent = isLastIndentContinuation;
++ }
++- if (treeIndent >= 0) {
++- indent = treeIndent;
++- }
++ scan(tree, null);
++ } finally {
++ continuationIndent = oldContinuationIndent;
++@@ -3997,10 +3980,6 @@ public class Reformatter implements ReformatTask {
++ }
++
++ private void wrapList(CodeStyle.WrapStyle wrapStyle, boolean align, boolean prependSpace, JavaTokenId separator, List<? extends Tree> trees) {
++- wrapList(wrapStyle, align, prependSpace, separator, true, trees);
++- }
++-
++- private void wrapList(CodeStyle.WrapStyle wrapStyle, boolean align, boolean prependSpace, JavaTokenId separator, boolean wrapAfterSeparator, List<? extends Tree> trees) {
++ boolean first = true;
++ int alignIndent = -1;
++ boolean spaceBeforeSeparator, spaceAfterSeparator;
++@@ -4050,16 +4029,14 @@ public class Reformatter implements ReformatTask {
++ scan(impl, null);
++ }
++ }
++- } else if (wrapAfterSeparator) {
++- boolean containedNewLine = spaces(spaceBeforeSeparator ? 1 : 0, false);
++- if (separator.equals(accept(separator)) && containedNewLine) {
++- newline();
++- }
++- wrapTree(wrapStyle, alignIndent, spaceAfterSeparator ? 1 : 0, impl);
++ } else {
++- wrapOperatorAndTree(wrapStyle, alignIndent, spaceAfterSeparator ? 1 : 0, impl);
+++ wrapTree(wrapStyle, alignIndent, spaceAfterSeparator ? 1 : 0, impl);
++ }
++ first = false;
+++ if (it.hasNext()) {
+++ spaces(spaceBeforeSeparator ? 1 : 0);
+++ accept(separator);
+++ }
++ }
++ }
++
++@@ -4092,7 +4069,7 @@ public class Reformatter implements ReformatTask {
++ }
++ }
++ }
++- accept(IDENTIFIER, UNDERSCORE, THIS, SUPER);
+++ accept(IDENTIFIER, THIS, SUPER);
++ spaces(cs.spaceBeforeMethodCallParen() ? 1 : 0);
++ accept(LPAREN);
++ boolean old = continuationIndent;
++@@ -4367,6 +4344,11 @@ public class Reformatter implements ReformatTask {
++ String indentString = getIndent();
++ String lineStartString = cs.addLeadingStarInComment() ? indentString + SPACE + LEADING_STAR + SPACE : indentString + SPACE;
++ String blankLineString;
+++ if (javadocTokens != null && cs.generateParagraphTagOnBlankLines()) {
+++ blankLineString = cs.addLeadingStarInComment() ? indentString + SPACE + LEADING_STAR + SPACE + P_TAG : indentString + SPACE + P_TAG;
+++ } else {
+++ blankLineString = cs.addLeadingStarInComment() ? indentString + SPACE + LEADING_STAR : EMPTY;
+++ }
++ int currNWSPos = -1;
++ int lastNWSPos = -1;
++ int currWSPos = -1;
++@@ -4384,10 +4366,6 @@ public class Reformatter implements ReformatTask {
++ for (int i = start; i < text.length(); i++) {
++ if (i >= initTextEndOffset) {
++ blankLineString = cs.addLeadingStarInComment() ? indentString + SPACE + LEADING_STAR : EMPTY;
++- } else if (javadocTokens != null && !noFormat && cs.generateParagraphTagOnBlankLines()) {
++- blankLineString = cs.addLeadingStarInComment() ? indentString + SPACE + LEADING_STAR + SPACE + P_TAG : indentString + SPACE + P_TAG;
++- } else {
++- blankLineString = cs.addLeadingStarInComment() ? indentString + SPACE + LEADING_STAR : EMPTY;
++ }
++ char c = text.charAt(i);
++ if (Character.isWhitespace(c)) {
++@@ -4607,8 +4585,8 @@ public class Reformatter implements ReformatTask {
++ addDiff(pendingDiff);
++ }
++ }
++- pendingDiff = new Diff(offset + currWSPos, offset + i, javadocTokens != null && lastNWSPos >= 0 && i < initTextEndOffset && !noFormat && cs.generateParagraphTagOnBlankLines() ? SPACE + P_TAG : EMPTY);
++- } else if (javadocTokens != null && lastNWSPos >= 0 && i < initTextEndOffset && !noFormat && cs.generateParagraphTagOnBlankLines()) {
+++ pendingDiff = new Diff(offset + currWSPos, offset + i, javadocTokens != null && lastNWSPos >= 0 && i < initTextEndOffset && cs.generateParagraphTagOnBlankLines() ? SPACE + P_TAG : EMPTY);
+++ } else if (javadocTokens != null && lastNWSPos >= 0 && i < initTextEndOffset && cs.generateParagraphTagOnBlankLines()) {
++ if (pendingDiff != null) {
++ String sub = text.substring(pendingDiff.start - offset, pendingDiff.end - offset);
++ if (!sub.equals(pendingDiff.text)) {
++@@ -4716,11 +4694,11 @@ public class Reformatter implements ReformatTask {
++ }
++ } else if (enableCommentFormatting) {
++ if (firstLine) {
++- String s = !noFormat && cs.wrapOneLineComments() ? NEWLINE + lineStartString : SPACE;
+++ String s = cs.wrapOneLineComments() ? NEWLINE + lineStartString : SPACE;
++ String sub = currWSPos >= 0 ? text.substring(currWSPos, i) : null;
++ if (!s.equals(sub))
++ addDiff(new Diff(currWSPos >= 0 ? offset + currWSPos : offset + i, offset + i, s));
++- if (!noFormat && cs.wrapOneLineComments())
+++ if (cs.wrapOneLineComments())
++ col = getCol(lineStartString);
++ firstLine = false;
++ } else if (currWSPos >= 0) {
++@@ -4745,7 +4723,7 @@ public class Reformatter implements ReformatTask {
++ if (c == '\n') {
++ break;
++ } else if (!Character.isWhitespace(c)) {
++- String s = !noFormat && cs.wrapOneLineComments() ? NEWLINE + indentString + SPACE : SPACE;
+++ String s = cs.wrapOneLineComments() ? NEWLINE + indentString + SPACE : SPACE;
++ String sub = text.substring(i + 1, text.length() - 2);
++ if (!s.equals(sub))
++ addDiff(new Diff(offset + i + 1, offset + text.length() - 2, s));
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/save/Reindenter.java b/java.source.base/src/org/netbeans/modules/java/source/save/Reindenter.java
++index 3b15efde9..58440258c 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/save/Reindenter.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/save/Reindenter.java
++@@ -1,10 +1,7 @@
++ /*
++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++ *
++- * Copyright 2010 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
+++ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
++ *
++ * The contents of this file are subject to the terms of either the GNU
++ * General Public License Version 2 only ("GPL") or the Common
++@@ -16,9 +13,9 @@
++ * specific language governing permissions and limitations under the
++ * License. When distributing the software, include this License Header
++ * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
+++ * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
++ * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
+++ * by Sun in the GPL Version 2 section of the License file that
++ * accompanied this code. If applicable, add the following below the
++ * License Header, with the fields enclosed by brackets [] replaced by
++ * your own identifying information:
++@@ -225,7 +222,7 @@ public class Reindenter implements IndentTask {
++ currentEmbeddingLength = tseq.offset() - currentEmbeddingStartOffset;
++ break;
++ }
++- tseq = tseq.embeddedJoined();
+++ tseq = tseq.embedded();
++ }
++ if (ts == null) {
++ return false;
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/transform/ImmutableTreeTranslator.java b/java.source.base/src/org/netbeans/modules/java/source/transform/ImmutableTreeTranslator.java
++index b64de1260..87d7867c3 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/transform/ImmutableTreeTranslator.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/transform/ImmutableTreeTranslator.java
++@@ -345,9 +345,6 @@ public class ImmutableTreeTranslator implements TreeVisitor<Tree,Object> {
++ CompilationUnitTree result = rewriteChildren(tree);
++ return result;
++ }
++- public Tree visitPackage(PackageTree tree, Object p) {
++- return rewriteChildren(tree);
++- }
++ public Tree visitImport(ImportTree tree, Object p) {
++ return rewriteChildren(tree);
++ }
++@@ -565,19 +562,6 @@ public class ImmutableTreeTranslator implements TreeVisitor<Tree,Object> {
++ return tree;
++ }
++
++- protected final PackageTree rewriteChildren(PackageTree tree) {
++- List<? extends AnnotationTree> annotations = translate(tree.getAnnotations());
++- ExpressionTree pid = (ExpressionTree) translate(tree.getPackageName());
++- if (pid != tree.getPackageName() || !annotations.equals(tree.getAnnotations())) {
++- PackageTree n = make.Package(annotations, pid);
++- model.setType(n, model.getType(tree));
++- copyCommentTo(tree,n);
++- copyPosTo(tree,n);
++- tree = n;
++- }
++- return tree;
++- }
++-
++ protected final ImportTree rewriteChildren(ImportTree tree) {
++ Tree qualid = translateClassRef(tree.getQualifiedIdentifier());
++ if (qualid == tree.getQualifiedIdentifier())
++@@ -1298,4 +1282,6 @@ public class ImmutableTreeTranslator implements TreeVisitor<Tree,Object> {
++ }
++ return node;
++ }
+++
+++
++ }
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/transform/TreeDuplicator.java b/java.source.base/src/org/netbeans/modules/java/source/transform/TreeDuplicator.java
++index 307efc1c2..d25d06aec 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/transform/TreeDuplicator.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/transform/TreeDuplicator.java
++@@ -79,7 +79,6 @@ import com.sun.source.tree.MethodTree;
++ import com.sun.source.tree.ModifiersTree;
++ import com.sun.source.tree.NewArrayTree;
++ import com.sun.source.tree.NewClassTree;
++-import com.sun.source.tree.PackageTree;
++ import com.sun.source.tree.ParameterizedTypeTree;
++ import com.sun.source.tree.ParenthesizedTree;
++ import com.sun.source.tree.PrimitiveTypeTree;
++@@ -313,15 +312,6 @@ public class TreeDuplicator implements TreeVisitor<Tree, Void> {
++ }
++
++ @Override
++- public Tree visitPackage(PackageTree tree, Void p) {
++- PackageTree n = make.Package(tree.getAnnotations(), tree.getPackageName());
++- model.setElement(n, model.getElement(tree));
++- comments.copyComments(tree, n);
++- model.setPos(n, model.getPos(tree));
++- return n;
++- }
++-
++- @Override
++ public Tree visitImport(ImportTree tree, Void p) {
++ ImportTree n = make.Import(tree.getQualifiedIdentifier(), tree.isStatic());
++ model.setType(n, model.getType(tree));
++@@ -483,7 +473,7 @@ public class TreeDuplicator implements TreeVisitor<Tree, Void> {
++
++ @Override
++ public Tree visitCompilationUnit(CompilationUnitTree tree, Void p) {
++- CompilationUnitTree n = make.CompilationUnit(tree.getPackage(), tree.getImports(), tree.getTypeDecls(), tree.getSourceFile());
+++ CompilationUnitTree n = make.CompilationUnit(tree.getPackageAnnotations(), tree.getPackageName(), tree.getImports(), tree.getTypeDecls(), tree.getSourceFile());
++ model.setElement(n, model.getElement(tree));
++ comments.copyComments(tree, n);
++ model.setPos(n, model.getPos(tree));
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/transform/package.html b/java.source.base/src/org/netbeans/modules/java/source/transform/package.html
++index dc3a3ae02..681f63918 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/transform/package.html
+++++ b/java.source.base/src/org/netbeans/modules/java/source/transform/package.html
++@@ -1,46 +1,47 @@
++ <!--
++-DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++-
++-Copyright (c) 2014, 2016 Oracle and/or its affiliates. All rights reserved.
++-
++-Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++-Other names may be trademarks of their respective owners.
++-
++-The contents of this file are subject to the terms of either the GNU
++-General Public License Version 2 only ("GPL") or the Common
++-Development and Distribution License("CDDL") (collectively, the
++-"License"). You may not use this file except in compliance with the
++-License. You can obtain a copy of the License at
++-http://www.netbeans.org/cddl-gplv2.html
++-or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++-specific language governing permissions and limitations under the
++-License. When distributing the software, include this License Header
++-Notice in each file and include the License file at
++-nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
++-particular file as subject to the "Classpath" exception as provided
++-by Oracle in the GPL Version 2 section of the License file that
++-accompanied this code. If applicable, add the following below the
++-License Header, with the fields enclosed by brackets [] replaced by
++-your own identifying information:
++-"Portions Copyrighted [year] [name of copyright owner]"
++-
++-If you wish your version of this file to be governed by only the CDDL
++-or only the GPL Version 2, indicate your decision by adding
++-"[Contributor] elects to include this software in this distribution
++-under the [CDDL or GPL Version 2] license." If you do not indicate a
++-single choice of license, a recipient has the option to distribute
++-your version of this file under either the CDDL, the GPL Version 2 or
++-to extend the choice of license to its licensees as provided above.
++-However, if you add GPL Version 2 code and therefore, elected the GPL
++-Version 2 license, then the option applies only if the new code is
++-made subject to such option by the copyright holder.
++-
++-Contributor(s):
+++ - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+++ -
+++ - Copyright 1997-2007 Sun Microsystems, Inc. All rights reserved.
+++ -
+++ - The contents of this file are subject to the terms of either the GNU
+++ - General Public License Version 2 only ("GPL") or the Common
+++ - Development and Distribution License("CDDL") (collectively, the
+++ - "License"). You may not use this file except in compliance with the
+++ - License. You can obtain a copy of the License at
+++ - http://www.netbeans.org/cddl-gplv2.html
+++ - or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
+++ - specific language governing permissions and limitations under the
+++ - License. When distributing the software, include this License Header
+++ - Notice in each file and include the License file at
+++ - nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
+++ - particular file as subject to the "Classpath" exception as provided
+++ - by Sun in the GPL Version 2 section of the License file that
+++ - accompanied this code. If applicable, add the following below the
+++ - License Header, with the fields enclosed by brackets [] replaced by
+++ - your own identifying information:
+++ - "Portions Copyrighted [year] [name of copyright owner]"
+++ -
+++ - Contributor(s):
+++ -
+++ - The Original Software is NetBeans. The Initial Developer of the Original
+++ - Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
+++ - Microsystems, Inc. All Rights Reserved.
+++ -
+++ - If you wish your version of this file to be governed by only the CDDL
+++ - or only the GPL Version 2, indicate your decision by adding
+++ - "[Contributor] elects to include this software in this distribution
+++ - under the [CDDL or GPL Version 2] license." If you do not indicate a
+++ - single choice of license, a recipient has the option to distribute
+++ - your version of this file under either the CDDL, the GPL Version 2 or
+++ - to extend the choice of license to its licensees as provided above.
+++ - However, if you add GPL Version 2 code and therefore, elected the GPL
+++ - Version 2 license, then the option applies only if the new code is
+++ - made subject to such option by the copyright holder.
++ -->
++ <html>
++ <body>
++ This package defines the classes which provide the base for transformation
++- classes. It extends the com.sun.source.tree API to define an interface for
++- modifying trees and committing those changes back to Java source files.
+++ classes. It extends the com.sun.source.tree API to define an interface for
+++ modifying trees and committing those changes back to Java source files.
++ </body>
++ </html>
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/usages/BinaryAnalyser.java b/java.source.base/src/org/netbeans/modules/java/source/usages/BinaryAnalyser.java
++index 83d841ac7..cb4d5ed45 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/usages/BinaryAnalyser.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/usages/BinaryAnalyser.java
++@@ -57,13 +57,6 @@ import java.io.OutputStreamWriter;
++ import java.io.PrintWriter;
++ import java.net.URI;
++ import java.net.URL;
++-import java.nio.file.FileVisitResult;
++-import java.nio.file.FileVisitor;
++-import java.nio.file.Files;
++-import java.nio.file.Path;
++-import java.nio.file.StandardOpenOption;
++-import java.nio.file.attribute.BasicFileAttributes;
++-import java.nio.file.attribute.FileTime;
++ import java.util.ArrayList;
++ import java.util.Arrays;
++ import java.util.Collection;
++@@ -103,10 +96,8 @@ import org.netbeans.modules.classfile.ClassName;
++ import org.netbeans.modules.classfile.Code;
++ import org.netbeans.modules.classfile.ConstantPool;
++ import org.netbeans.modules.classfile.ElementValue;
++-import org.netbeans.modules.classfile.EnclosingMethod;
++ import org.netbeans.modules.classfile.EnumElementValue;
++ import org.netbeans.modules.classfile.Field;
++-import org.netbeans.modules.classfile.InnerClass;
++ import org.netbeans.modules.classfile.InvalidClassFormatException;
++ import org.netbeans.modules.classfile.LocalVariableTableEntry;
++ import org.netbeans.modules.classfile.LocalVariableTypeTableEntry;
++@@ -348,8 +339,8 @@ public class BinaryAnalyser {
++
++ private final ClassIndexImpl.Writer writer;
++ private final File cacheRoot;
++- private final List<Pair<Pair<BinaryName,String>,Object[]>> refs = new ArrayList<>();
++- private final Set<Pair<String,String>> toDelete = new HashSet<> ();
+++ private final List<Pair<Pair<String,String>,Object[]>> refs = new ArrayList<Pair<Pair<String, String>, Object[]>>();
+++ private final Set<Pair<String,String>> toDelete = new HashSet<Pair<String,String>> ();
++ private final LowMemoryWatcher lmListener;
++ private final Config cfg;
++ //@NotThreadSafe
++@@ -441,10 +432,7 @@ public class BinaryAnalyser {
++ final FileObject rootFo = URLMapper.findFileObject(root);
++ if (rootFo != null) {
++ if (!isUpToDate(ROOT,rootFo.lastModified().getTime())) {
++- final Object path = rootFo.getAttribute(Path.class.getName());
++- return (path instanceof Path) ?
++- new PathProcessor(root, (Path) path, ctx) :
++- new NBFSProcessor(rootFo, ctx);
+++ return new NBFSProcessor(rootFo, ctx);
++ }
++ } else {
++ return new DeletedRootProcessor(ctx);
++@@ -461,12 +449,7 @@ public class BinaryAnalyser {
++ } else {
++ final FileObject rootFo = URLMapper.findFileObject(root);
++ if (rootFo != null) {
++- if (!isUpToDate(ROOT, rootFo.lastModified().getTime())) {
++- final Object path = rootFo.getAttribute(Path.class.getName());
++- return (path instanceof Path) ?
++- new PathProcessor(root, (Path) path, ctx) :
++- new NBFSProcessor(rootFo, ctx);
++- }
+++ return new NBFSProcessor(rootFo, ctx);
++ } else {
++ return new DeletedRootProcessor(ctx);
++ }
++@@ -671,19 +654,13 @@ public class BinaryAnalyser {
++ final ClassFileProcessor cfp = cfg.createProcessor(classFile);
++ this.delete (cfp.getClassName());
++ final UsagesData<ClassName> usages = cfp.analyse();
++- final Pair<BinaryName,String> pair = Pair.of(
++- BinaryName.create(
++- cfp.getClassName(),
++- getElementKind(classFile),
++- isLocal(classFile),
++- getSimpleNameIndex(classFile)
++- ),
++- null);
++- addReferences (pair, usages);
+++ final String classNameType = cfp.getClassName() + DocumentUtil.encodeKind(getElementKind(classFile), isLocal(classFile));
+++ final Pair<String,String> pair = Pair.<String,String>of(classNameType, null);
+++ addReferences (pair, usages);
++ }
++
++ private void addReferences (
++- @NonNull final Pair<BinaryName,String> name,
+++ @NonNull final Pair<String,String> name,
++ @NonNull final UsagesData<ClassName> usages) {
++ assert name != null;
++ assert usages != null;
++@@ -692,7 +669,7 @@ public class BinaryAnalyser {
++ usages.featureIdentsToString(),
++ usages.identsToString()
++ };
++- this.refs.add(Pair.<Pair<BinaryName,String>,Object[]>of(name, cr));
+++ this.refs.add(Pair.<Pair<String,String>,Object[]>of(name, cr));
++ }
++
++ private static ElementKind getElementKind(@NonNull final ClassFile cf) {
++@@ -710,33 +687,6 @@ public class BinaryAnalyser {
++ private static boolean isLocal(@NonNull final ClassFile cf) {
++ return cf.getEnclosingMethod() != null;
++ }
++-
++- private static int getSimpleNameIndex(@NonNull final ClassFile cf) {
++- final ClassName me = cf.getName();
++- final String simpleName = me.getSimpleName();
++- int len = simpleName.length();
++- for (InnerClass ic : cf.getInnerClasses()) {
++- if (me.equals(ic.getName())) {
++- final String innerName = ic.getSimpleName();
++- if (innerName != null && !innerName.isEmpty()) {
++- len = innerName.length();
++- } else {
++- final EnclosingMethod enclosingMethod = cf.getEnclosingMethod();
++- if (enclosingMethod != null) {
++- final String encSimpleName = enclosingMethod.getClassName().getSimpleName();
++- len -= encSimpleName.length() + 1;
++- } else {
++- final int sepIndex = simpleName.lastIndexOf('.'); //NOI18N
++- if (sepIndex > 0) {
++- len -= sepIndex+1;
++- }
++- }
++- }
++- break;
++- }
++- }
++- return me.getInternalName().length() - len;
++- }
++ //</editor-fold>
++
++ //<editor-fold defaultstate="collapsed" desc="ClassFileProcessor implementations">
++@@ -1380,104 +1330,6 @@ public class BinaryAnalyser {
++ }
++ }
++
++- private final class PathProcessor extends RootProcessor {
++-
++- private final URL rootURL;
++- private final Path rootPath;
++-
++- PathProcessor(
++- @NonNull final URL rootURL,
++- @NonNull final Path rootPath,
++- @NonNull final Context ctx) {
++- super(ctx);
++- assert rootURL != null;
++- assert rootPath != null;
++- this.rootURL = rootURL;
++- this.rootPath = rootPath;
++- markChanged(); //Always dirty, created only for dirty root
++- }
++-
++- @Override
++- protected boolean executeImpl() throws IOException {
++- final boolean[] cancelled = new boolean[1];
++- final char separator = rootPath.getFileSystem().getSeparator().charAt(0);
++- Files.walkFileTree(rootPath, new FileVisitor<Path>() {
++- @Override
++- public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) throws IOException {
++- return FileVisitResult.CONTINUE;
++- }
++-
++- @Override
++- public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
++- final String simpleName = file.getName(file.getNameCount()-1).toString();
++- if (accepts(simpleName)) {
++- final String fqn = FileObjects.convertFolder2Package (
++- FileObjects.stripExtension(rootPath.relativize(file).toString()),
++- separator);
++- report (
++- ElementHandleAccessor.getInstance().create(
++- ElementKind.OTHER,
++- fqn),
++- attrs.lastModifiedTime().toMillis());
++- try (final InputStream in = new BufferedInputStream (Files.newInputStream(file, StandardOpenOption.READ))) {
++- analyse(in);
++- } catch (InvalidClassFormatException | RuntimeException icf) {
++- LOGGER.log(
++- Level.WARNING,
++- "Invalid class file format: {0} in: {1}", //NOI18N
++- new Object[]{
++- file,
++- rootURL,
++- });
++- LOGGER.log(
++- Level.INFO,
++- "Class File Exception Details", //NOI18N
++- icf);
++- } catch (IOException x) {
++- Exceptions.attachMessage(
++- x,
++- String.format(
++- "While scanning: %s in: %s", //NOI18N
++- file,
++- rootURL));
++- throw x;
++- }
++- if (lmListener.isLowMemory()) {
++- flush();
++- }
++- }
++- return handleCancel();
++- }
++-
++- @Override
++- public FileVisitResult visitFileFailed(Path file, IOException exc) throws IOException {
++- LOGGER.log(
++- Level.WARNING,
++- "Cannot read file: {0}", //NOI18N
++- file);
++- LOGGER.log(Level.FINE, null, exc);
++- return handleCancel();
++- }
++-
++- @Override
++- public FileVisitResult postVisitDirectory(Path dir, IOException exc) throws IOException {
++- return FileVisitResult.CONTINUE;
++- }
++-
++- private FileVisitResult handleCancel() {
++- if (isCancelled()) {
++- cancelled[0] = true;
++- return FileVisitResult.TERMINATE;
++- } else {
++- return FileVisitResult.CONTINUE;
++- }
++- }
++- });
++- return !cancelled[0];
++- }
++-
++- }
++-
++ private final class NBFSProcessor extends RootProcessor {
++
++ private final Enumeration<? extends FileObject> todo;
++@@ -1499,7 +1351,7 @@ public class BinaryAnalyser {
++ protected boolean executeImpl() throws IOException {
++ while (todo.hasMoreElements()) {
++ FileObject fo = todo.nextElement();
++- if (accepts(fo.getNameExt())) {
+++ if (accepts(fo.getName())) {
++ final String rp = FileObjects.stripExtension(FileUtil.getRelativePath(root, fo));
++ report(
++ ElementHandleAccessor.getInstance().create(ElementKind.OTHER, FileObjects.convertFolder2Package(rp)),
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/usages/BinaryName.java b/java.source.base/src/org/netbeans/modules/java/source/usages/BinaryName.java
++deleted file mode 100644
++index df9e7917d..000000000
++--- a/java.source.base/src/org/netbeans/modules/java/source/usages/BinaryName.java
+++++ /dev/null
++@@ -1,177 +0,0 @@
++-/*
++- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++- *
++- * Copyright 2016 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
++- *
++- * The contents of this file are subject to the terms of either the GNU
++- * General Public License Version 2 only ("GPL") or the Common
++- * Development and Distribution License("CDDL") (collectively, the
++- * "License"). You may not use this file except in compliance with the
++- * License. You can obtain a copy of the License at
++- * http://www.netbeans.org/cddl-gplv2.html
++- * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++- * specific language governing permissions and limitations under the
++- * License. When distributing the software, include this License Header
++- * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
++- * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
++- * accompanied this code. If applicable, add the following below the
++- * License Header, with the fields enclosed by brackets [] replaced by
++- * your own identifying information:
++- * "Portions Copyrighted [year] [name of copyright owner]"
++- *
++- * If you wish your version of this file to be governed by only the CDDL
++- * or only the GPL Version 2, indicate your decision by adding
++- * "[Contributor] elects to include this software in this distribution
++- * under the [CDDL or GPL Version 2] license." If you do not indicate a
++- * single choice of license, a recipient has the option to distribute
++- * your version of this file under either the CDDL, the GPL Version 2 or
++- * to extend the choice of license to its licensees as provided above.
++- * However, if you add GPL Version 2 code and therefore, elected the GPL
++- * Version 2 license, then the option applies only if the new code is
++- * made subject to such option by the copyright holder.
++- *
++- * Contributor(s):
++- *
++- * Portions Copyrighted 2016 Sun Microsystems, Inc.
++- */
++-package org.netbeans.modules.java.source.usages;
++-
++-import java.util.Objects;
++-import javax.lang.model.element.ElementKind;
++-import org.netbeans.api.annotations.common.NonNull;
++-
++-/**
++- *
++- * @author Tomas Zezula
++- */
++-final class BinaryName {
++- static final char PKG_SEPARATOR = '.'; //NOI18N
++-
++- private final String binaryName;
++- private final int pkgEnd;
++- private final int simpleNameStart;
++-
++- private BinaryName(
++- @NonNull final String binaryName,
++- final int pkgEnd,
++- final int simpleNameStart) {
++- assert pkgEnd < binaryName.length() - 1 : binaryName;
++- assert pkgEnd != 0 : binaryName;
++- assert simpleNameStart < binaryName.length() - 1 : binaryName;
++- assert simpleNameStart > pkgEnd : binaryName;
++- this.binaryName = binaryName;
++- this.pkgEnd = pkgEnd;
++- this.simpleNameStart = simpleNameStart;
++- }
++-
++- @NonNull
++- String getBinaryName() {
++- return binaryName.substring(0, binaryName.length()-1);
++- }
++-
++- @NonNull
++- char getKind() {
++- return binaryName.charAt(binaryName.length()-1);
++- }
++-
++- @NonNull
++- String getPackage() {
++- return pkgEnd > 0 ?
++- binaryName.substring(0, pkgEnd) :
++- ""; //NOI18N
++- }
++-
++- @NonNull
++- String getClassName() {
++- return pkgEnd > 0 ?
++- binaryName.substring(pkgEnd+1, binaryName.length()-1) :
++- binaryName.substring(0, binaryName.length()-1);
++-
++- }
++-
++- @NonNull
++- String getClassNameKind() {
++- return pkgEnd > 0 ?
++- binaryName.substring(pkgEnd+1) :
++- binaryName;
++- }
++-
++- @NonNull
++- String getSimpleName() {
++- return binaryName.substring(simpleNameStart, binaryName.length()-1);
++- }
++-
++- @Override
++- public int hashCode() {
++- int hash = 3;
++- hash = 11 * hash + Objects.hashCode(this.binaryName);
++- return hash;
++- }
++-
++- @Override
++- public boolean equals(Object obj) {
++- if (this == obj) {
++- return true;
++- }
++- if (obj == null) {
++- return false;
++- }
++- if (getClass() != obj.getClass()) {
++- return false;
++- }
++- final BinaryName other = (BinaryName) obj;
++- if (this.pkgEnd != other.pkgEnd) {
++- return false;
++- }
++- if (this.simpleNameStart != other.simpleNameStart) {
++- return false;
++- }
++- return Objects.equals(this.binaryName, other.binaryName);
++- }
++-
++- @Override
++- public String toString() {
++- return String.format("BinaryName{binaryName=%s, package=%s, className=%s, simpleName=%s}", //NOI18N
++- binaryName,
++- getPackage(),
++- getClassName(),
++- getSimpleName());
++- }
++-
++-
++-
++-
++- @NonNull
++- static BinaryName create(
++- @NonNull final String binaryName,
++- @NonNull final ElementKind kind) {
++- final int pkgEnd = binaryName.lastIndexOf(PKG_SEPARATOR);
++- int simpleNameStart = binaryName.lastIndexOf('$'); //NOI18N
++- if (simpleNameStart < pkgEnd) {
++- simpleNameStart = pkgEnd;
++- }
++- simpleNameStart += 1;
++- return new BinaryName(
++- binaryName+DocumentUtil.encodeKind(kind),
++- pkgEnd,
++- simpleNameStart);
++- }
++-
++- @NonNull
++- static BinaryName create(
++- @NonNull final String binaryName,
++- @NonNull final ElementKind kind,
++- final boolean isLocal,
++- final int simpleNameStart) {
++- final int pkgEnd = binaryName.lastIndexOf(PKG_SEPARATOR);
++- return new BinaryName(
++- binaryName+DocumentUtil.encodeKind(kind, isLocal),
++- pkgEnd,
++- simpleNameStart);
++- }
++-}
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/usages/BuildArtifactMapperImpl.java b/java.source.base/src/org/netbeans/modules/java/source/usages/BuildArtifactMapperImpl.java
++index 864d736ae..ddf7c7018 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/usages/BuildArtifactMapperImpl.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/usages/BuildArtifactMapperImpl.java
++@@ -68,19 +68,17 @@ import java.util.regex.Pattern;
++
++ import javax.swing.event.ChangeEvent;
++ import javax.swing.event.ChangeListener;
++-import org.netbeans.api.annotations.common.NonNull;
++-import org.netbeans.api.annotations.common.NullAllowed;
++
++ import org.netbeans.api.java.classpath.ClassPath;
++ import org.netbeans.api.java.queries.AnnotationProcessingQuery;
+++import org.netbeans.api.java.queries.BinaryForSourceQuery;
+++import org.netbeans.api.java.queries.BinaryForSourceQuery.Result;
++ import org.netbeans.api.java.queries.SourceForBinaryQuery;
++ import org.netbeans.api.java.source.BuildArtifactMapper.ArtifactsUpdated;
++ import org.netbeans.api.java.source.SourceUtils;
++ import org.netbeans.api.queries.FileBuiltQuery;
++ import org.netbeans.api.queries.FileBuiltQuery.Status;
++ import org.netbeans.api.queries.VisibilityQuery;
++-import org.netbeans.modules.java.preprocessorbridge.api.CompileOnSaveActionQuery;
++-import org.netbeans.modules.java.preprocessorbridge.spi.CompileOnSaveAction;
++ import org.netbeans.modules.java.source.indexing.COSSynchronizingIndexer;
++ import org.netbeans.modules.java.source.indexing.JavaIndex;
++ import org.netbeans.modules.java.source.parsing.FileObjects;
++@@ -92,6 +90,7 @@ import org.netbeans.modules.parsing.api.indexing.IndexingManager;
++ import org.netbeans.modules.parsing.spi.indexing.ErrorsCache;
++ import org.netbeans.spi.queries.FileBuiltQueryImplementation;
++ import org.openide.filesystems.FileObject;
+++import org.openide.filesystems.FileStateInvalidException;
++ import org.openide.filesystems.FileUtil;
++ import org.openide.util.ChangeSupport;
++ import org.openide.util.Exceptions;
++@@ -99,9 +98,7 @@ import org.openide.util.NbPreferences;
++ import org.openide.util.RequestProcessor;
++ import org.openide.util.BaseUtilities;
++ import org.openide.util.Lookup;
++-import org.openide.util.WeakListeners;
++ import org.openide.util.WeakSet;
++-import org.openide.util.lookup.ServiceProvider;
++
++ /**
++ *
++@@ -178,73 +175,229 @@ public class BuildArtifactMapperImpl {
++ }
++ }
++
+++ private static File getTarget(URL source) {
+++ Result binaryRoots = BinaryForSourceQuery.findBinaryRoots(source);
+++
+++ File result = null;
+++
+++ for (URL u : binaryRoots.getRoots()) {
+++ assert u != null : "Null in BinaryForSourceQuery.Result.roots: " + binaryRoots; //NOI18N
+++ if (u == null) {
+++ continue;
+++ }
+++ File f = FileUtil.archiveOrDirForURL(u);
+++
+++ try {
+++ if (FileUtil.isArchiveFile(BaseUtilities.toURI(f).toURL())) {
+++ continue;
+++ }
+++
+++ if (f != null && result != null) {
+++ Logger.getLogger(BuildArtifactMapperImpl.class.getName()).log(Level.WARNING, "More than one binary directory for root: {0}", source.toExternalForm());
+++ return null;
+++ }
+++
+++ result = f;
+++ } catch (MalformedURLException ex) {
+++ Exceptions.printStackTrace(ex);
+++ }
+++ }
+++
+++ return result;
+++ }
+++
++ @SuppressWarnings("deprecation")
++ public static Boolean ensureBuilt(URL sourceRoot, Object context, boolean copyResources, boolean keepResourceUpToDate) throws IOException {
++- final CompileOnSaveAction a = CompileOnSaveActionQuery.getAction(sourceRoot);
++- if (a != null) {
++- final CompileOnSaveAction.Context ctx = CompileOnSaveAction.Context.sync(
++- sourceRoot,
++- copyResources,
++- keepResourceUpToDate,
++- context);
++- return a.performAction(ctx);
+++ File targetFolder = getTarget(sourceRoot);
+++
+++ if (targetFolder == null) {
+++ return null;
++ }
++- return null;
+++
+++ try {
+++ SourceUtils.waitScanFinished();
+++ } catch (InterruptedException e) {
+++ //Not Important
+++ LOG.log(Level.FINE, null, e);
+++ return null;
+++ }
+++
+++ if (JavaIndex.ensureAttributeValue(sourceRoot, DIRTY_ROOT, null)) {
+++ IndexingManager.getDefault().refreshIndexAndWait(sourceRoot, null);
+++ }
+++
+++ if (JavaIndex.getAttribute(sourceRoot, DIRTY_ROOT, null) != null) {
+++ return false;
+++ }
+++
+++ FileObject[][] sources = new FileObject[1][];
+++
+++ if (!protectAgainstErrors(targetFolder, sources, context)) {
+++ return false;
+++ }
+++
+++ File tagFile = new File(targetFolder, TAG_FILE_NAME);
+++ File tagUpdateResourcesFile = new File(targetFolder, TAG_UPDATE_RESOURCES);
+++ final boolean forceResourceCopy = copyResources && keepResourceUpToDate && !tagUpdateResourcesFile.exists();
+++ final boolean cosActive = tagFile.exists();
+++ if (cosActive && !forceResourceCopy) {
+++ return true;
+++ }
+++
+++ if (!cosActive) {
+++ delete(targetFolder, false/*#161085: cleanCompletely*/);
+++ }
+++
+++ if (!targetFolder.exists() && !targetFolder.mkdirs()) {
+++ throw new IOException("Cannot create destination folder: " + targetFolder.getAbsolutePath());
+++ }
+++
+++ sources(targetFolder, sources);
+++
+++ for (int i = sources[0].length - 1; i>=0; i--) {
+++ final FileObject sr = sources[0][i];
+++ if (!cosActive) {
+++ URL srURL = sr.toURL();
+++ File index = JavaIndex.getClassFolder(srURL, true);
+++
+++ if (index == null) {
+++ //#181992: (not nice) ignore the annotation processing target directory:
+++ if (srURL.equals(AnnotationProcessingQuery.getAnnotationProcessingOptions(sr).sourceOutputDirectory())) {
+++ continue;
+++ }
+++
+++ return null;
+++ }
+++
+++ copyRecursively(index, targetFolder);
+++ }
+++
+++ if (copyResources) {
+++ Set<String> javaMimeTypes = COSSynchronizingIndexer.gatherJavaMimeTypes();
+++ String[] javaMimeTypesArr = javaMimeTypes.toArray(new String[0]);
+++
+++ copyRecursively(sr, targetFolder, javaMimeTypes, javaMimeTypesArr);
+++ }
+++ }
+++
+++ if (!cosActive) {
+++ new FileOutputStream(tagFile).close();
+++ }
+++
+++ if (keepResourceUpToDate)
+++ new FileOutputStream(tagUpdateResourcesFile).close();
+++
+++ return true;
++ }
++
++ @SuppressWarnings("deprecation")
++ public static Boolean clean(URL sourceRoot) throws IOException {
++- final CompileOnSaveAction a = CompileOnSaveActionQuery.getAction(sourceRoot);
++- if (a != null) {
++- final CompileOnSaveAction.Context ctx = CompileOnSaveAction.Context.clean(sourceRoot);
++- return a.performAction(ctx);
+++ File targetFolder = getTarget(sourceRoot);
+++
+++ if (targetFolder == null) {
+++ return null;
+++ }
+++
+++ File tagFile = new File(targetFolder, TAG_FILE_NAME);
+++
+++ if (!tagFile.exists()) {
+++ return null;
++ }
+++
+++ try {
+++ SourceUtils.waitScanFinished();
+++ } catch (InterruptedException e) {
+++ //Not Important
+++ LOG.log(Level.FINE, null, e);
+++ return false;
+++ }
+++
+++ delete(targetFolder, false);
+++ delete(tagFile, true);
+++
++ return null;
++ }
++
++- public static boolean isUpdateClasses(URL sourceRoot) {
++- final CompileOnSaveAction a = CompileOnSaveActionQuery.getAction(sourceRoot);
++- return a != null ?
++- a.isUpdateClasses():
++- false;
+++ public static File getTargetFolder(URL sourceRoot) {
+++ File targetFolder = getTarget(sourceRoot);
+++
+++ if (targetFolder == null) {
+++ return null;
+++ }
+++
+++ if (!new File(targetFolder, TAG_FILE_NAME).exists()) {
+++ return null;
+++ }
+++
+++ return targetFolder;
++ }
++
++- public static boolean isUpdateResources(URL srcRoot) {
++- final CompileOnSaveAction a = CompileOnSaveActionQuery.getAction(srcRoot);
++- return a != null ?
++- a.isUpdateResources():
++- false;
+++ public static boolean isUpdateResources(File targetFolder) {
+++ return targetFolder != null && new File(targetFolder, TAG_UPDATE_RESOURCES).exists();
++ }
++
++ public static void classCacheUpdated(URL sourceRoot, File cacheRoot, Iterable<File> deleted, Iterable<File> updated, boolean resource) {
++- final CompileOnSaveAction a = CompileOnSaveActionQuery.getAction(sourceRoot);
++- if (a != null) {
+++ if (!deleted.iterator().hasNext() && !updated.iterator().hasNext()) {
+++ return ;
+++ }
+++
+++ File targetFolder = getTargetFolder(sourceRoot);
+++
+++ if (targetFolder == null) {
+++ return ;
+++ }
+++
+++ if (resource && !isUpdateResources(targetFolder)) {
+++ return ;
+++ }
+++
+++ List<File> updatedFiles = new LinkedList<File>();
+++
+++ for (File deletedFile : deleted) {
+++ final String relPath = relativizeFile(cacheRoot, deletedFile);
+++ if (relPath == null) {
+++ throw new IllegalArgumentException (String.format(
+++ "Deleted file: %s is not under cache root: %s, (normalized file: %s).", //NOI18N
+++ deletedFile.getAbsolutePath(),
+++ cacheRoot.getAbsolutePath(),
+++ FileUtil.normalizeFile(deletedFile).getAbsolutePath()));
+++ }
+++ File toDelete = resolveFile(targetFolder, relPath);
+++
+++ toDelete.delete();
+++ updatedFiles.add(toDelete);
+++ }
+++
+++ for (File updatedFile : updated) {
+++ final String relPath = relativizeFile(cacheRoot, updatedFile);
+++ if (relPath == null) {
+++ throw new IllegalArgumentException (String.format(
+++ "Updated file: %s is not under cache root: %s, (normalized file: %s).", //NOI18N
+++ updatedFile.getAbsolutePath(),
+++ cacheRoot.getAbsolutePath(),
+++ FileUtil.normalizeFile(updatedFile).getAbsolutePath()));
+++ }
+++ File target = resolveFile(targetFolder, relPath);
+++
++ try {
++- final CompileOnSaveAction.Context ctx = CompileOnSaveAction.Context.update(
++- sourceRoot,
++- resource,
++- cacheRoot,
++- updated,
++- deleted,
++- (updatedFiles) -> fire(sourceRoot, updatedFiles));
++- a.performAction(ctx);
+++ copyFile(updatedFile, target);
+++ updatedFiles.add(target);
++ } catch (IOException ex) {
++ Exceptions.printStackTrace(ex);
++ }
++ }
++- }
++-
++- private static void fire(
++- @NonNull final URL sourceRoot,
++- @NonNull final Iterable<File> updatedFiles) {
++- if (updatedFiles.iterator().hasNext()) {
+++
+++ if (updatedFiles.size() > 0) {
++ Set<ArtifactsUpdated> listeners;
+++
++ synchronized (BuildArtifactMapperImpl.class) {
++ listeners = source2Listener.get(sourceRoot);
+++
++ if (listeners != null) {
++- listeners = new HashSet<>(listeners);
+++ listeners = new HashSet<ArtifactsUpdated>(listeners);
++ }
++ }
+++
++ if (listeners != null) {
++ for (ArtifactsUpdated listener : listeners) {
++ listener.artifactsUpdated(updatedFiles);
++@@ -252,7 +405,7 @@ public class BuildArtifactMapperImpl {
++ }
++ }
++ }
++-
+++
++ private static void copyFile(File updatedFile, File target) throws IOException {
++ final File parent = target.getParentFile();
++ if (parent != null && !parent.exists()) {
++@@ -539,44 +692,59 @@ public class BuildArtifactMapperImpl {
++ return delegate;
++ }
++
++- final CompileOnSaveAction action = CompileOnSaveActionQuery.getAction(owner.toURL());
++- if (action == null) {
++- return delegate;
++- }
+++ File target = getTarget(owner.getURL());
+++ File tagFile = FileUtil.normalizeFile(new File(target, TAG_FILE_NAME));
++
++ synchronized(this) {
+++ Reference<FileChangeListenerImpl> ref = file2Listener.get(tagFile);
+++ FileChangeListenerImpl l = ref != null ? ref.get() : null;
+++
+++ if (l == null) {
+++ file2Listener.put(tagFile, new WeakReference<FileChangeListenerImpl>(l = new FileChangeListenerImpl()));
+++ listener2File.put(l, tagFile);
+++ FileChangeSupport.DEFAULT.addListener(l, tagFile);
+++ }
+++
++ Reference<Status> prevRef = file2Status.get(file);
++ result = prevRef != null ? prevRef.get() : null;
++
++ if (result == null) {
++- file2Status.put(file, new WeakReference<Status>(result = new FileBuiltQueryStatusImpl(delegate, action)));
+++ file2Status.put(file, new WeakReference<Status>(result = new FileBuiltQueryStatusImpl(delegate, tagFile, l)));
++ }
++
++ return result;
++- }
+++ }
+++ } catch (FileStateInvalidException ex) {
+++ Exceptions.printStackTrace(ex);
+++ return null;
++ } finally {
++ recursive.remove();
++ }
++ }
++
++ }
+++
+++ private static Map<File, Reference<FileChangeListenerImpl>> file2Listener = new WeakHashMap<File, Reference<FileChangeListenerImpl>>();
+++ private static Map<FileChangeListenerImpl, File> listener2File = new WeakHashMap<FileChangeListenerImpl, File>();
++
++ private static final class FileBuiltQueryStatusImpl implements FileBuiltQuery.Status, ChangeListener {
++
++ private final FileBuiltQuery.Status delegate;
++- private final CompileOnSaveAction action;
+++ private final File tag;
+++ private final FileChangeListenerImpl fileListener;
++ private final ChangeSupport cs = new ChangeSupport(this);
++
++- public FileBuiltQueryStatusImpl(Status delegate, CompileOnSaveAction action) {
+++ public FileBuiltQueryStatusImpl(Status delegate, File tag, FileChangeListenerImpl fileListener) {
++ this.delegate = delegate;
++- this.action = action;
+++ this.tag = tag;
+++ this.fileListener = fileListener;
++
++ delegate.addChangeListener(this);
++- action.addChangeListener(WeakListeners.change(this, action));
+++ fileListener.addListener(this);
++ }
++
++ public boolean isBuilt() {
++- return delegate.isBuilt() || action.isUpdateClasses();
+++ return delegate.isBuilt() || tag.canRead();
++ }
++
++ public void addChangeListener(ChangeListener l) {
++@@ -626,287 +794,5 @@ public class BuildArtifactMapperImpl {
++ }
++ });
++ }
++- }
++-
++- private static final class DefaultCompileOnSaveAction implements CompileOnSaveAction, ChangeListener {
++- //@GuardedBy("file2Listener")
++- private static Map<File, Reference<FileChangeListenerImpl>> file2Listener = new WeakHashMap<>();
++- //@GuardedBy("file2Listener")
++- private static Map<FileChangeListenerImpl, File> listener2File = new WeakHashMap<>();
++-
++- private final URL root;
++- private final ChangeSupport cs;
++- //@GuardedBy("file2Listener")
++- private FileChangeListenerImpl listenerDelegate;
++-
++- DefaultCompileOnSaveAction(@NonNull final URL root) {
++- this.root = root;
++- this.cs = new ChangeSupport(this);
++- }
++-
++- public boolean isEnabled() {
++- return true;
++- }
++-
++- @Override
++- public boolean isUpdateClasses() {
++- return isUpdateClasses(CompileOnSaveAction.Context.getTarget(root));
++- }
++-
++- @Override
++- public boolean isUpdateResources() {
++- return isUpdateResources(CompileOnSaveAction.Context.getTarget(root));
++- }
++-
++- @Override
++- public Boolean performAction(@NonNull final Context ctx) throws IOException {
++- assert root.equals(ctx.getSourceRoot());
++- switch (ctx.getOperation()) {
++- case CLEAN:
++- return performClean(ctx);
++- case SYNC:
++- return performSync(ctx);
++- case UPDATE:
++- return performUpdate(ctx);
++- default:
++- } throw new IllegalArgumentException(String.valueOf(ctx.getOperation()));
++- }
++-
++- @Override
++- public void addChangeListener(@NonNull final ChangeListener listener) {
++- final File target = CompileOnSaveAction.Context.getTarget(root);
++- final File tagFile = FileUtil.normalizeFile(new File(target, TAG_FILE_NAME));
++- synchronized (file2Listener) {
++- if (listenerDelegate == null) {
++- final Reference<FileChangeListenerImpl> ref = file2Listener.get(tagFile);
++- FileChangeListenerImpl l = ref != null ? ref.get() : null;
++- if (l == null) {
++- file2Listener.put(tagFile, new WeakReference<FileChangeListenerImpl>(l = new FileChangeListenerImpl()));
++- listener2File.put(l, tagFile);
++- FileChangeSupport.DEFAULT.addListener(l, tagFile);
++- //Need to hold l
++- }
++- listenerDelegate = l;
++- listenerDelegate.addListener(this);
++- }
++- }
++- cs.addChangeListener(listener);
++- }
++-
++- @Override
++- public void removeChangeListner(@NonNull final ChangeListener listener) {
++- cs.removeChangeListener(listener);
++- }
++-
++- @Override
++- public void stateChanged(@NonNull final ChangeEvent e) {
++- cs.fireChange();
++- }
++-
++- private Boolean performClean(@NonNull final Context ctx) throws IOException {
++- final File targetFolder = ctx.getTarget();
++-
++- if (targetFolder == null) {
++- return null;
++- }
++-
++- File tagFile = new File(targetFolder, TAG_FILE_NAME);
++-
++- if (!tagFile.exists()) {
++- return null;
++- }
++-
++- try {
++- SourceUtils.waitScanFinished();
++- } catch (InterruptedException e) {
++- //Not Important
++- LOG.log(Level.FINE, null, e);
++- return false;
++- }
++-
++- delete(targetFolder, false);
++- delete(tagFile, true);
++-
++- return null;
++- }
++-
++- private Boolean performSync(@NonNull final Context ctx) throws IOException {
++- final URL sourceRoot = ctx.getSourceRoot();
++- final File targetFolder = ctx.getTarget();
++- final boolean copyResources = ctx.isCopyResources();
++- final boolean keepResourceUpToDate = ctx.isKeepResourcesUpToDate();
++- final Object context = ctx.getOwner();
++-
++- if (targetFolder == null) {
++- return null;
++- }
++-
++- try {
++- SourceUtils.waitScanFinished();
++- } catch (InterruptedException e) {
++- //Not Important
++- LOG.log(Level.FINE, null, e);
++- return null;
++- }
++-
++- if (JavaIndex.ensureAttributeValue(sourceRoot, DIRTY_ROOT, null)) {
++- IndexingManager.getDefault().refreshIndexAndWait(sourceRoot, null);
++- }
++-
++- if (JavaIndex.getAttribute(sourceRoot, DIRTY_ROOT, null) != null) {
++- return false;
++- }
++-
++- FileObject[][] sources = new FileObject[1][];
++-
++- if (!protectAgainstErrors(targetFolder, sources, context)) {
++- return false;
++- }
++-
++- File tagFile = new File(targetFolder, TAG_FILE_NAME);
++- File tagUpdateResourcesFile = new File(targetFolder, TAG_UPDATE_RESOURCES);
++- final boolean forceResourceCopy = copyResources && keepResourceUpToDate && !tagUpdateResourcesFile.exists();
++- final boolean cosActive = tagFile.exists();
++- if (cosActive && !forceResourceCopy) {
++- return true;
++- }
++-
++- if (!cosActive) {
++- delete(targetFolder, false/*#161085: cleanCompletely*/);
++- }
++-
++- if (!targetFolder.exists() && !targetFolder.mkdirs()) {
++- throw new IOException("Cannot create destination folder: " + targetFolder.getAbsolutePath());
++- }
++-
++- sources(targetFolder, sources);
++-
++- for (int i = sources[0].length - 1; i>=0; i--) {
++- final FileObject sr = sources[0][i];
++- if (!cosActive) {
++- URL srURL = sr.toURL();
++- File index = JavaIndex.getClassFolder(srURL, true);
++-
++- if (index == null) {
++- //#181992: (not nice) ignore the annotation processing target directory:
++- if (srURL.equals(AnnotationProcessingQuery.getAnnotationProcessingOptions(sr).sourceOutputDirectory())) {
++- continue;
++- }
++-
++- return null;
++- }
++-
++- copyRecursively(index, targetFolder);
++- }
++-
++- if (copyResources) {
++- Set<String> javaMimeTypes = COSSynchronizingIndexer.gatherJavaMimeTypes();
++- String[] javaMimeTypesArr = javaMimeTypes.toArray(new String[0]);
++-
++- copyRecursively(sr, targetFolder, javaMimeTypes, javaMimeTypesArr);
++- }
++- }
++-
++- if (!cosActive) {
++- new FileOutputStream(tagFile).close();
++- }
++-
++- if (keepResourceUpToDate)
++- new FileOutputStream(tagUpdateResourcesFile).close();
++-
++- return true;
++- }
++-
++- private Boolean performUpdate(@NonNull final Context ctx) throws IOException {
++- final Iterable<? extends File> deleted = ctx.getDeleted();
++- final Iterable<? extends File> updated = ctx.getUpdated();
++- final boolean resource = ctx.isCopyResources();
++- final File cacheRoot = ctx.getCacheRoot();
++- if (!deleted.iterator().hasNext() && !updated.iterator().hasNext()) {
++- return null;
++- }
++- File targetFolder = ctx.getTarget();
++- if (targetFolder == null) {
++- return null;
++- }
++- if (!isUpdateClasses(targetFolder)) {
++- return null;
++- }
++-
++- if (resource && !isUpdateResources(targetFolder)) {
++- return null;
++- }
++-
++- List<File> updatedFiles = new LinkedList<>();
++-
++- for (File deletedFile : deleted) {
++- final String relPath = relativizeFile(cacheRoot, deletedFile);
++- if (relPath == null) {
++- throw new IllegalArgumentException (String.format(
++- "Deleted file: %s is not under cache root: %s, (normalized file: %s).", //NOI18N
++- deletedFile.getAbsolutePath(),
++- cacheRoot.getAbsolutePath(),
++- FileUtil.normalizeFile(deletedFile).getAbsolutePath()));
++- }
++- File toDelete = resolveFile(targetFolder, relPath);
++-
++- toDelete.delete();
++- updatedFiles.add(toDelete);
++- }
++-
++- for (File updatedFile : updated) {
++- final String relPath = relativizeFile(cacheRoot, updatedFile);
++- if (relPath == null) {
++- throw new IllegalArgumentException (String.format(
++- "Updated file: %s is not under cache root: %s, (normalized file: %s).", //NOI18N
++- updatedFile.getAbsolutePath(),
++- cacheRoot.getAbsolutePath(),
++- FileUtil.normalizeFile(updatedFile).getAbsolutePath()));
++- }
++- File target = resolveFile(targetFolder, relPath);
++-
++- try {
++- copyFile(updatedFile, target);
++- updatedFiles.add(target);
++- } catch (IOException ex) {
++- Exceptions.printStackTrace(ex);
++- }
++- }
++- ctx.filesUpdated(updatedFiles);
++- return true;
++- }
++-
++- private boolean isUpdateClasses(@NullAllowed final File targetFolder) {
++- if (targetFolder == null) {
++- return false;
++- }
++- return new File(targetFolder, TAG_FILE_NAME).exists();
++- }
++-
++- private boolean isUpdateResources(@NullAllowed final File targetFolder) {
++- if (targetFolder == null) {
++- return false;
++- }
++- return new File(targetFolder, TAG_UPDATE_RESOURCES).exists();
++- }
++- }
++-
++- @ServiceProvider(service = CompileOnSaveAction.Provider.class, position = Integer.MAX_VALUE)
++- public static final class Provider implements CompileOnSaveAction.Provider {
++- //@GuardedBy("normCache")
++- private final Map<URL,Reference<DefaultCompileOnSaveAction>> normCache
++- = new WeakHashMap<>();
++- @Override
++- public CompileOnSaveAction forRoot(@NonNull final URL root) {
++- synchronized (normCache) {
++- final Reference<DefaultCompileOnSaveAction> ref = normCache.get(root);
++- DefaultCompileOnSaveAction res;
++- if (ref == null || (res = ref.get()) == null) {
++- res = new DefaultCompileOnSaveAction(root);
++- normCache.put(root, new WeakReference<>(res));
++- }
++- return res;
++- }
++- }
++ }
++ }
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/usages/ClassIndexImpl.java b/java.source.base/src/org/netbeans/modules/java/source/usages/ClassIndexImpl.java
++index d5bdd68c6..858000c4e 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/usages/ClassIndexImpl.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/usages/ClassIndexImpl.java
++@@ -144,7 +144,7 @@ public abstract class ClassIndexImpl {
++ name,
++ kind,
++ scope,
++- DocumentUtil.declaredTypesFieldSelector(false, false),
+++ DocumentUtil.declaredTypesFieldSelector(false),
++ convertor,
++ result);
++ }
++@@ -265,7 +265,7 @@ public abstract class ClassIndexImpl {
++
++ public static interface Writer {
++ void clear() throws IOException;
++- void deleteAndStore(final List<Pair<Pair<BinaryName,String>, Object[]>> refs, final Set<Pair<String,String>> toDelete) throws IOException;
+++ void deleteAndStore(final List<Pair<Pair<String,String>, Object[]>> refs, final Set<Pair<String,String>> toDelete) throws IOException;
++ /**
++ * Different from deleteAndStore in that the data is NOT committed, but just flushed. Make sure, deleteAndStore is called from the
++ * indexer's finish!
++@@ -274,7 +274,7 @@ public abstract class ClassIndexImpl {
++ * @param toDelete
++ * @throws IOException
++ */
++- void deleteAndFlush(final List<Pair<Pair<BinaryName,String>, Object[]>> refs, final Set<Pair<String,String>> toDelete) throws IOException;
+++ void deleteAndFlush(final List<Pair<Pair<String,String>, Object[]>> refs, final Set<Pair<String,String>> toDelete) throws IOException;
++
++ /**
++ * Flushes any pending data from deleteAndFlush as if deleteAndStore was called with empty collections
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/usages/ClasspathInfoAccessor.java b/java.source.base/src/org/netbeans/modules/java/source/usages/ClasspathInfoAccessor.java
++index 78f1e8738..858731902 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/usages/ClasspathInfoAccessor.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/usages/ClasspathInfoAccessor.java
++@@ -44,7 +44,6 @@
++
++ package org.netbeans.modules.java.source.usages;
++
++-import java.util.function.Function;
++ import javax.tools.JavaFileManager;
++ import org.netbeans.api.java.classpath.ClassPath;
++ import org.netbeans.api.java.source.ClasspathInfo;
++@@ -55,7 +54,6 @@ import org.openide.filesystems.FileObject;
++ import java.util.logging.Logger;
++ import java.util.logging.Level;
++ import org.netbeans.api.annotations.common.NonNull;
++-import org.netbeans.api.annotations.common.NullAllowed;
++ import org.netbeans.modules.java.source.parsing.FileManagerTransaction;
++
++ /**
++@@ -91,16 +89,14 @@ public abstract class ClasspathInfoAccessor {
++
++ public abstract ClassPath getCachedClassPath (ClasspathInfo cpInfo, ClasspathInfo.PathKind kind);
++
++- public abstract ClasspathInfo create (
++- ClassPath bootPath,
+++ public abstract ClasspathInfo create (ClassPath bootPath,
++ ClassPath compilePath,
++ ClassPath sourcePath,
++ JavaFileFilterImplementation filter,
++ boolean backgroundCompilation,
++ boolean ignoreExcludes,
++ boolean hasMemoryFileManager,
++- boolean useModifiedFiles,
++- @NullAllowed Function<JavaFileManager.Location, JavaFileManager> jfmProvider);
+++ boolean useModifiedFiles);
++
++ public abstract ClasspathInfo create (FileObject fo,
++ JavaFileFilterImplementation filter,
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/usages/DocumentUtil.java b/java.source.base/src/org/netbeans/modules/java/source/usages/DocumentUtil.java
++index bf9d397d4..e9a781a2b 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/usages/DocumentUtil.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/usages/DocumentUtil.java
++@@ -103,6 +103,7 @@ public class DocumentUtil {
++ private static final String FIELD_SOURCE = "source"; //NOI18N
++ private static final String FIELD_REFERENCES = "references"; //NOI18N
++
+++ private static final char PKG_SEPARATOR = '.'; //NOI18N
++ private static final char NO = '-'; //NOI18N
++ private static final char YES = '+'; //NOI18N
++ private static final char WILDCARD_QUERY_WILDCARD = '?'; //NOI18N
++@@ -151,7 +152,7 @@ public class DocumentUtil {
++ return new SourceNameConvertor();
++ }
++
++- static Convertor<Pair<Pair<BinaryName,String>,Object[]>,Document> documentConvertor() {
+++ static Convertor<Pair<Pair<String,String>,Object[]>,Document> documentConvertor() {
++ return new DocumentConvertor();
++ }
++
++@@ -191,7 +192,7 @@ public class DocumentUtil {
++ if (pkg.length() == 0) {
++ return snName;
++ }
++- return pkg + BinaryName.PKG_SEPARATOR + snName; //NO I18N
+++ return pkg + PKG_SEPARATOR + snName; //NO I18N
++ }
++
++ public static String getSimpleBinaryName (final Document doc) {
++@@ -204,13 +205,6 @@ public class DocumentUtil {
++ return binName.substring(0, binName.length()-1);
++ }
++ }
++-
++- public static String getSimpleName(final Document doc) {
++- final Fieldable field = doc.getFieldable(FIELD_SIMPLE_NAME);
++- return field == null ?
++- null :
++- field.stringValue();
++- }
++
++ public static boolean isLocal(@NonNull final Document doc) {
++ Fieldable fld = doc.getFieldable(FIELD_BINARY_NAME);
++@@ -240,7 +234,7 @@ public class DocumentUtil {
++ //Term and query factories
++ static Query binaryNameQuery (final String resourceName) {
++ final BooleanQuery query = new BooleanQuery ();
++- int index = resourceName.lastIndexOf(BinaryName.PKG_SEPARATOR); // NOI18N
+++ int index = resourceName.lastIndexOf(PKG_SEPARATOR); // NOI18N
++ String pkgName, sName;
++ if (index < 0) {
++ pkgName = ""; // NOI18N
++@@ -278,19 +272,35 @@ public class DocumentUtil {
++ }
++
++ //Factories for lucene document
++- private static Document createDocument (final BinaryName name,
+++ private static Document createDocument (final String binaryName,
++ List<String> references,
++ String featureIdents,
++ String idents,
++ String source) {
+++ assert binaryName != null;
++ assert references != null;
++-
++- final String pkgName = name.getPackage(); //Package
++- final String fileName = name.getClassNameKind(); //name with no package and appended type character
++- assert fileName.length() > 1 : "BinaryName with type char: " + name +
+++ int index = binaryName.lastIndexOf(PKG_SEPARATOR); //NOI18N
+++ final String fileName; //name with no package and appended type character
+++ final String pkgName; //Package
+++ if (index<0) {
+++ fileName = binaryName;
+++ pkgName = ""; //NOI18N
+++ }
+++ else {
+++ fileName = binaryName.substring(index+1);
+++ pkgName = binaryName.substring(0,index);
+++ }
+++ assert fileName.length() > 1 : "BinaryName with type char: " + binaryName +
++ ", Package: " + pkgName +
++ ", FileName with type char: " + fileName;
++- String simpleName = name.getSimpleName();
+++ final String simpleName;
+++ index = fileName.lastIndexOf('$'); //NOI18N
+++ if (index<0) {
+++ simpleName = fileName.substring(0, fileName.length()-1);
+++ }
+++ else {
+++ simpleName = fileName.substring(index+1,fileName.length()-1);
+++ }
++ final String caseInsensitiveName = simpleName.toLowerCase(); //XXX: I18N, Locale
++ Document doc = new Document ();
++ Field field = new Field (FIELD_BINARY_NAME,fileName,Field.Store.YES, Field.Index.NOT_ANALYZED_NO_NORMS);
++@@ -406,16 +416,10 @@ public class DocumentUtil {
++ }
++
++
++- public static FieldSelector declaredTypesFieldSelector (
++- final boolean includeSource,
++- final boolean includeSimpleName) {
+++ public static FieldSelector declaredTypesFieldSelector (final boolean includeSource) {
++ return includeSource ?
++- includeSimpleName ?
++- Queries.createFieldSelector(FIELD_PACKAGE_NAME, FIELD_BINARY_NAME, FIELD_SIMPLE_NAME, FIELD_SOURCE) :
++- Queries.createFieldSelector(FIELD_PACKAGE_NAME, FIELD_BINARY_NAME, FIELD_SOURCE) :
++- includeSimpleName ?
++- Queries.createFieldSelector(FIELD_PACKAGE_NAME, FIELD_BINARY_NAME, FIELD_SIMPLE_NAME) :
++- Queries.createFieldSelector(FIELD_PACKAGE_NAME, FIELD_BINARY_NAME);
+++ Queries.createFieldSelector(FIELD_PACKAGE_NAME, FIELD_BINARY_NAME, FIELD_SOURCE) :
+++ Queries.createFieldSelector(FIELD_PACKAGE_NAME,FIELD_BINARY_NAME);
++ }
++
++ static FieldSelector sourceNameFieldSelector () {
++@@ -617,11 +621,11 @@ public class DocumentUtil {
++ }
++ }
++
++- private static class DocumentConvertor implements Convertor<Pair<Pair<BinaryName,String>,Object[]>,Document> {
+++ private static class DocumentConvertor implements Convertor<Pair<Pair<String,String>,Object[]>,Document> {
++ @Override
++- public Document convert(Pair<Pair<BinaryName, String>, Object[]> entry) {
++- final Pair<BinaryName,String> pair = entry.first();
++- final BinaryName cn = pair.first();
+++ public Document convert(Pair<Pair<String, String>, Object[]> entry) {
+++ final Pair<String,String> pair = entry.first();
+++ final String cn = pair.first();
++ final String srcName = pair.second();
++ final Object[] data = entry.second();
++ final List<String> cr = (List<String>) data[0];
++@@ -674,7 +678,7 @@ public class DocumentUtil {
++ private static BooleanQuery createFQNQuery(final String resourceName) {
++ String pkgName;
++ String sName;
++- int index = resourceName.lastIndexOf(BinaryName.PKG_SEPARATOR);
+++ int index = resourceName.lastIndexOf(DocumentUtil.PKG_SEPARATOR);
++ if (index < 0) {
++ pkgName = ""; //NOI18N
++ sName = resourceName;
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/usages/LongHashMap.java b/java.source.base/src/org/netbeans/modules/java/source/usages/LongHashMap.java
++index d2d9a472b..0f02d20d3 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/usages/LongHashMap.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/usages/LongHashMap.java
++@@ -43,12 +43,11 @@
++ package org.netbeans.modules.java.source.usages;
++
++ import java.util.*;
++-import org.netbeans.api.annotations.common.NonNull;
++
++ /**
++ * Todo: Copied from parsing API, also in cnd - should be part of API?
++ */
++-public class LongHashMap<K> //extends AbstractMap<K>
+++class LongHashMap<K> //extends AbstractMap<K>
++ //implements Map<K>, Cloneable, Serializable
++ {
++
++@@ -155,17 +154,6 @@ public class LongHashMap<K> //extends AbstractMap<K>
++ init();
++ }
++
++- /**
++- * Creates a new {@link LongHashMap} as a copy of given map.
++- * @param m the {@link LongHashMap} to copy.
++- */
++- public LongHashMap(@NonNull final LongHashMap<K> m) {
++- this(m.size(),DEFAULT_LOAD_FACTOR);
++- for (LongHashMap.Entry<K> e : m.entrySet()) {
++- put(e.getKey(), e.getValue());
++- }
++- }
++-
++ // internal utilities
++ /**
++ * Initialization hook for subclasses. This method is called
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/usages/PersistentClassIndex.java b/java.source.base/src/org/netbeans/modules/java/source/usages/PersistentClassIndex.java
++index 8224217b9..f73dfaf5c 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/usages/PersistentClassIndex.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/usages/PersistentClassIndex.java
++@@ -252,9 +252,9 @@ public final class PersistentClassIndex extends ClassIndexImpl {
++ QueryUtil.createPackageUsagesQuery(binaryName,usageType,Occur.SHOULD),
++ scope);
++ if (q!=null) {
++- index.query(result, ctu.first(), DocumentUtil.declaredTypesFieldSelector(false, false), cancel.get(), q);
+++ index.query(result, ctu.first(), DocumentUtil.declaredTypesFieldSelector(false), cancel.get(), q);
++ if (ctu.second() != null) {
++- ctu.second().query(result, convertor, DocumentUtil.declaredTypesFieldSelector(false, false), cancel.get(), q);
+++ ctu.second().query(result, convertor, DocumentUtil.declaredTypesFieldSelector(false), cancel.get(), q);
++ }
++ }
++ return null;
++@@ -278,9 +278,9 @@ public final class PersistentClassIndex extends ClassIndexImpl {
++ QueryUtil.createUsagesQuery(binaryName, usageType, Occur.SHOULD),
++ scope);
++ if (usagesQuery != null) {
++- index.query(result, ctu.first(), DocumentUtil.declaredTypesFieldSelector(false, false), cancel.get(), usagesQuery);
+++ index.query(result, ctu.first(), DocumentUtil.declaredTypesFieldSelector(false), cancel.get(), usagesQuery);
++ if (ctu.second() != null) {
++- ctu.second().query(result, convertor, DocumentUtil.declaredTypesFieldSelector(false, false), cancel.get(), usagesQuery);
+++ ctu.second().query(result, convertor, DocumentUtil.declaredTypesFieldSelector(false), cancel.get(), usagesQuery);
++ }
++ }
++ return null;
++@@ -357,7 +357,7 @@ public final class PersistentClassIndex extends ClassIndexImpl {
++ result,
++ ctu.first(),
++ t2s,
++- DocumentUtil.declaredTypesFieldSelector(false, false),
+++ DocumentUtil.declaredTypesFieldSelector(false),
++ cancel.get(),
++ query);
++ if (ctu.second() != null) {
++@@ -365,7 +365,7 @@ public final class PersistentClassIndex extends ClassIndexImpl {
++ result,
++ convertor,
++ t2s,
++- DocumentUtil.declaredTypesFieldSelector(false, false),
+++ DocumentUtil.declaredTypesFieldSelector(false),
++ cancel.get(),
++ query);
++ }
++@@ -497,7 +497,7 @@ public final class PersistentClassIndex extends ClassIndexImpl {
++ }
++
++ @Override
++- public void deleteAndFlush(List<Pair<Pair<BinaryName, String>, Object[]>> refs, Set<Pair<String, String>> toDelete) throws IOException {
+++ public void deleteAndFlush(List<Pair<Pair<String, String>, Object[]>> refs, Set<Pair<String, String>> toDelete) throws IOException {
++ resetPkgCache();
++ if (index instanceof Index.Transactional) {
++ ((Index.Transactional)index).txStore(refs, toDelete, DocumentUtil.documentConvertor(), DocumentUtil.queryClassConvertor());
++@@ -523,7 +523,7 @@ public final class PersistentClassIndex extends ClassIndexImpl {
++
++
++ @Override
++- public void deleteAndStore(List<Pair<Pair<BinaryName,String>, Object[]>> refs, Set<Pair<String, String>> toDelete) throws IOException {
+++ public void deleteAndStore(List<Pair<Pair<String,String>, Object[]>> refs, Set<Pair<String, String>> toDelete) throws IOException {
++ resetPkgCache();
++ index.store(refs, toDelete, DocumentUtil.documentConvertor(), DocumentUtil.queryClassConvertor(), true);
++ }
++@@ -649,8 +649,8 @@ public final class PersistentClassIndex extends ClassIndexImpl {
++ });
++ }
++ }
++- final List<Pair<Pair<BinaryName, String>, Object[]>> data =
++- (List<Pair<Pair<BinaryName, String>, Object[]>>) dataHolder[0];
+++ final List<Pair<Pair<String, String>, Object[]>> data =
+++ (List<Pair<Pair<String, String>, Object[]>>) dataHolder[0];
++ if (data != null) {
++ if (filter == null) {
++ try {
++@@ -664,7 +664,7 @@ public final class PersistentClassIndex extends ClassIndexImpl {
++ index.query(
++ filter,
++ DocumentUtil.binaryNameConvertor(),
++- DocumentUtil.declaredTypesFieldSelector(false, false),
+++ DocumentUtil.declaredTypesFieldSelector(false),
++ null,
++ DocumentUtil.queryClassWithEncConvertor(true).convert(Pair.<String,String>of(clsName,relPath)));
++ } else {
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/usages/SourceAnalyzerFactory.java b/java.source.base/src/org/netbeans/modules/java/source/usages/SourceAnalyzerFactory.java
++index 6a6cf1fe1..f20b7839c 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/usages/SourceAnalyzerFactory.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/usages/SourceAnalyzerFactory.java
++@@ -42,8 +42,7 @@
++ package org.netbeans.modules.java.source.usages;
++
++ import com.sun.source.tree.*;
++-import com.sun.source.util.TreePathScanner;
++-import com.sun.source.util.Trees;
+++import com.sun.source.util.TreeScanner;
++ import com.sun.tools.javac.api.JavacTaskImpl;
++ import com.sun.tools.javac.code.Kinds;
++ import com.sun.tools.javac.code.Symbol;
++@@ -149,7 +148,7 @@ public final class SourceAnalyzerFactory {
++ final Set<? super ElementHandle<TypeElement>> newTypes,
++ final /*out*/boolean[] mainMethod) throws IOException {
++ final JavaFileManager manager = jt.getContext().get(JavaFileManager.class);
++- final Map<Pair<BinaryName, String>,UsagesData<String>> usages = new HashMap<>();
+++ final Map<Pair<String, String>,UsagesData<String>> usages = new HashMap<Pair<String,String>,UsagesData<String>>();
++ for (CompilationUnitTree cu : data) {
++ try {
++ UsagesVisitor uv = new UsagesVisitor (jt, cu, manager, tuple.jfo, newTypes, tuple);
++@@ -199,8 +198,8 @@ public final class SourceAnalyzerFactory {
++ //Ideally not even usegas will be calculated but it will propagate the storeIndex
++ //through the UsagesVisitor
++ if (tuple.index) {
++- for (Map.Entry<Pair<BinaryName,String>,UsagesData<String>> oe : usages.entrySet()) {
++- final Pair<BinaryName,String> key = oe.getKey();
+++ for (Map.Entry<Pair<String,String>,UsagesData<String>> oe : usages.entrySet()) {
+++ final Pair<String,String> key = oe.getKey();
++ final UsagesData<String> value = oe.getValue();
++ addClassReferences (key,value);
++ }
++@@ -247,7 +246,7 @@ public final class SourceAnalyzerFactory {
++ * @throws IOException in case of IO error
++ */
++ @CheckForNull
++- public List<Pair<Pair<BinaryName, String>, Object[]>> analyseUnit (
+++ public List<Pair<Pair<String, String>, Object[]>> analyseUnit (
++ @NonNull final CompilationUnitTree cu,
++ @NonNull final JavacTaskImpl jt) throws IOException {
++ if (used) {
++@@ -255,13 +254,13 @@ public final class SourceAnalyzerFactory {
++ }
++ used = true;
++ try {
++- final Map<Pair<BinaryName,String>,UsagesData<String>> usages = new HashMap<> ();
++- final Set<Pair<String,String>> topLevels = new HashSet<>();
+++ final Map<Pair<String,String>,UsagesData<String>> usages = new HashMap<Pair<String,String>,UsagesData<String>> ();
+++ final Set<Pair<String,String>> topLevels = new HashSet<Pair<String,String>>();
++ final JavaFileManager jfm = jt.getContext().get(JavaFileManager.class);
++ final UsagesVisitor uv = new UsagesVisitor (jt, cu, jfm, cu.getSourceFile(), topLevels);
++ uv.scan(cu,usages);
++- for (Map.Entry<Pair<BinaryName,String>,UsagesData<String>> oe : usages.entrySet()) {
++- final Pair<BinaryName,String> key = oe.getKey();
+++ for (Map.Entry<Pair<String,String>,UsagesData<String>> oe : usages.entrySet()) {
+++ final Pair<String,String> key = oe.getKey();
++ final UsagesData<String> data = oe.getValue();
++ addClassReferences (key,data);
++ }
++@@ -277,29 +276,35 @@ public final class SourceAnalyzerFactory {
++ }
++
++ private static class BaseAnalyzer {
++- protected final List<Pair<Pair<BinaryName, String>, Object[]>> references = new ArrayList<>();
++- protected final Set<Pair<String,String>> toDelete = new HashSet<> ();
+++ protected final List<Pair<Pair<String, String>, Object[]>> references = new ArrayList<Pair<Pair<String, String>, Object[]>>();
+++ protected final Set<Pair<String,String>> toDelete = new HashSet<Pair<String,String>> ();
++
++- protected final void addClassReferences (final Pair<BinaryName,String> name, final UsagesData<String> data) {
+++ protected final void addClassReferences (final Pair<String,String> name, final UsagesData<String> data) {
++ assert name != null;
++ assert data != null;
++ final Object[] result = new Object[3];
++ result[0] = data.usagesToStrings();
++ result[1] = data.featureIdentsToString();
++ result[2] = data.identsToString();
++- this.references.add(Pair.<Pair<BinaryName,String>,Object[]>of(name,result));
+++ this.references.add(Pair.<Pair<String,String>,Object[]>of(name,result));
++ }
++ }
++
++- private static class UsagesVisitor extends TreePathScanner<Void,Map<Pair<BinaryName,String>,UsagesData<String>>> {
+++ private static class UsagesVisitor extends TreeScanner<Void,Map<Pair<String,String>,UsagesData<String>>> {
++
++ enum State {EXTENDS, IMPLEMENTS, GT, OTHER, IMPORT, PACKAGE_ANN};
++
++- private static final Convertor<String,String> CONVERTOR = (String p) -> p;
+++ private static final Convertor<String,String> CONVERTOR =
+++ new Convertor<String, String>() {
+++ @Override
+++ public String convert(String p) {
+++ return p;
+++ }
+++ };
++
++- private final Stack<Pair<BinaryName,String>> activeClass;
++- private final Names names;
++- private final Trees trees;
+++ private final Stack<Pair<String,String>> activeClass;
+++ private final Name errorName;
+++ private final Name pkgImportName;
++ private final CompilationUnitTree cu;
++ private final URL siblingUrl;
++ private final String sourceName;
++@@ -330,15 +335,30 @@ public final class SourceAnalyzerFactory {
++ javax.tools.JavaFileObject sibling,
++ Set<? super ElementHandle<TypeElement>> newTypes,
++ final JavaCustomIndexer.CompileTuple tuple) throws MalformedURLException, IllegalArgumentException {
++- this(
++- jt,
++- cu,
++- inferBinaryName(manager, sibling),
++- tuple.virtual ? tuple.indexable.getURL() : sibling.toUri().toURL(),
++- true,
++- tuple.virtual,
++- newTypes,
++- null);
+++
+++ assert jt != null;
+++ assert cu != null;
+++ assert manager != null;
+++ assert sibling != null;
+++
+++ this.activeClass = new Stack<Pair<String,String>> ();
+++ this.imports = new HashSet<Symbol> ();
+++ this.staticImports = new HashSet<Symbol> ();
+++ this.unusedPkgImports = new HashSet<Symbol>();
+++ this.importIdents = new HashSet<CharSequence>();
+++ this.packageAnnotationIdents = new HashSet<CharSequence>();
+++ this.packageAnnotations = new HashSet<Pair<Symbol, ClassIndexImpl.UsageType>>();
+++ final Names names = Names.instance(jt.getContext());
+++ this.errorName = names.error;
+++ this.pkgImportName = names.asterisk;
+++ this.state = State.OTHER;
+++ this.cu = cu;
+++ this.signatureFiles = true;
+++ this.virtual = tuple.virtual;
+++ this.siblingUrl = virtual ? tuple.indexable.getURL() : sibling.toUri().toURL();
+++ this.sourceName = inferBinaryName(manager, sibling);
+++ this.topLevels = null;
+++ this.newTypes = newTypes;
++ }
++
++ protected UsagesVisitor (
++@@ -347,52 +367,36 @@ public final class SourceAnalyzerFactory {
++ JavaFileManager manager,
++ javax.tools.JavaFileObject sibling,
++ Set<? super Pair<String,String>> topLevels) throws MalformedURLException, IllegalArgumentException {
++- this(
++- jt,
++- cu,
++- inferBinaryName(manager, sibling),
++- sibling.toUri().toURL(),
++- false,
++- false,
++- null,
++- topLevels);
++- }
++
++- private UsagesVisitor(
++- @NonNull final JavacTaskImpl jt,
++- @NonNull final CompilationUnitTree cu,
++- @NonNull final String sourceName,
++- @NonNull final URL siblingUrl,
++- final boolean sigFiles,
++- final boolean virtual,
++- @NullAllowed final Set<? super ElementHandle<TypeElement>> newTypes,
++- @NullAllowed final Set<? super Pair<String,String>> topLevels) {
++- assert sourceName != null;
++ assert jt != null;
++ assert cu != null;
++- this.activeClass = new Stack<> ();
++- this.imports = new HashSet<> ();
++- this.staticImports = new HashSet<> ();
++- this.unusedPkgImports = new HashSet<>();
++- this.importIdents = new HashSet<>();
++- this.packageAnnotationIdents = new HashSet<>();
++- this.packageAnnotations = new HashSet<>();
++- this.names = Names.instance(jt.getContext());
++- this.trees = Trees.instance(jt);
+++ assert manager != null;
+++ assert sibling != null;
+++
+++ this.activeClass = new Stack<Pair<String,String>> ();
+++ this.imports = new HashSet<Symbol> ();
+++ this.staticImports = new HashSet<Symbol>();
+++ this.unusedPkgImports = new HashSet<Symbol>();
+++ this.importIdents = new HashSet<CharSequence>();
+++ this.packageAnnotationIdents = new HashSet<CharSequence>();
+++ this.packageAnnotations = new HashSet<Pair<Symbol, ClassIndexImpl.UsageType>>();
+++ final Names names = Names.instance(jt.getContext());
+++ this.errorName = names.error;
+++ this.pkgImportName = names.asterisk;
++ this.state = State.OTHER;
++ this.cu = cu;
++- this.signatureFiles = sigFiles;
++- this.virtual = virtual;
++- this.newTypes = newTypes;
+++ this.signatureFiles = false;
+++ this.siblingUrl = sibling.toUri().toURL();
+++ this.sourceName = inferBinaryName(manager, sibling);
++ this.topLevels = topLevels;
++- this.sourceName = sourceName;
++- this.siblingUrl = siblingUrl;
+++ this.newTypes = null;
+++ this.virtual = false;
++ }
++
++
++ @Override
++ @CheckForNull
++- public Void scan(@NonNull final Tree node, @NonNull final Map<Pair<BinaryName,String>, UsagesData<String>> p) {
+++ public Void scan(@NonNull final Tree node, @NonNull final Map<Pair<String,String>, UsagesData<String>> p) {
++ if (node == null) {
++ return null;
++ }
++@@ -402,7 +406,7 @@ public final class SourceAnalyzerFactory {
++
++ @Override
++ @CheckForNull
++- public Void visitCompilationUnit(@NonNull final CompilationUnitTree node, @NonNull final Map<Pair<BinaryName,String>, UsagesData<String>> p) {
+++ public Void visitCompilationUnit(@NonNull final CompilationUnitTree node, @NonNull final Map<Pair<String,String>, UsagesData<String>> p) {
++ State oldState = state;
++ try {
++ state = State.PACKAGE_ANN;
++@@ -415,34 +419,35 @@ public final class SourceAnalyzerFactory {
++ }
++ scan(node.getTypeDecls(),p);
++
++- Pair<BinaryName,String> name = null;
+++ String className = null;
++ if (!imports.isEmpty() ||
++ !staticImports.isEmpty() ||
++ !unusedPkgImports.isEmpty()) {
++ //Empty file
++- final String className = getResourceName(node);
+++ className = getResourceName(node);
+++ final Pair<String,String> name;
++ if (className != null) {
++- name = Pair.<BinaryName,String>of(
++- BinaryName.create(className, ElementKind.CLASS),
++- null);
+++ final String classNameType = className + DocumentUtil.encodeKind(ElementKind.CLASS);
+++ name = Pair.<String,String>of(classNameType, null);
+++ } else {
+++ name = null;
++ }
++ addAndClearImports(name,p);
++ addAndClearUnusedPkgImports(name, p);
++ }
++
++ if (!packageAnnotations.isEmpty()) {
++- if (name == null) {
++- final String className = getResourceName(node);
++- if (className != null) {
++- name = Pair.of(
++- BinaryName.create(className, ElementKind.CLASS),
++- null);
++- for (Pair<Symbol,ClassIndexImpl.UsageType> usage : packageAnnotations) {
++- addUsage(usage.first(), name, p, usage.second());
++- }
++- for (CharSequence ident : packageAnnotationIdents) {
++- addIdent(name, ident, p, false);
++- }
+++ if (className == null) {
+++ className = getResourceName(node);
+++ }
+++ if (className != null) {
+++ final String classNameType = className + DocumentUtil.encodeKind(ElementKind.CLASS);
+++ final Pair<String,String> name = Pair.<String,String>of(classNameType, null);
+++ for (Pair<Symbol,ClassIndexImpl.UsageType> usage : packageAnnotations) {
+++ addUsage(usage.first(), name, p, usage.second());
+++ }
+++ for (CharSequence ident : packageAnnotationIdents) {
+++ addIdent(name, ident, p, false);
++ }
++ }
++ packageAnnotations.clear();
++@@ -454,9 +459,8 @@ public final class SourceAnalyzerFactory {
++
++ @Override
++ @CheckForNull
++- public Void visitMemberSelect(@NonNull final MemberSelectTree node, @NonNull final Map<Pair<BinaryName,String>, UsagesData<String>> p) {
++- final Symbol sym = (Symbol) trees.getElement(getCurrentPath());
++- handleVisitIdentSelect (sym, node.getIdentifier(), p);
+++ public Void visitMemberSelect(@NonNull final MemberSelectTree node, @NonNull final Map<Pair<String,String>, UsagesData<String>> p) {
+++ handleVisitIdentSelect (((JCTree.JCFieldAccess)node).sym, node.getIdentifier(), p);
++ State oldState = this.state;
++ this.state = (this.state == State.IMPORT || state == State.PACKAGE_ANN) ? state : State.OTHER;
++ Void ret = super.visitMemberSelect (node, p);
++@@ -466,26 +470,25 @@ public final class SourceAnalyzerFactory {
++
++ @Override
++ @CheckForNull
++- public Void visitIdentifier(@NonNull final IdentifierTree node, @NonNull final Map<Pair<BinaryName,String>, UsagesData<String>> p) {
++- final Symbol sym = (Symbol) trees.getElement(getCurrentPath());
++- handleVisitIdentSelect (sym, node.getName(), p);
+++ public Void visitIdentifier(@NonNull final IdentifierTree node, @NonNull final Map<Pair<String,String>, UsagesData<String>> p) {
+++ handleVisitIdentSelect (((JCTree.JCIdent)node).sym, node.getName(), p);
++ return super.visitIdentifier(node, p);
++ }
++
++ @Override
++ @CheckForNull
++- public Void visitImport (@NonNull final ImportTree node, @NonNull final Map<Pair<BinaryName,String>, UsagesData<String>> p) {
+++ public Void visitImport (@NonNull final ImportTree node, @NonNull final Map<Pair<String,String>, UsagesData<String>> p) {
++ this.isStaticImport = node.isStatic();
++ final Tree qit = node.getQualifiedIdentifier();
++- isPkgImport = qit.getKind() == Tree.Kind.MEMBER_SELECT && names.asterisk == (((MemberSelectTree)qit).getIdentifier());
+++ isPkgImport = qit.getKind() == Tree.Kind.MEMBER_SELECT && pkgImportName == (((MemberSelectTree)qit).getIdentifier());
++ final Void ret = super.visitImport(node, p);
++ isStaticImport = isPkgImport = false;
++ return ret;
++ }
++
++ @Override
++- public Void visitMemberReference(MemberReferenceTree node, Map<Pair<BinaryName, String>, UsagesData<String>> p) {
++- final Symbol sym = (Symbol) trees.getElement(getCurrentPath());
+++ public Void visitMemberReference(MemberReferenceTree node, Map<Pair<String, String>, UsagesData<String>> p) {
+++ final Symbol sym = ((JCTree.JCMemberReference)node).sym;
++ handleVisitIdentSelect(sym, node.getName(), p);
++ return super.visitMemberReference(node, p);
++ }
++@@ -493,11 +496,11 @@ public final class SourceAnalyzerFactory {
++ private void handleVisitIdentSelect (
++ @NullAllowed final Symbol sym,
++ @NonNull final CharSequence name,
++- @NonNull final Map<Pair<BinaryName,String>, UsagesData<String>> p) {
+++ @NonNull final Map<Pair<String,String>, UsagesData<String>> p) {
++ if (!activeClass.empty()) {
++ addIdent(activeClass.peek(), name, p, false);
++ if (sym != null) {
++- if (sym.kind == Kinds.Kind.ERR) {
+++ if (sym.kind == Kinds.ERR) {
++ final Symbol owner = sym.getEnclosingElement();
++ if (owner.getKind().isClass() || owner.getKind().isInterface()) {
++ addUsage(owner, activeClass.peek(), p, ClassIndexImpl.UsageType.TYPE_REFERENCE);
++@@ -547,7 +550,7 @@ public final class SourceAnalyzerFactory {
++ } else if (state == State.PACKAGE_ANN) {
++ packageAnnotationIdents.add(name);
++ if (sym != null) {
++- if (sym.kind == Kinds.Kind.ERR) {
+++ if (sym.kind == Kinds.ERR) {
++ final Symbol owner = sym.getEnclosingElement();
++ if (owner.getKind().isClass() || owner.getKind().isInterface()) {
++ packageAnnotations.add (Pair.of(owner,ClassIndexImpl.UsageType.TYPE_REFERENCE));
++@@ -575,7 +578,7 @@ public final class SourceAnalyzerFactory {
++
++ @Override
++ @CheckForNull
++- public Void visitParameterizedType(@NonNull final ParameterizedTypeTree node, @NonNull final Map<Pair<BinaryName,String>, UsagesData<String>> p) {
+++ public Void visitParameterizedType(@NonNull final ParameterizedTypeTree node, @NonNull final Map<Pair<String,String>, UsagesData<String>> p) {
++ scan(node.getType(), p);
++ State currState = this.state;
++ this.state = State.GT;
++@@ -586,13 +589,13 @@ public final class SourceAnalyzerFactory {
++
++ @Override
++ @CheckForNull
++- public Void visitClass (@NonNull final ClassTree node, @NonNull final Map<Pair<BinaryName,String>, UsagesData<String>> p) {
+++ public Void visitClass (@NonNull final ClassTree node, @NonNull final Map<Pair<String,String>, UsagesData<String>> p) {
++ final Symbol.ClassSymbol sym = ((JCTree.JCClassDecl)node).sym;
++ boolean errorInDecl = false;
++ boolean errorIgnorSubtree = true;
++ boolean topLevel = false;
++ String className = null;
++- Pair<BinaryName,String> name = null;
+++ Pair<String,String> name = null;
++ int nameFrom = -1;
++ String simpleName = null;
++
++@@ -606,9 +609,8 @@ public final class SourceAnalyzerFactory {
++ topLevel = true;
++ className = getResourceName (this.cu);
++ if (className != null && !className.isEmpty()) {
++- name = Pair.<BinaryName,String>of(
++- BinaryName.create(className, ElementKind.CLASS),
++- null);
+++ final String classNameType = className + DocumentUtil.encodeKind(ElementKind.CLASS);
+++ name = Pair.<String,String>of(classNameType, null);
++ simpleName = className.substring(className.lastIndexOf('.') + 1);
++ nameFrom = 1;
++ } else {
++@@ -626,18 +628,8 @@ public final class SourceAnalyzerFactory {
++ ClassFileUtil.encodeClassName(sym, classNameBuilder, '.'); //NOI18N
++ className = classNameBuilder.toString();
++ if (!className.isEmpty()) {
++- final int simpleNameStart;
++- simpleName = sym.getSimpleName().toString();
++- if (simpleName.isEmpty()) {
++- //Annon
++- int i = className.lastIndexOf('$'); //NOI18N
++- assert i > 0 : className;
++- simpleNameStart = i+1;
++- } else {
++- //Named
++- simpleNameStart = className.length() - sym.getSimpleName().length();
++- }
++-
+++ classNameBuilder.append(DocumentUtil.encodeKind(sym.getKind(), sym.isLocal()));
+++ final String classNameType = classNameBuilder.toString();
++ String resourceName = null;
++ topLevel = activeClass.isEmpty();
++ if (topLevel) {
++@@ -658,10 +650,9 @@ public final class SourceAnalyzerFactory {
++ } else {
++ resourceName = activeClass.peek().second();
++ }
++- name = Pair.<BinaryName,String>of(
++- BinaryName.create(className, sym.getKind(), sym.isLocal(), simpleNameStart),
++- resourceName);
+++ name = Pair.<String,String>of(classNameType, resourceName);
++ nameFrom = 2;
+++ simpleName = sym.getSimpleName().toString();
++ } else {
++ LOG.log(
++ Level.WARNING,
++@@ -744,7 +735,7 @@ public final class SourceAnalyzerFactory {
++
++ @Override
++ @CheckForNull
++- public Void visitNewClass(@NonNull final NewClassTree node, @NonNull final Map<Pair<BinaryName,String>, UsagesData<String>> p) {
+++ public Void visitNewClass(@NonNull final NewClassTree node, @NonNull final Map<Pair<String,String>, UsagesData<String>> p) {
++ final Symbol sym = ((JCTree.JCNewClass)node).constructor;
++ if (sym != null) {
++ final Symbol owner = sym.getEnclosingElement();
++@@ -761,7 +752,7 @@ public final class SourceAnalyzerFactory {
++
++ @Override
++ @CheckForNull
++- public Void visitErroneous(@NonNull final ErroneousTree tree, @NonNull final Map<Pair<BinaryName,String>, UsagesData<String>> p) {
+++ public Void visitErroneous(@NonNull final ErroneousTree tree, @NonNull final Map<Pair<String,String>, UsagesData<String>> p) {
++ List<? extends Tree> trees = tree.getErrorTrees();
++ for (Tree t : trees) {
++ this.scan(t,p);
++@@ -771,7 +762,7 @@ public final class SourceAnalyzerFactory {
++
++ @Override
++ @CheckForNull
++- public Void visitMethod(@NonNull final MethodTree node, @NonNull final Map<Pair<BinaryName,String>, UsagesData<String>> p) {
+++ public Void visitMethod(@NonNull final MethodTree node, @NonNull final Map<Pair<String,String>, UsagesData<String>> p) {
++ Element old = enclosingElement;
++ try {
++ enclosingElement = ((JCTree.JCMethodDecl) node).sym;
++@@ -789,7 +780,7 @@ public final class SourceAnalyzerFactory {
++ @Override
++ public Void visitLambdaExpression(
++ @NonNull final LambdaExpressionTree node,
++- @NonNull final Map<Pair<BinaryName, String>, UsagesData<String>> p) {
+++ @NonNull final Map<Pair<String, String>, UsagesData<String>> p) {
++ final Type type = ((JCTree.JCLambda)node).type;
++ if (type != null) {
++ final Symbol sym = type.tsym;
++@@ -807,7 +798,7 @@ public final class SourceAnalyzerFactory {
++
++ @Override
++ @CheckForNull
++- public Void visitVariable(@NonNull final VariableTree node, @NonNull final Map<Pair<BinaryName, String>, UsagesData<String>> p) {
+++ public Void visitVariable(@NonNull final VariableTree node, @NonNull final Map<Pair<String, String>, UsagesData<String>> p) {
++ Symbol s = ((JCTree.JCVariableDecl)node).sym;
++ if (s != null && s.owner != null && (s.owner.getKind().isClass() || s.owner.getKind().isInterface())) {
++ addIdent(activeClass.peek(), node.getName(), p, true);
++@@ -816,8 +807,8 @@ public final class SourceAnalyzerFactory {
++ }
++
++ private void addAndClearImports(
++- @NullAllowed final Pair<BinaryName,String> nameOfCU,
++- @NonNull final Map<Pair<BinaryName,String>, UsagesData<String>> data) {
+++ @NullAllowed final Pair<String,String> nameOfCU,
+++ @NonNull final Map<Pair<String,String>, UsagesData<String>> data) {
++ if (nameOfCU != null) {
++ for (Symbol s : imports) {
++ addUsage(s, nameOfCU, data, ClassIndexImpl.UsageType.TYPE_REFERENCE);
++@@ -841,8 +832,8 @@ public final class SourceAnalyzerFactory {
++ }
++
++ private void addAndClearUnusedPkgImports(
++- @NullAllowed final Pair<BinaryName,String> nameOfCU,
++- @NonNull final Map<Pair<BinaryName,String>, UsagesData<String>> data) {
+++ @NullAllowed final Pair<String,String> nameOfCU,
+++ @NonNull final Map<Pair<String,String>, UsagesData<String>> data) {
++ if (nameOfCU != null) {
++ for (Symbol s : unusedPkgImports) {
++ final StringBuilder sb = new StringBuilder();
++@@ -862,7 +853,7 @@ public final class SourceAnalyzerFactory {
++ * @throws IllegalArgumentException when file cannot be inferred.
++ */
++ @NonNull
++- private static String inferBinaryName(
+++ private String inferBinaryName(
++ @NonNull final JavaFileManager jfm,
++ @NonNull final javax.tools.JavaFileObject jfo) throws IllegalArgumentException {
++ String result = jfm.inferBinaryName(StandardLocation.SOURCE_PATH, jfo);
++@@ -895,8 +886,8 @@ public final class SourceAnalyzerFactory {
++
++ private void addUsage (
++ @NullAllowed final Symbol sym,
++- @NonNull final Pair<BinaryName,String>owner,
++- @NonNull final Map<Pair<BinaryName,String>, UsagesData<String>> map,
+++ @NonNull final Pair<String,String>owner,
+++ @NonNull final Map<Pair<String,String>, UsagesData<String>> map,
++ @NonNull final ClassIndexImpl.UsageType type) {
++ assert map != null;
++ assert type != null;
++@@ -912,8 +903,8 @@ public final class SourceAnalyzerFactory {
++
++ private void addUsage(
++ @NullAllowed final String className,
++- @NonNull final Pair<BinaryName,String>owner,
++- @NonNull final Map<Pair<BinaryName,String>, UsagesData<String>> map,
+++ @NonNull final Pair<String,String>owner,
+++ @NonNull final Map<Pair<String,String>, UsagesData<String>> map,
++ @NonNull final ClassIndexImpl.UsageType type) {
++ if (className != null) {
++ final UsagesData<String> data = getData(owner, map);
++@@ -923,8 +914,8 @@ public final class SourceAnalyzerFactory {
++
++ private void addUsages (
++ @NullAllowed final Symbol sym,
++- @NonNull final Pair<BinaryName,String>owner,
++- @NonNull final Map<Pair<BinaryName,String>, UsagesData<String>> map,
+++ @NonNull final Pair<String,String>owner,
+++ @NonNull final Map<Pair<String,String>, UsagesData<String>> map,
++ @NonNull final ClassIndexImpl.UsageType... types) {
++ assert map != null;
++ assert types != null;
++@@ -940,8 +931,8 @@ public final class SourceAnalyzerFactory {
++
++ private void addUsages(
++ @NullAllowed final String className,
++- @NonNull final Pair<BinaryName,String>owner,
++- @NonNull final Map<Pair<BinaryName,String>, UsagesData<String>> map,
+++ @NonNull final Pair<String,String>owner,
+++ @NonNull final Map<Pair<String,String>, UsagesData<String>> map,
++ @NonNull final ClassIndexImpl.UsageType... types) {
++ if (className != null) {
++ final UsagesData<String> data = getData(owner, map);
++@@ -950,9 +941,9 @@ public final class SourceAnalyzerFactory {
++ }
++
++ private void addIdent (
++- @NonNull final Pair<BinaryName,String>owner,
+++ @NonNull final Pair<String,String>owner,
++ @NonNull final CharSequence ident,
++- @NonNull final Map<Pair<BinaryName,String>, UsagesData<String>> map,
+++ @NonNull final Map<Pair<String,String>, UsagesData<String>> map,
++ final boolean feature) {
++ assert owner != null;
++ assert ident != null;
++@@ -969,12 +960,13 @@ public final class SourceAnalyzerFactory {
++ }
++
++ @NonNull
++- private UsagesData<String> getData (
++- @NonNull final Pair<BinaryName,String>owner,
++- @NonNull final Map<Pair<BinaryName,String>, UsagesData<String>> map) {
+++ private UsagesData<String> getData (@NonNull final Pair<String,String>owner, @NonNull final Map<Pair<String,String>, UsagesData<String>> map) {
++ UsagesData<String> data = map.get(owner);
++ if (data == null) {
++- data = new UsagesData<> (CONVERTOR);
+++ if (owner.first().charAt(owner.first().length()-2) == '.') { //NOI18N
+++ throw new IllegalArgumentException(owner.first());
+++ }
+++ data = new UsagesData<String> (CONVERTOR);
++ map.put(owner,data);
++ }
++ return data;
++@@ -982,7 +974,7 @@ public final class SourceAnalyzerFactory {
++
++ private boolean hasErrorName (@NullAllowed Symbol cs) {
++ while (cs != null) {
++- if (cs.name == names.error) {
+++ if (cs.name == errorName) {
++ return true;
++ }
++ cs = cs.getEnclosingElement();
++@@ -1033,9 +1025,7 @@ public final class SourceAnalyzerFactory {
++ return null;
++ }
++
++- private void recordTypeUsage(
++- final TypeMirror type,
++- final Map<Pair<BinaryName, String>, UsagesData<String>> p) {
+++ private void recordTypeUsage(final TypeMirror type, final Map<Pair<String, String>, UsagesData<String>> p) {
++ List<TypeMirror> types = new LinkedList<TypeMirror>();
++ types.add(type);
++ while (!types.isEmpty()) {
++diff --git a/java.source.base/src/org/netbeans/modules/java/ui/FmtOptions.java b/java.source.base/src/org/netbeans/modules/java/ui/FmtOptions.java
++index d316c9679..61a46a5f2 100644
++--- a/java.source.base/src/org/netbeans/modules/java/ui/FmtOptions.java
+++++ b/java.source.base/src/org/netbeans/modules/java/ui/FmtOptions.java
++@@ -137,7 +137,6 @@ public class FmtOptions {
++ public static final String wrapArrayInit = "wrapArrayInit"; //NOI18N
++ public static final String wrapTryResources = "wrapTryResources"; //NOI18N
++ public static final String wrapDisjunctiveCatchTypes = "wrapDisjunctiveCatchTypes"; //NOI18N
++- public static final String wrapAfterDisjunctiveCatchBar = "wrapAfterDisjunctiveCatchBar"; //NOI18N
++ public static final String wrapFor = "wrapFor"; //NOI18N
++ public static final String wrapForStatement = "wrapForStatement"; //NOI18N
++ public static final String wrapIfStatement = "wrapIfStatement"; //NOI18N
++@@ -426,7 +425,6 @@ public class FmtOptions {
++ { wrapArrayInit, WRAP_NEVER}, //NOI18N
++ { wrapTryResources, WRAP_NEVER}, //NOI18N
++ { wrapDisjunctiveCatchTypes, WRAP_NEVER}, //NOI18N
++- { wrapAfterDisjunctiveCatchBar, FALSE}, //NOI18N
++ { wrapFor, WRAP_NEVER}, //NOI18N
++ { wrapForStatement, WRAP_ALWAYS}, //NOI18N
++ { wrapIfStatement, WRAP_ALWAYS}, //NOI18N
++diff --git a/java.source.base/test/unit/src/org/netbeans/api/java/source/ClassIndexTest.java b/java.source.base/test/unit/src/org/netbeans/api/java/source/ClassIndexTest.java
++index 8263f4e03..3b064f1dc 100644
++--- a/java.source.base/test/unit/src/org/netbeans/api/java/source/ClassIndexTest.java
+++++ b/java.source.base/test/unit/src/org/netbeans/api/java/source/ClassIndexTest.java
++@@ -65,7 +65,6 @@ import org.netbeans.api.java.source.ClassIndex.Symbols;
++ import org.netbeans.junit.MockServices;
++ import org.netbeans.junit.NbTestCase;
++ import org.netbeans.junit.NbTestSuite;
++-import org.netbeans.junit.RandomlyFails;
++ import org.netbeans.modules.java.source.parsing.FileObjects;
++ import org.netbeans.modules.java.source.usages.ClassIndexManager;
++ import org.netbeans.modules.java.source.usages.ClassIndexManagerEvent;
++@@ -154,7 +153,6 @@ public class ClassIndexTest extends NbTestCase {
++ MockServices.setServices();
++ }
++
++- @RandomlyFails
++ public void testEvents () throws Exception {
++ GlobalPathRegistry.getDefault().register(ClassPath.BOOT, new ClassPath[] {bootPath});
++ GlobalPathRegistry.getDefault().register(ClassPath.COMPILE, new ClassPath[] {compilePath});
++diff --git a/java.source.base/test/unit/src/org/netbeans/api/java/source/ElementUtilitiesTest.java b/java.source.base/test/unit/src/org/netbeans/api/java/source/ElementUtilitiesTest.java
++index b057810a0..aab0d3927 100644
++--- a/java.source.base/test/unit/src/org/netbeans/api/java/source/ElementUtilitiesTest.java
+++++ b/java.source.base/test/unit/src/org/netbeans/api/java/source/ElementUtilitiesTest.java
++@@ -30,19 +30,12 @@
++ */
++
++ package org.netbeans.api.java.source;
++-import com.sun.source.tree.ClassTree;
++-import com.sun.source.util.TreePath;
++ import java.io.File;
++ import java.io.IOException;
++-import java.util.Collection;
++-import java.util.List;
++ import javax.lang.model.element.Element;
++ import javax.lang.model.element.ElementKind;
++ import javax.lang.model.element.ExecutableElement;
++-import javax.lang.model.element.TypeElement;
++ import javax.lang.model.type.TypeKind;
++-import static junit.framework.TestCase.assertNull;
++-import org.netbeans.api.java.source.JavaSourceTest.SourceLevelQueryImpl;
++ import org.netbeans.junit.NbTestCase;
++ import org.openide.filesystems.FileObject;
++ import org.openide.filesystems.FileUtil;
++@@ -59,7 +52,6 @@ public class ElementUtilitiesTest extends NbTestCase {
++
++ protected void setUp() throws Exception {
++ clearWorkDir();
++- SourceUtilsTestUtil.setLookup(new Object[0], ElementUtilities.class.getClassLoader());
++ SourceUtilsTestUtil.prepareTest(new String[0], new Object[0]);
++ }
++
++@@ -81,291 +73,6 @@ public class ElementUtilitiesTest extends NbTestCase {
++ testFO = sourceRoot.createData("Test.java");
++ }
++
++- public void testGetImplementationOfAndOverriden() throws Exception {
++- prepareTest();
++- SourceUtilsTestUtil.setSourceLevel(testFO, "8");
++- TestUtilities.copyStringToFile(FileUtil.toFile(testFO),
++- "import java.util.AbstractList;\n"
++- + "import java.util.Iterator;\n"
++- + "import java.util.ListIterator;\n"
++- + "\n"
++- + "public abstract class Test1 extends AbstractList {\n"
++- + " public static void method() {}\n"
++- + "\n"
++- + " public abstract class Test2 extends Test1 { \n"
++- + " public static void method() {}\n"
++- + " } \n"
++- + " \n"
++- + " public class Test3 extends Test2 {\n"
++- + " public static void method() {}\n"
++- + " } \n"
++- + "}\n"
++- + "abstract class TestImpl implements NRI, NRI2 {\n"
++- + " public static void method() {}\n"
++- + " public static Object next() { return null; }\n"
++- + " public static String previous() { return null; }\n"
++- + "\n"
++- + "}\n"
++- + "interface NRI extends ListIterator<String> {\n"
++- + " private static void someMethod() {\n"
++- + " }\n"
++- + "}\n"
++- + "interface NRI2 extends ListIterator<String> {\n"
++- + " public default void remove() {\n"
++- + " }\n"
++- + "}");
++- SourceLevelQueryImpl.sourceLevel = "8";
++- JavaSource javaSource = JavaSource.forFileObject(testFO);
++- javaSource.runUserActionTask(new Task<CompilationController>() {
++- public void run(CompilationController controller) throws IOException {
++- controller.toPhase(JavaSource.Phase.ELEMENTS_RESOLVED);
++- ClassTree test1Tree = (ClassTree)controller.getCompilationUnit().getTypeDecls().get(0);
++- ClassTree testImplTree = (ClassTree)controller.getCompilationUnit().getTypeDecls().get(1);
++- ClassTree nriTree = (ClassTree)controller.getCompilationUnit().getTypeDecls().get(2);
++- TreePath cuPath = new TreePath(controller.getCompilationUnit());
++-
++- ClassTree test2Tree = (ClassTree)test1Tree.getMembers().get(2);
++- ClassTree test3Tree = (ClassTree)test1Tree.getMembers().get(3);
++-
++- TreePath test1Path = new TreePath(cuPath, test1Tree);
++- TreePath testImplPath = new TreePath(cuPath, testImplTree);
++- TreePath nriPath = new TreePath(cuPath, test1Tree);
++- TreePath test2Path = new TreePath(test1Path, test1Tree.getMembers().get(2));
++- TreePath test3Path = new TreePath(test1Path, test1Tree.getMembers().get(3));
++-
++- Element test1Class = controller.getTrees().getElement(test1Path);
++- Element test2Class = controller.getTrees().getElement(test2Path);
++- TypeElement test3Class = (TypeElement)controller.getTrees().getElement(test3Path);
++- TypeElement testImplClass = (TypeElement)controller.getTrees().getElement(testImplPath);
++-
++- Element mMethod = controller.getTrees().getElement(new TreePath(test1Path, test1Tree.getMembers().get(1)));
++-
++- // get implementation of Test1.method in Test3; should be still Test1.method
++- Element check = controller.getElementUtilities().getImplementationOf((ExecutableElement)mMethod, test3Class);
++- assertSame(mMethod, check);
++-
++- // check that overriden static method is null, although matching signature exists in the superclass.
++- Element test3Method = controller.getTrees().getElement(new TreePath(test3Path, test3Tree.getMembers().get(1)));
++- check = controller.getElementUtilities().getOverriddenMethod((ExecutableElement)test3Method);
++- assertNull(check);
++-
++- Element nextMethod = controller.getTrees().getElement(new TreePath(test1Path, testImplTree.getMembers().get(2)));
++- Element prevMethod = controller.getTrees().getElement(new TreePath(test1Path, testImplTree.getMembers().get(3)));
++-
++- ExecutableElement iteratorRemoveMethod = (ExecutableElement)controller.getElementUtilities().findElement("java.util.Iterator.remove()");
++- ExecutableElement iteratorNextMethod = (ExecutableElement)controller.getElementUtilities().findElement("java.util.Iterator.next()");
++- ExecutableElement iteratorPrevMethod = (ExecutableElement)controller.getElementUtilities().findElement("java.util.Iterator.previous()");
++- ExecutableElement listIteratorPrevMethod = (ExecutableElement)controller.getElementUtilities().findElement("java.util.ListIterator.previous()");
++- ExecutableElement listIteratorNextMethod = (ExecutableElement)controller.getElementUtilities().findElement("java.util.ListIterator.next()");
++-
++- check = controller.getElementUtilities().getImplementationOf(iteratorNextMethod, testImplClass);
++- assertSame(null, check);
++- check = controller.getElementUtilities().getImplementationOf(listIteratorPrevMethod, testImplClass);
++- assertSame(check, prevMethod);
++-
++- // try to find remove implementation, should find NRI2.remove()
++- check = controller.getElementUtilities().getImplementationOf(iteratorRemoveMethod, testImplClass);
++- assertNotNull(check);
++- TypeElement owner = (TypeElement)check.getEnclosingElement();
++- assertEquals("NRI2", owner.getSimpleName().toString());
++-
++-
++- // but findUnimplementedMethods does:
++- List<? extends ExecutableElement> unimplemented = controller.getElementUtilities().findUnimplementedMethods(testImplClass);
++- int cnt = 0;
++- ExecutableElement foundNext = null;
++- ExecutableElement foundPrev = null;
++- ExecutableElement foundRemove = null;
++- for (ExecutableElement ee : unimplemented) {
++- String s = ee.getSimpleName().toString();
++- if ("next".equals(s)) {
++- foundNext = ee;
++- cnt++;
++- }
++- if ("previous".equals(s)) {
++- foundPrev = ee;
++- cnt++;
++- }
++- if ("remove".equals(s)) {
++- foundRemove = ee;
++- cnt++;
++- }
++- }
++- assertEquals("Only one of next/previous/remove is actually unimplemented", 1, cnt);
++- // next from listIterator (not iterator) is not implemented
++- assertSame(listIteratorNextMethod, foundNext);
++- // remove from the is implemented by the default method
++- assertNull(foundRemove);
++-
++- unimplemented = controller.getElementUtilities().findUnimplementedMethods(testImplClass, true);
++- cnt = 0;
++- for (ExecutableElement ee : unimplemented) {
++- if ("remove".equals(ee.getSimpleName().toString())) {
++- cnt++;
++- }
++- }
++- assertEquals("Should return even remove default method", 1, cnt);
++- }
++- }, true);
++- }
++-
++- public void testInheritanceOfDefault() throws Exception {
++- prepareTest();
++- SourceUtilsTestUtil.setSourceLevel(testFO, "8");
++- TestUtilities.copyStringToFile(FileUtil.toFile(testFO),
++- "import java.util.Iterator;\n" +
++- "public class Test {\n" +
++- " public class C1 implements Iterator, I1 {\n" +
++- " }\n" +
++- " \n" +
++- " public class C2 implements A1, B {\n" +
++- " }\n" +
++- " \n" +
++- " public class C3 implements A2 {\n" +
++- " }\n" +
++- " \n" +
++- " public class C4 implements A1, A2 {\n" +
++- " }\n" +
++- " \n" +
++- " public class C5 implements A1, AB {\n" +
++- " }\n" +
++- " public class C6 implements A1, AX {\n" +
++- " }\n" +
++- " \n" +
++- " public interface I1 extends Iterator {\n" +
++- " public default boolean hasNext() { return false; }\n" +
++- " }\n" +
++- " \n" +
++- " public interface A {\n" +
++- " public void a();\n" +
++- " }\n" +
++- " \n" +
++- " public interface A1 extends A {\n" +
++- " public default void a() {}\n" +
++- " }\n" +
++- " \n" +
++- " public interface B {\n" +
++- " public void b();\n" +
++- " }\n" +
++- " \n" +
++- " public interface AX {\n" +
++- " public void a();\n" +
++- " }\n" +
++- " \n" +
++- " public interface A2 extends A {\n" +
++- " public void a();\n" +
++- " }\n" +
++- " \n" +
++- " public interface AB extends A, B {\n" +
++- " public default void b() {}\n" +
++- " }\n" +
++- " \n" +
++- " public interface AB2 extends A1, B {\n" +
++- " }\n" +
++- " \n" +
++- "}");
++- SourceLevelQueryImpl.sourceLevel = "8";
++- JavaSource javaSource = JavaSource.forFileObject(testFO);
++- javaSource.runUserActionTask(new Task<CompilationController>() {
++- public void run(CompilationController controller) throws IOException {
++- controller.toPhase(JavaSource.Phase.ELEMENTS_RESOLVED);
++- ClassTree outerTree = (ClassTree)controller.getCompilationUnit().getTypeDecls().get(0);
++- TreePath outerPath = new TreePath(
++- new TreePath(controller.getCompilationUnit()),
++- outerTree);
++- ClassTree c1Tree = (ClassTree)outerTree.getMembers().get(1);
++- ClassTree c2Tree = (ClassTree)outerTree.getMembers().get(2);
++- ClassTree c3Tree = (ClassTree)outerTree.getMembers().get(3);
++- ClassTree c4Tree = (ClassTree)outerTree.getMembers().get(4);
++- ClassTree c5Tree = (ClassTree)outerTree.getMembers().get(5);
++- ClassTree c6Tree = (ClassTree)outerTree.getMembers().get(6);
++-
++- TypeElement c1Elem = (TypeElement)controller.getTrees().getElement(new TreePath(outerPath, c1Tree));
++- TypeElement c2Elem = (TypeElement)controller.getTrees().getElement(new TreePath(outerPath, c2Tree));
++- TypeElement c3Elem = (TypeElement)controller.getTrees().getElement(new TreePath(outerPath, c3Tree));
++- TypeElement c4Elem = (TypeElement)controller.getTrees().getElement(new TreePath(outerPath, c4Tree));
++- TypeElement c5Elem = (TypeElement)controller.getTrees().getElement(new TreePath(outerPath, c5Tree));
++- TypeElement c6Elem = (TypeElement)controller.getTrees().getElement(new TreePath(outerPath, c6Tree));
++-
++- // C1 gets defaulted 'remove' and 'hasNext'.
++- List<? extends ExecutableElement> missing = controller.getElementUtilities().findUnimplementedMethods(c1Elem);
++- ExecutableElement found = find("remove", missing);
++- assertNull("remove is defined by default", found);
++- found = find("hasNext", missing);
++- assertNull("hasNext is defined by default", found);
++-
++- // ensure that we can find implementation of those methods:
++- ExecutableElement iteratorRemove = (ExecutableElement)controller.getElementUtilities().findElement("java.util.Iterator.remove()");
++- ExecutableElement iteratorHasNext = (ExecutableElement)controller.getElementUtilities().findElement("java.util.Iterator.hasNext()");
++- ExecutableElement check = (ExecutableElement)controller.getElementUtilities().getImplementationOf(iteratorRemove, c1Elem);
++- ExecutableElement check2 = (ExecutableElement)controller.getElementUtilities().getImplementationOf(iteratorHasNext, c1Elem);
++-
++- assertNotNull(check);
++- assertNotNull(check2);
++-
++- TypeElement enclosing = (TypeElement)check.getEnclosingElement();
++- assertEquals("java.util.Iterator", enclosing.getQualifiedName().toString());
++- enclosing = (TypeElement)check2.getEnclosingElement();
++- assertEquals("Test.I1", enclosing.getQualifiedName().toString());
++-
++- // now get everything incl. the defaults:
++- missing = controller.getElementUtilities().findUnimplementedMethods(c1Elem, true);
++- found = find("remove", missing);
++- assertNotNull("default remove should be present", found);
++- found = find("hasNext", missing);
++- assertNotNull("default hasNext should be present", found);
++-
++- // C2 gets one default and one abstract method
++- missing = controller.getElementUtilities().findUnimplementedMethods(c1Elem);
++- assertEquals(1, missing.size());
++- assertNull("a is provided from default", find("a", missing));
++- ExecutableElement method = (ExecutableElement)controller.getElementUtilities().findElement("Test.A.a()");
++- check = (ExecutableElement)controller.getElementUtilities().getImplementationOf(method, c2Elem);
++- assertNotNull(check);
++- enclosing = (TypeElement)check.getEnclosingElement();
++- assertEquals("Test.A1", enclosing.getQualifiedName().toString());
++-
++- missing = controller.getElementUtilities().findUnimplementedMethods(c2Elem, true);
++- assertEquals(2, missing.size());
++-
++- // C3 gets a from A2, not A
++- missing = controller.getElementUtilities().findUnimplementedMethods(c3Elem);
++- assertEquals(1, missing.size());
++- found = (ExecutableElement)controller.getElementUtilities().findElement("Test.A2.a()");
++- check = missing.get(0);
++- assertSame(found, check);
++-
++- // C4 gets default from A2, but that is discarded by sibling A2
++- missing = controller.getElementUtilities().findUnimplementedMethods(c4Elem);
++- assertEquals(1, missing.size());
++- check = missing.get(0);
++- assertSame(found, check);
++- method = (ExecutableElement)controller.getElementUtilities().findElement("Test.A.a()");
++- check = (ExecutableElement)controller.getElementUtilities().getImplementationOf(method, c4Elem);
++- // no real implementation
++- assertNull(check);
++-
++- // C5 gets defaulted b() and a()
++- missing = controller.getElementUtilities().findUnimplementedMethods(c5Elem);
++- assertEquals("All methods are defined by defaults", 0, missing.size());
++-
++- // C6 gets an unrelated a() which discards the A1.a() default
++- missing = controller.getElementUtilities().findUnimplementedMethods(c6Elem);
++- assertEquals("Default method should conflict", 1, missing.size());
++- method = (ExecutableElement)controller.getElementUtilities().findElement("Test.AX.a()");
++- assertSame(method, missing.get(0));
++- }}, true);
++- }
++-
++- private ExecutableElement find(String s, Collection<? extends ExecutableElement> elems) {
++- for (ExecutableElement e : elems) {
++- if (e.getSimpleName().contentEquals(s)) {
++- return e;
++- }
++- }
++- return null;
++- }
++-
++ public void testI18N() throws Exception {
++ prepareTest();
++
++diff --git a/java.source.base/test/unit/src/org/netbeans/api/java/source/SourceUtilsTest.java b/java.source.base/test/unit/src/org/netbeans/api/java/source/SourceUtilsTest.java
++index 1f61d0a22..bd6112eaf 100644
++--- a/java.source.base/test/unit/src/org/netbeans/api/java/source/SourceUtilsTest.java
+++++ b/java.source.base/test/unit/src/org/netbeans/api/java/source/SourceUtilsTest.java
++@@ -447,6 +447,31 @@ public class SourceUtilsTest extends ClassIndexTestCase {
++ f = SourceUtils.getFile(ElementHandle.create(test), info.getClasspathInfo());
++ assertEquals("TestDollarSourceName.java", f.getNameExt());
++ }
+++
+++ /**
+++ * Checks that an inner class is found in outer class' source file even though a source file
+++ * matching outer$inner.java is present
+++ */
+++ public void testInnerClassName() throws Exception {
+++ File work = getWorkDir();
+++ FileObject workFO = FileUtil.toFileObject(work);
+++ FileObject sourceRoot = workFO.createFolder("src");
+++ TestUtil.copyFiles(FileUtil.toFile(sourceRoot), "sourceutils/TestInnerClassName$InnerClass.java");
+++ prepareTest();
+++
+++ FileObject s1 = sourceRoot.getFileObject("sourceutils/TestInnerClassName.java");
+++ FileObject s2 = sourceRoot.getFileObject("sourceutils/TestInnerClassName$InnerClass.java");
+++
+++ js = JavaSource.create(js.getClasspathInfo(), s1, s2);
+++ assertNotNull(js);
+++ info = SourceUtilsTestUtil.getCompilationInfo(js, JavaSource.Phase.RESOLVED);
+++
+++ TypeElement test = info.getElements().getTypeElement("sourceutils.TestInnerClassName.InnerClass");
+++ assertNotNull(test);
+++
+++ FileObject f = SourceUtils.getFile(ElementHandle.create(test), info.getClasspathInfo());
+++ assertEquals("TestInnerClassName.java", f.getNameExt());
+++ }
++
++ //<editor-fold defaultstate="collapsed" desc="Helper methods & Mock services">
++
++diff --git a/java.source.base/test/unit/src/org/netbeans/api/java/source/SourceUtilsTestUtil.java b/java.source.base/test/unit/src/org/netbeans/api/java/source/SourceUtilsTestUtil.java
++index 1d9e84548..b7dec26b0 100644
++--- a/java.source.base/test/unit/src/org/netbeans/api/java/source/SourceUtilsTestUtil.java
+++++ b/java.source.base/test/unit/src/org/netbeans/api/java/source/SourceUtilsTestUtil.java
++@@ -99,8 +99,6 @@ import org.xml.sax.SAXException;
++ public final class SourceUtilsTestUtil extends ProxyLookup {
++
++ private static SourceUtilsTestUtil DEFAULT_LOOKUP = null;
++- private static final Set<String> NB_JAVAC = Collections.unmodifiableSet(new HashSet<String>(
++- Arrays.asList("nb-javac-api.jar","nb-javac-impl.jar"))); //NOI18N
++
++ public SourceUtilsTestUtil() {
++ // Assert.assertNull(DEFAULT_LOOKUP);
++@@ -244,20 +242,15 @@ public final class SourceUtilsTestUtil extends ProxyLookup {
++ if (bootClassPath == null) {
++ try {
++ String cp = System.getProperty("sun.boot.class.path");
++- String tools = System.getProperty("tools.jar.location");
++- if (tools != null) {
++- cp = cp + System.getProperty("path.separator") + tools;
++- }
++ List<URL> urls = new ArrayList<URL>();
++- for (String path : cp.split(Pattern.quote(System.getProperty("path.separator")))) {
++- final File f = new File(path);
+++ String[] paths = cp.split(Pattern.quote(System.getProperty("path.separator")));
+++
+++ for (String path : paths) {
+++ File f = new File(path);
+++
++ if (!f.canRead())
++ continue;
++- //Remove nb-javac-impl.jar & nb-javac-api.jar added to test as boot prepend
++- if (NB_JAVAC.contains(f.getName())) {
++- continue;
++- }
++-
+++
++ FileObject fo = FileUtil.toFileObject(f);
++
++ if (FileUtil.isArchiveFile(fo)) {
++@@ -268,6 +261,7 @@ public final class SourceUtilsTestUtil extends ProxyLookup {
++ urls.add(fo.getURL());
++ }
++ }
+++
++ bootClassPath = urls;
++ } catch (FileStateInvalidException e) {
++ if (log.isLoggable(Level.SEVERE))
++diff --git a/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/BreakContinueTest.java b/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/BreakContinueTest.java
++index 641248749..c27a9d2ae 100644
++--- a/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/BreakContinueTest.java
+++++ b/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/BreakContinueTest.java
++@@ -1,7 +1,7 @@
++ /*
++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++ *
++- * Copyright 2010, 2016 Oracle and/or its affiliates. All rights reserved.
+++ * Copyright 2010 Oracle and/or its affiliates. All rights reserved.
++ *
++ * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++ * Other names may be trademarks of their respective owners.
++@@ -23,19 +23,6 @@
++ * License Header, with the fields enclosed by brackets [] replaced by
++ * your own identifying information:
++ * "Portions Copyrighted [year] [name of copyright owner]"
++- *
++- * If you wish your version of this file to be governed by only the CDDL
++- * or only the GPL Version 2, indicate your decision by adding
++- * "[Contributor] elects to include this software in this distribution
++- * under the [CDDL or GPL Version 2] license." If you do not indicate a
++- * single choice of license, a recipient has the option to distribute
++- * your version of this file under either the CDDL, the GPL Version 2 or
++- * to extend the choice of license to its licensees as provided above.
++- * However, if you add GPL Version 2 code and therefore, elected the GPL
++- * Version 2 license, then the option applies only if the new code is
++- * made subject to such option by the copyright holder.
++- *
++- * Contributor(s):
++ */
++ package org.netbeans.api.java.source.gen;
++
++diff --git a/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/FieldGroupTest.java b/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/FieldGroupTest.java
++index b7c3aacac..5937c5cff 100644
++--- a/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/FieldGroupTest.java
+++++ b/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/FieldGroupTest.java
++@@ -1549,68 +1549,6 @@ public class FieldGroupTest extends GeneratorTestMDRCompat {
++ System.err.println(res);
++ assertEquals(golden, res);
++ }
++-
++- public void testFieldGroupFirstComment255568() throws Exception {
++- testFile = new File(getWorkDir(), "Test.java");
++- TestUtilities.copyStringToFile(testFile,
++- "package test;\n" +
++- "public enum Test {\n" +
++- " /**\n" +
++- " * Double\n"
++- + " */\n"
++- + " ONE,\n"
++- + " /**\n"
++- + " * Javadoc1\n"
++- + " */\n"
++- + " TWO,\n"
++- + " \n"
++- + " /**\n"
++- + " * Javadoc2\n"
++- + " */\n"
++- + " TRI"
++- + "}\n"
++- );
++- String golden = "package test;\n" +
++- "public enum Test {\n" +
++- " /**\n" +
++- " * Double\n"
++- + " */\n"
++- + " ONE,\n"
++- + " /**\n"
++- + " * Javadoc1\n"
++- + " */\n"
++- + " Dva,\n"
++- + " \n"
++- + " /**\n"
++- + " * Javadoc2\n"
++- + " */\n"
++- + " TRI"
++- + "}\n";
++-
++- JavaSource testSource = JavaSource.forFileObject(FileUtil.toFileObject(testFile));
++- Task<WorkingCopy> task = new Task<WorkingCopy>() {
++-
++- @Override
++- public void run(WorkingCopy wc) throws Exception {
++- wc.toPhase(Phase.RESOLVED);
++- ClassTree ct = (ClassTree)wc.getCompilationUnit().getTypeDecls().get(0);
++- // 0 is the ctor
++- VariableTree twoField = (VariableTree) ct.getMembers().get(2);
++- wc.rewrite(twoField,
++- wc.getTreeMaker().Variable(
++- twoField.getModifiers(),
++- "Dva",
++- twoField.getType(),
++- twoField.getInitializer()
++- )
++- );
++- }
++- };
++- testSource.runModificationTask(task).commit();
++- String res = TestUtilities.copyFileToString(testFile);
++- System.err.println(res);
++- assertEquals(golden, res);
++- }
++
++ public void testMultiFileCopy234570() throws Exception {
++ File source = new File(getWorkDir(), "Source.java");
++diff --git a/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/IfTest.java b/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/IfTest.java
++index 08cbe9e0e..06db9b243 100644
++--- a/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/IfTest.java
+++++ b/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/IfTest.java
++@@ -575,115 +575,6 @@ public class IfTest extends GeneratorTestBase {
++ System.out.println(res);
++ assertEquals(golden, res);
++ }
++-
++- public void test257910NestedIfs() throws Exception {
++- String source = "public class Test {\n"
++- + " public void test() {\n"
++- + " if (true) {\n"
++- + " System.out.println(2);\n"
++- + " } else if (false) {\n"
++- + " System.out.println(1);\n"
++- + " }\n"
++- + " }\n"
++- + "}";
++-
++- String golden = "public class Test {\n"
++- + " public void test() {\n"
++- + " if (false) {\n"
++- + " if (false) {\n"
++- + " System.out.println(1);\n"
++- + " }\n"
++- + " } else {\n"
++- + " System.out.println(2);\n"
++- + " }\n"
++- + " }\n"
++- + "}";
++- testFile = new File(getWorkDir(), "Test.java");
++- TestUtilities.copyStringToFile(testFile, source);
++- JavaSource src = getJavaSource(testFile);
++- Task<WorkingCopy> task = new Task<WorkingCopy>() {
++- public void run(WorkingCopy copy) throws Exception {
++- if (copy.toPhase(Phase.RESOLVED).compareTo(Phase.RESOLVED) < 0) {
++- return;
++- }
++-
++- TreeMaker make = copy.getTreeMaker();
++- ClassTree clazz = (ClassTree) copy.getCompilationUnit().getTypeDecls().get(0);
++- MethodTree method = (MethodTree) clazz.getMembers().get(1);
++-
++- BlockTree block = method.getBody();
++- IfTree originalA = (IfTree) block.getStatements().get(0);
++-
++- // swap branches
++- IfTree rewrite = make.If(
++- make.Parenthesized(
++- make.Literal(Boolean.FALSE)
++- ),
++- originalA.getElseStatement(), originalA.getThenStatement()
++- );
++- copy.rewrite(originalA, rewrite);
++- }
++- };
++- src.runModificationTask(task).commit();
++- String res = TestUtilities.copyFileToString(testFile);
++- System.out.println(res);
++- assertEquals(golden, res);
++- }
++-
++- public void test257910NestedIfsCorrectlyPaired() throws Exception {
++- String source = "public class Test {\n"
++- + " public void test() {\n"
++- + " if (true) {\n"
++- + " System.out.println(2);\n"
++- + " } else if (false) {\n"
++- + " System.out.println(1);\n"
++- + " } else \n"
++- + " System.out.println(3);\n"
++- + " }\n"
++- + "}";
++-
++- String golden = "public class Test {\n"
++- + " public void test() {\n"
++- + " if (false) if (false) {\n"
++- + " System.out.println(1);\n"
++- + " } else\n"
++- + " System.out.println(3); else {\n"
++- + " System.out.println(2);\n"
++- + " }\n"
++- + " }\n"
++- + "}";
++- testFile = new File(getWorkDir(), "Test.java");
++- TestUtilities.copyStringToFile(testFile, source);
++- JavaSource src = getJavaSource(testFile);
++- Task<WorkingCopy> task = new Task<WorkingCopy>() {
++- public void run(WorkingCopy copy) throws Exception {
++- if (copy.toPhase(Phase.RESOLVED).compareTo(Phase.RESOLVED) < 0) {
++- return;
++- }
++-
++- TreeMaker make = copy.getTreeMaker();
++- ClassTree clazz = (ClassTree) copy.getCompilationUnit().getTypeDecls().get(0);
++- MethodTree method = (MethodTree) clazz.getMembers().get(1);
++-
++- BlockTree block = method.getBody();
++- IfTree originalA = (IfTree) block.getStatements().get(0);
++-
++- // swap branches
++- IfTree rewrite = make.If(
++- make.Parenthesized(
++- make.Literal(Boolean.FALSE)
++- ),
++- originalA.getElseStatement(), originalA.getThenStatement()
++- );
++- copy.rewrite(originalA, rewrite);
++- }
++- };
++- src.runModificationTask(task).commit();
++- String res = TestUtilities.copyFileToString(testFile);
++- System.out.println(res);
++- assertEquals(golden, res);
++- }
++-
++
++ String getGoldenPckg() {
++ return "";
++diff --git a/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/ImportAnalysis2Test.java b/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/ImportAnalysis2Test.java
++index 1404bbcee..5a9d5b48d 100644
++--- a/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/ImportAnalysis2Test.java
+++++ b/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/ImportAnalysis2Test.java
++@@ -648,7 +648,7 @@ public class ImportAnalysis2Test extends GeneratorTestMDRCompat {
++ " }\n" +
++ "}\n";
++
++- ClasspathInfo cpInfo = ClasspathInfoAccessor.getINSTANCE().create (ClassPathSupport.createClassPath(System.getProperty("sun.boot.class.path")), ClassPath.EMPTY, ClassPathSupport.createClassPath(getSourcePath()), null, true, false, false, true, null);
+++ ClasspathInfo cpInfo = ClasspathInfoAccessor.getINSTANCE().create (ClassPathSupport.createClassPath(System.getProperty("sun.boot.class.path")), ClassPath.EMPTY, ClassPathSupport.createClassPath(getSourcePath()), null, true, false, false, true);
++ JavaSource src = JavaSource.create(cpInfo, FileUtil.toFileObject(testFile));
++ Task<WorkingCopy> task = new Task<WorkingCopy>() {
++ public void run(WorkingCopy workingCopy) throws IOException {
++@@ -692,7 +692,7 @@ public class ImportAnalysis2Test extends GeneratorTestMDRCompat {
++ " Entry e;\n" +
++ "}\n";
++
++- ClasspathInfo cpInfo = ClasspathInfoAccessor.getINSTANCE().create (ClassPathSupport.createClassPath(System.getProperty("sun.boot.class.path")), ClassPath.EMPTY, ClassPathSupport.createClassPath(getSourcePath()), null, true, false, false, true, null);
+++ ClasspathInfo cpInfo = ClasspathInfoAccessor.getINSTANCE().create (ClassPathSupport.createClassPath(System.getProperty("sun.boot.class.path")), ClassPath.EMPTY, ClassPathSupport.createClassPath(getSourcePath()), null, true, false, false, true);
++ JavaSource src = JavaSource.create(cpInfo, FileUtil.toFileObject(testFile));
++ Task<WorkingCopy> task = new Task<WorkingCopy>() {
++ public void run(WorkingCopy workingCopy) throws IOException {
++@@ -733,7 +733,7 @@ public class ImportAnalysis2Test extends GeneratorTestMDRCompat {
++ "}\n";
++ final TransactionContext ctx = TransactionContext.beginStandardTransaction(Utilities.toURI(getWorkDir()).toURL(), true, true, false);
++ try {
++- ClasspathInfo cpInfo = ClasspathInfoAccessor.getINSTANCE().create (ClassPathSupport.createClassPath(System.getProperty("sun.boot.class.path")), ClassPath.EMPTY, ClassPathSupport.createClassPath(getSourcePath()), null, true, false, false, true, null);
+++ ClasspathInfo cpInfo = ClasspathInfoAccessor.getINSTANCE().create (ClassPathSupport.createClassPath(System.getProperty("sun.boot.class.path")), ClassPath.EMPTY, ClassPathSupport.createClassPath(getSourcePath()), null, true, false, false, true);
++ JavaSource src = JavaSource.create(cpInfo, FileUtil.toFileObject(testFile));
++ Preferences preferences = MimeLookup.getLookup(JavaTokenId.language().mimeType()).lookup(Preferences.class);
++ preferences.putBoolean("importInnerClasses", true);
++@@ -779,7 +779,7 @@ public class ImportAnalysis2Test extends GeneratorTestMDRCompat {
++
++ final TransactionContext ctx = TransactionContext.beginStandardTransaction(Utilities.toURI(getWorkDir()).toURL(), true, true, false);
++ try {
++- ClasspathInfo cpInfo = ClasspathInfoAccessor.getINSTANCE().create (ClassPathSupport.createClassPath(System.getProperty("sun.boot.class.path")), ClassPath.EMPTY, ClassPathSupport.createClassPath(getSourcePath()), null, true, false, false, true, null);
+++ ClasspathInfo cpInfo = ClasspathInfoAccessor.getINSTANCE().create (ClassPathSupport.createClassPath(System.getProperty("sun.boot.class.path")), ClassPath.EMPTY, ClassPathSupport.createClassPath(getSourcePath()), null, true, false, false, true);
++ JavaSource src = JavaSource.create(cpInfo, FileUtil.toFileObject(testFile));
++ Task<WorkingCopy> task = new Task<WorkingCopy>() {
++ public void run(WorkingCopy workingCopy) throws IOException {
++diff --git a/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/InterfaceTest.java b/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/InterfaceTest.java
++index b69cfea82..76d4c924f 100644
++--- a/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/InterfaceTest.java
+++++ b/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/InterfaceTest.java
++@@ -1,7 +1,7 @@
++ /*
++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++ *
++- * Copyright 1997, 2016 Oracle and/or its affiliates. All rights reserved.
+++ * Copyright 1997-2010 Oracle and/or its affiliates. All rights reserved.
++ *
++ * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++ * Other names may be trademarks of their respective owners.
++@@ -24,18 +24,12 @@
++ * your own identifying information:
++ * "Portions Copyrighted [year] [name of copyright owner]"
++ *
++- * If you wish your version of this file to be governed by only the CDDL
++- * or only the GPL Version 2, indicate your decision by adding
++- * "[Contributor] elects to include this software in this distribution
++- * under the [CDDL or GPL Version 2] license." If you do not indicate a
++- * single choice of license, a recipient has the option to distribute
++- * your version of this file under either the CDDL, the GPL Version 2 or
++- * to extend the choice of license to its licensees as provided above.
++- * However, if you add GPL Version 2 code and therefore, elected the GPL
++- * Version 2 license, then the option applies only if the new code is
++- * made subject to such option by the copyright holder.
++- *
++ * Contributor(s):
+++ *
+++ * "Portions Copyrighted [2007] [Sun Microsystems, Inc]"
+++ *
+++ * To change this template, choose Tools | Template Manager
+++ * and open the template in the editor.
++ */
++ package org.netbeans.api.java.source.gen;
++
++diff --git a/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/ModifiersTest.java b/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/ModifiersTest.java
++index 9d75b94d8..8fba17e3a 100644
++--- a/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/ModifiersTest.java
+++++ b/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/ModifiersTest.java
++@@ -1540,44 +1540,6 @@ public class ModifiersTest extends GeneratorTestMDRCompat {
++ assertEquals(golden, res);
++ }
++
++- public void testRemoveModifiersWithTypeParameters() throws Exception {
++- testFile = new File(getWorkDir(), "Test.java");
++- TestUtilities.copyStringToFile(testFile,
++- "package flaska;\n" +
++- "\n" +
++- "public class Test {\n" +
++- " public <T extends java.lang.Number> java.util.Set<T> find(){return null;}" +
++- "}\n"
++- );
++- String golden =
++- "package flaska;\n" +
++- "\n" +
++- "public class Test {\n" +
++- " <T extends java.lang.Number> java.util.Set<T> find(){return null;}" +
++- "}\n";
++- JavaSource testSource = JavaSource.forFileObject(FileUtil.toFileObject(testFile));
++- Task<WorkingCopy> task = new Task<WorkingCopy>() {
++-
++- public void run(final WorkingCopy workingCopy) throws java.io.IOException {
++- workingCopy.toPhase(Phase.RESOLVED);
++- final TreeMaker make = workingCopy.getTreeMaker();
++- ClassTree clazz = (ClassTree) workingCopy.getCompilationUnit().getTypeDecls().get(0);
++- new TreeScanner() {
++- @Override public Object visitMethod(MethodTree node, Object p) {
++- if (node.getName().contentEquals("find")) {
++- workingCopy.rewrite(node.getModifiers(), make.Modifiers(Collections.emptySet()));
++- }
++- return super.visitMethod(node, p);
++- }
++- }.scan(clazz, null);
++- }
++- };
++- testSource.runModificationTask(task).commit();
++- String res = TestUtilities.copyFileToString(testFile);
++- System.err.println(res);
++- assertEquals(golden, res);
++- }
++-
++ String getGoldenPckg() {
++ return "";
++ }
++diff --git a/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/PackageTest.java b/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/PackageTest.java
++index 3507ede2b..6d16e0efd 100644
++--- a/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/PackageTest.java
+++++ b/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/PackageTest.java
++@@ -148,7 +148,7 @@ public class PackageTest extends GeneratorTestMDRCompat {
++ TreeMaker make = workingCopy.getTreeMaker();
++ CompilationUnitTree cut = workingCopy.getCompilationUnit();
++ CompilationUnitTree copy = make.CompilationUnit(
++- (ExpressionTree)null,
+++ null,
++ cut.getImports(),
++ cut.getTypeDecls(),
++ cut.getSourceFile()
++diff --git a/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/SwitchTest.java b/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/SwitchTest.java
++index cf46875d9..875e8af08 100644
++--- a/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/SwitchTest.java
+++++ b/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/SwitchTest.java
++@@ -1,7 +1,7 @@
++ /*
++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++ *
++- * Copyright 2010, 2016 Oracle and/or its affiliates. All rights reserved.
+++ * Copyright 2010 Oracle and/or its affiliates. All rights reserved.
++ *
++ * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++ * Other names may be trademarks of their respective owners.
++@@ -23,19 +23,6 @@
++ * License Header, with the fields enclosed by brackets [] replaced by
++ * your own identifying information:
++ * "Portions Copyrighted [year] [name of copyright owner]"
++- *
++- * If you wish your version of this file to be governed by only the CDDL
++- * or only the GPL Version 2, indicate your decision by adding
++- * "[Contributor] elects to include this software in this distribution
++- * under the [CDDL or GPL Version 2] license." If you do not indicate a
++- * single choice of license, a recipient has the option to distribute
++- * your version of this file under either the CDDL, the GPL Version 2 or
++- * to extend the choice of license to its licensees as provided above.
++- * However, if you add GPL Version 2 code and therefore, elected the GPL
++- * Version 2 license, then the option applies only if the new code is
++- * made subject to such option by the copyright holder.
++- *
++- * Contributor(s):
++ */
++ package org.netbeans.api.java.source.gen;
++
++@@ -193,7 +180,7 @@ public class SwitchTest extends GeneratorTestBase {
++ final TreeMaker make = copy.getTreeMaker();
++ new TreePathScanner<Void, Void>() {
++ @Override public Void visitIf(IfTree node, Void p) {
++- List<StatementTree> statements = new ArrayList<StatementTree>(((BlockTree) node.getThenStatement()).getStatements());
+++ List<StatementTree> statements = new ArrayList<>(((BlockTree) node.getThenStatement()).getStatements());
++ statements.add(make.Break(null));
++ copy.rewrite(node, make.Switch(make.Identifier("p"), Collections.singletonList(make.Case(make.Literal(0), statements))));
++ return super.visitIf(node, p);
++diff --git a/java.source.base/test/unit/src/org/netbeans/modules/java/source/JavaSourceUtilImplTest.java b/java.source.base/test/unit/src/org/netbeans/modules/java/source/JavaSourceUtilImplTest.java
++deleted file mode 100644
++index 474f37cd1..000000000
++--- a/java.source.base/test/unit/src/org/netbeans/modules/java/source/JavaSourceUtilImplTest.java
+++++ /dev/null
++@@ -1,134 +0,0 @@
++-/*
++- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++- *
++- * Copyright 2016 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
++- *
++- * The contents of this file are subject to the terms of either the GNU
++- * General Public License Version 2 only ("GPL") or the Common
++- * Development and Distribution License("CDDL") (collectively, the
++- * "License"). You may not use this file except in compliance with the
++- * License. You can obtain a copy of the License at
++- * http://www.netbeans.org/cddl-gplv2.html
++- * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++- * specific language governing permissions and limitations under the
++- * License. When distributing the software, include this License Header
++- * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
++- * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
++- * accompanied this code. If applicable, add the following below the
++- * License Header, with the fields enclosed by brackets [] replaced by
++- * your own identifying information:
++- * "Portions Copyrighted [year] [name of copyright owner]"
++- *
++- * If you wish your version of this file to be governed by only the CDDL
++- * or only the GPL Version 2, indicate your decision by adding
++- * "[Contributor] elects to include this software in this distribution
++- * under the [CDDL or GPL Version 2] license." If you do not indicate a
++- * single choice of license, a recipient has the option to distribute
++- * your version of this file under either the CDDL, the GPL Version 2 or
++- * to extend the choice of license to its licensees as provided above.
++- * However, if you add GPL Version 2 code and therefore, elected the GPL
++- * Version 2 license, then the option applies only if the new code is
++- * made subject to such option by the copyright holder.
++- *
++- * Contributor(s):
++- *
++- * Portions Copyrighted 2016 Sun Microsystems, Inc.
++- */
++-package org.netbeans.modules.java.source;
++-
++-import java.io.ByteArrayInputStream;
++-import java.io.IOException;
++-import java.io.OutputStream;
++-import java.util.Arrays;
++-import java.util.HashSet;
++-import java.util.Map;
++-import java.util.Set;
++-import java.util.stream.Collectors;
++-import org.junit.Before;
++-import org.junit.Test;
++-import org.netbeans.api.java.source.TestUtilities;
++-import org.netbeans.junit.NbTestCase;
++-import org.netbeans.modules.classfile.ClassFile;
++-import org.netbeans.modules.java.source.parsing.FileObjects;
++-import org.openide.filesystems.FileLock;
++-import org.openide.filesystems.FileObject;
++-import org.openide.filesystems.FileUtil;
++-
++-/**
++- *
++- * @author Tomas Zezula
++- */
++-public class JavaSourceUtilImplTest extends NbTestCase {
++-
++- private FileObject wd;
++- private FileObject root;
++- private FileObject java;
++-
++- public JavaSourceUtilImplTest(String name) {
++- super(name);
++- }
++-
++-
++- @Before
++- @Override
++- public void setUp() throws Exception {
++- clearWorkDir();
++- wd = FileUtil.toFileObject(FileUtil.normalizeFile(getWorkDir()));
++- root = FileUtil.createFolder(wd, "src"); //NOI18N
++- java = createFile(root, "org/nb/A.java","package nb;\n class A {}"); //NOI18N
++- }
++-
++- @Test
++- public void testGenerate() throws Exception {
++- assertNotNull(root);
++- assertNotNull(java);
++- final Map<String, byte[]> res = new JavaSourceUtilImpl().generate(root, java, "package nb;\n class A { void foo(){}}", null); //NOI18N
++- assertNotNull(res);
++- assertEquals(1, res.size());
++- Map.Entry<String,byte[]> e = res.entrySet().iterator().next();
++- assertEquals("nb.A", e.getKey()); //NOI18N
++- final ClassFile cf = new ClassFile(new ByteArrayInputStream(e.getValue()));
++- assertEquals(2, cf.getMethodCount());
++- final Set<String> methods = cf.getMethods().stream()
++- .map((m) -> m.getName())
++- .collect(Collectors.toSet());
++- assertEquals(
++- new HashSet<>(Arrays.asList(new String[]{
++- "<init>", //NOI18N
++- "foo" //NOI18N
++- })),
++- methods);
++- }
++-
++- private static FileObject createFile(
++- final FileObject root,
++- final String path,
++- final String content) throws Exception {
++- FileObject file = FileUtil.createData(root, path);
++- TestUtilities.copyStringToFile(file, content);
++- return file;
++- }
++-
++- private static void dump(
++- final FileObject wd,
++- final Map<String,byte[]> clzs) throws IOException {
++- for (Map.Entry<String,byte[]> clz : clzs.entrySet()) {
++- final String extName = FileObjects.convertPackage2Folder(clz.getKey());
++- final FileObject data = FileUtil.createData(wd, String.format(
++- "%s.class", //NOI18N
++- extName));
++- FileLock l = data.lock();
++- try (final OutputStream out = data.getOutputStream(l)) {
++- out.write(clz.getValue());
++- }finally {
++- l.releaseLock();
++- }
++- }
++- System.out.printf("Dumped into: %s%n", FileUtil.getFileDisplayName(wd));
++- }
++-}
++diff --git a/java.source.base/test/unit/src/org/netbeans/modules/java/source/classpath/CacheSourceForBinaryQueryImplTest.java b/java.source.base/test/unit/src/org/netbeans/modules/java/source/classpath/CacheSourceForBinaryQueryImplTest.java
++index 6557f4e01..d814bf8d2 100644
++--- a/java.source.base/test/unit/src/org/netbeans/modules/java/source/classpath/CacheSourceForBinaryQueryImplTest.java
+++++ b/java.source.base/test/unit/src/org/netbeans/modules/java/source/classpath/CacheSourceForBinaryQueryImplTest.java
++@@ -96,7 +96,7 @@ public class CacheSourceForBinaryQueryImplTest extends ClassIndexTestCase {
++
++ beginTx();
++
++- this.cpInfo = ClasspathInfoAccessor.getINSTANCE().create(bootPath,compilePath,srcPath,null,true,false,false,false,null);
+++ this.cpInfo = ClasspathInfoAccessor.getINSTANCE().create(bootPath,compilePath,srcPath,null,true,false,false,false);
++ this.sfbq = new CacheSourceForBinaryQueryImpl ();
++ }
++
++diff --git a/java.source.base/test/unit/src/org/netbeans/modules/java/source/classpath/JShellSourcePathTest.java b/java.source.base/test/unit/src/org/netbeans/modules/java/source/classpath/JShellSourcePathTest.java
++deleted file mode 100644
++index 785064089..000000000
++--- a/java.source.base/test/unit/src/org/netbeans/modules/java/source/classpath/JShellSourcePathTest.java
+++++ /dev/null
++@@ -1,155 +0,0 @@
++-/*
++- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++- *
++- * Copyright 2016 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
++- *
++- * The contents of this file are subject to the terms of either the GNU
++- * General Public License Version 2 only ("GPL") or the Common
++- * Development and Distribution License("CDDL") (collectively, the
++- * "License"). You may not use this file except in compliance with the
++- * License. You can obtain a copy of the License at
++- * http://www.netbeans.org/cddl-gplv2.html
++- * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++- * specific language governing permissions and limitations under the
++- * License. When distributing the software, include this License Header
++- * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
++- * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
++- * accompanied this code. If applicable, add the following below the
++- * License Header, with the fields enclosed by brackets [] replaced by
++- * your own identifying information:
++- * "Portions Copyrighted [year] [name of copyright owner]"
++- *
++- * If you wish your version of this file to be governed by only the CDDL
++- * or only the GPL Version 2, indicate your decision by adding
++- * "[Contributor] elects to include this software in this distribution
++- * under the [CDDL or GPL Version 2] license." If you do not indicate a
++- * single choice of license, a recipient has the option to distribute
++- * your version of this file under either the CDDL, the GPL Version 2 or
++- * to extend the choice of license to its licensees as provided above.
++- * However, if you add GPL Version 2 code and therefore, elected the GPL
++- * Version 2 license, then the option applies only if the new code is
++- * made subject to such option by the copyright holder.
++- *
++- * Contributor(s):
++- *
++- * Portions Copyrighted 2016 Sun Microsystems, Inc.
++- */
++-package org.netbeans.modules.java.source.classpath;
++-
++-import java.io.IOException;
++-import java.util.Collections;
++-import org.netbeans.api.java.classpath.ClassPath;
++-import org.netbeans.api.java.platform.JavaPlatform;
++-import org.netbeans.junit.MockServices;
++-import org.netbeans.junit.NbTestCase;
++-import org.netbeans.modules.parsing.api.indexing.IndexingManager;
++-import org.netbeans.modules.parsing.impl.indexing.CacheFolder;
++-import org.netbeans.spi.java.classpath.ClassPathFactory;
++-import org.netbeans.spi.java.classpath.ClassPathImplementation;
++-import org.netbeans.spi.java.classpath.ClassPathProvider;
++-import org.netbeans.spi.java.classpath.support.ClassPathSupport;
++-import org.openide.filesystems.FileObject;
++-import org.openide.filesystems.FileUtil;
++-import org.openide.util.Lookup;
++-
++-/**
++- *
++- * @author Tomas Zezula
++- */
++-public class JShellSourcePathTest extends NbTestCase {
++-
++- private FileObject src;
++- private ClassPathImplementation sourcesImpl;
++- private ClassPath sources;
++- private ClassPath boot;
++- private ClassPath compile;
++-
++- public JShellSourcePathTest(final String name) {
++- super(name);
++- }
++-
++- @Override
++- protected void setUp() throws Exception {
++- super.setUp();
++- MockServices.setServices(MockClassPathProvider.class);
++- clearWorkDir();
++- final FileObject wd = FileUtil.toFileObject(FileUtil.normalizeFile(getWorkDir()));
++- assertNotNull(wd);
++- final FileObject cache = FileUtil.createFolder(wd, "cache"); //NOI18N
++- assertNotNull(cache);
++- CacheFolder.setCacheFolder(cache);
++- }
++-
++- public void testMasterFs() throws IOException {
++- init(FileUtil.toFileObject(FileUtil.normalizeFile(getWorkDir())));
++- performTest();
++- }
++-
++- public void testMemFs() throws IOException {
++- init(FileUtil.createMemoryFileSystem().getRoot());
++- performTest();
++- }
++-
++- private void init(final FileObject workDir) throws IOException {
++- src = FileUtil.createFolder(
++- workDir,
++- "src"); //NOI18N
++- sourcesImpl = ClassPathSupport.createClassPathImplementation(
++- Collections.singletonList(ClassPathSupport.createResource(src.toURL())));
++- sources = ClassPathFactory.createClassPath(sourcesImpl);
++- boot = JavaPlatform.getDefault().getBootstrapLibraries();
++- compile = ClassPath.EMPTY;
++- final MockClassPathProvider cpp = Lookup.getDefault().lookup(MockClassPathProvider.class);
++- if (cpp == null) {
++- throw new IllegalStateException("No ClasspathProvider"); //NOI18N
++- }
++- cpp.setUp(src, boot, compile, sources);
++- }
++-
++- private void performTest() {
++- assertNotNull(src);
++- final ClassPath scp = ClassPathFactory.createClassPath(
++- SourcePath.filtered(sourcesImpl, false));
++- assertEquals(0, scp.entries().size());
++- IndexingManager.getDefault().refreshIndexAndWait(src.toURL(), null, true);
++- assertEquals(1, scp.entries().size());
++- }
++-
++- public static final class MockClassPathProvider implements ClassPathProvider {
++- private FileObject root;
++- private ClassPath[] cps;
++-
++- synchronized void setUp(
++- final FileObject root,
++- final ClassPath... cps) {
++- this.root = root;
++- this.cps = cps;
++- if (this.cps.length != 3) {
++- throw new IllegalArgumentException("Wrong length: " + this.cps.length); //NOI18N
++- }
++- }
++-
++- @Override
++- public synchronized ClassPath findClassPath(
++- final FileObject file,
++- final String type) {
++- if (root != null && file != null && (root.equals(file) || FileUtil.isParentOf(root, file))) {
++- switch (type) {
++- case ClassPath.BOOT:
++- return cps[0];
++- case ClassPath.COMPILE:
++- return cps[1];
++- case ClassPath.SOURCE:
++- return cps[2];
++- }
++- }
++- return null;
++- }
++-
++- }
++-}
++diff --git a/java.source.base/test/unit/src/org/netbeans/modules/java/source/indexing/SourcePrefetcherTest.java b/java.source.base/test/unit/src/org/netbeans/modules/java/source/indexing/SourcePrefetcherTest.java
++index 38a7c23e3..15c4eb6bb 100644
++--- a/java.source.base/test/unit/src/org/netbeans/modules/java/source/indexing/SourcePrefetcherTest.java
+++++ b/java.source.base/test/unit/src/org/netbeans/modules/java/source/indexing/SourcePrefetcherTest.java
++@@ -258,7 +258,7 @@ public class SourcePrefetcherTest extends NbTestCase {
++ if (!(fo instanceof FileObjects.FileBase)) {
++ throw new IllegalArgumentException(fo.getClass().getName());
++ }
++- final Class<?> c = fo.getClass().getSuperclass();
+++ final Class<?> c = fo.getClass();
++ final Field f = c.getDeclaredField("data"); //NOI18N
++ f.setAccessible(true);
++ return (CharSequence) f.get(fo);
++diff --git a/java.source.base/test/unit/src/org/netbeans/modules/java/source/parsing/CachingPathArchiveTest.java b/java.source.base/test/unit/src/org/netbeans/modules/java/source/parsing/CachingPathArchiveTest.java
++deleted file mode 100644
++index 2df9e47f1..000000000
++--- a/java.source.base/test/unit/src/org/netbeans/modules/java/source/parsing/CachingPathArchiveTest.java
+++++ /dev/null
++@@ -1,268 +0,0 @@
++-/*
++- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++- *
++- * Copyright 2015 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
++- *
++- * The contents of this file are subject to the terms of either the GNU
++- * General Public License Version 2 only ("GPL") or the Common
++- * Development and Distribution License("CDDL") (collectively, the
++- * "License"). You may not use this file except in compliance with the
++- * License. You can obtain a copy of the License at
++- * http://www.netbeans.org/cddl-gplv2.html
++- * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++- * specific language governing permissions and limitations under the
++- * License. When distributing the software, include this License Header
++- * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
++- * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
++- * accompanied this code. If applicable, add the following below the
++- * License Header, with the fields enclosed by brackets [] replaced by
++- * your own identifying information:
++- * "Portions Copyrighted [year] [name of copyright owner]"
++- *
++- * If you wish your version of this file to be governed by only the CDDL
++- * or only the GPL Version 2, indicate your decision by adding
++- * "[Contributor] elects to include this software in this distribution
++- * under the [CDDL or GPL Version 2] license." If you do not indicate a
++- * single choice of license, a recipient has the option to distribute
++- * your version of this file under either the CDDL, the GPL Version 2 or
++- * to extend the choice of license to its licensees as provided above.
++- * However, if you add GPL Version 2 code and therefore, elected the GPL
++- * Version 2 license, then the option applies only if the new code is
++- * made subject to such option by the copyright holder.
++- *
++- * Contributor(s):
++- *
++- * Portions Copyrighted 2015 Sun Microsystems, Inc.
++- */
++-package org.netbeans.modules.java.source.parsing;
++-
++-import java.io.File;
++-import java.io.IOException;
++-import java.net.URI;
++-import java.net.URL;
++-import java.net.URLClassLoader;
++-import java.nio.file.FileVisitResult;
++-import java.nio.file.FileVisitor;
++-import java.nio.file.Files;
++-import java.nio.file.Path;
++-import java.nio.file.attribute.BasicFileAttributes;
++-import java.nio.file.spi.FileSystemProvider;
++-import java.util.ArrayDeque;
++-import java.util.ArrayList;
++-import java.util.Collection;
++-import java.util.Collections;
++-import java.util.Deque;
++-import java.util.HashMap;
++-import java.util.HashSet;
++-import java.util.List;
++-import java.util.Map;
++-import java.util.ServiceLoader;
++-import java.util.Set;
++-import javax.tools.JavaFileObject;
++-import org.netbeans.api.annotations.common.CheckForNull;
++-import org.netbeans.api.annotations.common.NonNull;
++-import org.netbeans.junit.NbTestCase;
++-import org.openide.util.BaseUtilities;
++-
++-/**
++- *
++- * @author Tomas Zezula
++- */
++-public final class CachingPathArchiveTest extends NbTestCase {
++-
++- private static final String EXPLICIT_JDK9_HOME = null; //"/Library/Java/JavaVirtualMachines/jdk1.9.0.jdk/Contents/Home/";
++-
++- public CachingPathArchiveTest(String name) {
++- super(name);
++- }
++-
++- public void testArchiveCorrectness() throws IOException {
++- final FileSystemProvider provider = getJRTFS();
++- if (provider != null) {
++- final Path fsRoot = provider.getPath(URI.create("jrt:/")); //NOI18N
++- assertNotNull(fsRoot);
++- List<? extends Path> modules = getModules(fsRoot);
++- for (Path module : modules) {
++- verifyModule(module);
++- }
++- } else {
++- System.out.println("No JDK 9, nothing to test");
++- }
++- }
++-
++- public void testFileObjects() throws IOException {
++- final FileSystemProvider provider = getJRTFS();
++- if (provider != null) {
++- final Path fsRoot = provider.getPath(URI.create("jrt:/")); //NOI18N
++- assertNotNull(fsRoot);
++- List<? extends Path> modules = getModules(fsRoot);
++- for (Path module : modules) {
++- verifyURIs(module);
++- }
++- } else {
++- System.out.println("No JDK 9, nothing to test");
++- }
++- }
++-
++- private static void verifyURIs(Path module) throws IOException {
++- final URI javaHome = BaseUtilities.toURI(getJavaHome());
++- final URI rootURI = URI.create("nbjrt:"+javaHome+"!"+module+"/");
++- final CachingPathArchive cpa = new CachingPathArchive(module, rootURI);
++- final PathArchive pa = new PathArchive(module, rootURI);
++- final Set<String> pkgs = getPackages(module).keySet();
++- for (String pkg : pkgs) {
++- final Iterable<? extends JavaFileObject> cjfos = cpa.getFiles(pkg, null, null, null);
++- final Iterable<? extends JavaFileObject> jfos = pa.getFiles(pkg, null, null, null);
++- assertJFOEquals(jfos, cjfos);
++- }
++- }
++-
++- private static void assertJFOEquals(
++- @NonNull final Iterable<? extends JavaFileObject> i1,
++- @NonNull final Iterable<? extends JavaFileObject> i2) {
++- final Map<String,JavaFileObject> i1byName = byName(i1);
++- final Map<String,JavaFileObject> i2byName = byName(i2);
++- assertEquals(i1byName.size(), i2byName.size());
++- for (Map.Entry<String,JavaFileObject> i1e : i1byName.entrySet()) {
++- final FileObjects.Base jfo1 = (FileObjects.Base) i1e.getValue();
++- final FileObjects.Base jfo2 = (FileObjects.Base) i2byName.get(i1e.getKey());
++- assertNotNull(jfo2);
++- assertEquals(jfo1.getPackage(), jfo2.getPackage());
++- assertEquals(jfo1.getNameWithoutExtension(), jfo2.getNameWithoutExtension());
++- assertEquals(jfo1.getExt(), jfo2.getExt());
++- assertEquals(jfo1.getKind(), jfo2.getKind());
++- assertEquals(jfo1.getPath(), jfo2.getPath());
++- assertEquals(jfo1.inferBinaryName(), jfo2.inferBinaryName());
++- assertEquals(jfo1.toUri(), jfo2.toUri());
++- assertEquals(jfo1.getLastModified(), jfo2.getLastModified());
++- }
++- }
++-
++- private static Map<String,JavaFileObject> byName(@NonNull final Iterable<? extends JavaFileObject> it) {
++- final Map<String,JavaFileObject> res = new HashMap<>();
++- for (JavaFileObject jfo : it) {
++- res.put(jfo.getName(), jfo);
++- }
++- return res;
++- }
++-
++- private static void verifyModule(Path module) throws IOException {
++- final CachingPathArchive cpa = new CachingPathArchive(module, null);
++- final Map<String,Set<String>> pkgs = getPackages(module);
++- for (Map.Entry<String,Set<String>> pkg : pkgs.entrySet()) {
++- final Iterable<? extends JavaFileObject> res = cpa.getFiles(pkg.getKey(), null, null, null);
++- assertPkgEquals(pkg.getKey(), pkg.getValue(), res);
++- }
++- }
++-
++- private static void assertPkgEquals(final String pkgName, final Set<String> expected, Iterable<? extends JavaFileObject> res) {
++- final Set<String> ecp = new HashSet<>(expected);
++- for (JavaFileObject jfo : res) {
++- assertTrue(
++- String.format("In: %s expected: %s got: %s",
++- pkgName,
++- sorted(expected),
++- sorted(asNames(res))),
++- ecp.remove(jfo.getName()));
++- }
++- assertTrue(
++- String.format("In: %s expected: %s got: %s",
++- pkgName,
++- sorted(expected),
++- sorted(asNames(res))),
++- ecp.isEmpty());
++- }
++-
++- @NonNull
++- private static <T extends Comparable> List<T> sorted (@NonNull final Collection<T> c) {
++- final List<T> res = (c instanceof List) ?
++- (List<T>) c :
++- new ArrayList<>(c);
++- Collections.sort(res);
++- return res;
++- }
++-
++- @NonNull
++- private static List<String> asNames(Iterable<? extends JavaFileObject> files) {
++- final List<String> res = new ArrayList<>();
++- for (JavaFileObject jfo : files) {
++- res.add(jfo.getName());
++- }
++- return res;
++- }
++-
++- private static Map<String,Set<String>> getPackages(@NonNull final Path module) throws IOException {
++- final Map<String,Set<String>> res = new HashMap<>();
++- Files.walkFileTree(module, new FileVisitor<Path>() {
++- final Deque<Set<String>> state = new ArrayDeque<>();
++- @Override
++- public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) throws IOException {
++- state.offer(new HashSet<String>());
++- return FileVisitResult.CONTINUE;
++- }
++-
++- @Override
++- public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
++- state.getLast().add(file.getFileName().toString());
++- return FileVisitResult.CONTINUE;
++- }
++-
++- @Override
++- public FileVisitResult visitFileFailed(Path file, IOException exc) throws IOException {
++- return FileVisitResult.CONTINUE;
++- }
++-
++- @Override
++- public FileVisitResult postVisitDirectory(Path dir, IOException exc) throws IOException {
++- final Set<String> folder = state.removeLast();
++- if (!folder.isEmpty()) {
++- res.put(module.relativize(dir).toString(), folder);
++- }
++- return FileVisitResult.CONTINUE;
++- }
++- });
++- return res;
++- }
++-
++- @NonNull
++- private static List<? extends Path> getModules(Path fsRoot) throws IOException {
++- final List<Path> modules = new ArrayList<>();
++- for (Path p : Files.newDirectoryStream(fsRoot)) {
++- if (Files.isDirectory(p)) {
++- modules.add(p);
++- }
++- }
++- return modules;
++- }
++-
++- @CheckForNull
++- private static FileSystemProvider getJRTFS() throws IOException {
++- final File jrtFsProvider = new File(getJavaHome(),"jrt-fs.jar"); //NOI18N
++- if (jrtFsProvider.exists() && jrtFsProvider.isFile() && jrtFsProvider.canRead()) {
++- final ClassLoader cl = new URLClassLoader(new URL[]{
++- BaseUtilities.toURI(jrtFsProvider).toURL()
++- });
++- final ServiceLoader<FileSystemProvider> sl = ServiceLoader.load(FileSystemProvider.class, cl);
++- for (FileSystemProvider fsp : sl) {
++- if ("jrt".equals(fsp.getScheme())) { //NOI18N
++- return fsp;
++- }
++- }
++- }
++- return null;
++- }
++-
++- @NonNull
++- private static File getJavaHome() {
++- return new File(
++- EXPLICIT_JDK9_HOME != null ?
++- EXPLICIT_JDK9_HOME :
++- System.getProperty("java.home")); //NOI18N
++- }
++-
++-}
++diff --git a/java.source.base/test/unit/src/org/netbeans/modules/java/source/parsing/ClasspathInfoTest.java b/java.source.base/test/unit/src/org/netbeans/modules/java/source/parsing/ClasspathInfoTest.java
++index 57878fd97..42c8e091e 100644
++--- a/java.source.base/test/unit/src/org/netbeans/modules/java/source/parsing/ClasspathInfoTest.java
+++++ b/java.source.base/test/unit/src/org/netbeans/modules/java/source/parsing/ClasspathInfoTest.java
++@@ -216,7 +216,7 @@ public class ClasspathInfoTest extends NbTestCase {
++ createJavaFile(scp.getRoots()[0], "org/me/Lib.java", "package org.me;\n class Lib {}\n");
++ TransactionContext tx = TransactionContext.beginStandardTransaction(scp.getRoots()[0].toURL(), true, true, false);
++ try {
++- final ClasspathInfo cpInfo = ClasspathInfoAccessor.getINSTANCE().create( bootPath, classPath,scp, null, true, true, true, false, null);
+++ final ClasspathInfo cpInfo = ClasspathInfoAccessor.getINSTANCE().create( bootPath, classPath,scp, null, true, true, true, false);
++ final JavaFileManager fm = ClasspathInfoAccessor.getINSTANCE().createFileManager(cpInfo);
++ Iterable<JavaFileObject> jfos = fm.list(StandardLocation.SOURCE_PATH, "org.me", EnumSet.of(JavaFileObject.Kind.SOURCE), false);
++ assertEquals (new String[] {"org.me.Lib"}, jfos, fm);
++diff --git a/java.source.base/test/unit/src/org/netbeans/modules/java/source/parsing/PathArchiveTest.java b/java.source.base/test/unit/src/org/netbeans/modules/java/source/parsing/PathArchiveTest.java
++deleted file mode 100644
++index 379178a82..000000000
++--- a/java.source.base/test/unit/src/org/netbeans/modules/java/source/parsing/PathArchiveTest.java
+++++ /dev/null
++@@ -1,207 +0,0 @@
++-/*
++- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++- *
++- * Copyright 2015 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
++- *
++- * The contents of this file are subject to the terms of either the GNU
++- * General Public License Version 2 only ("GPL") or the Common
++- * Development and Distribution License("CDDL") (collectively, the
++- * "License"). You may not use this file except in compliance with the
++- * License. You can obtain a copy of the License at
++- * http://www.netbeans.org/cddl-gplv2.html
++- * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++- * specific language governing permissions and limitations under the
++- * License. When distributing the software, include this License Header
++- * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
++- * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
++- * accompanied this code. If applicable, add the following below the
++- * License Header, with the fields enclosed by brackets [] replaced by
++- * your own identifying information:
++- * "Portions Copyrighted [year] [name of copyright owner]"
++- *
++- * If you wish your version of this file to be governed by only the CDDL
++- * or only the GPL Version 2, indicate your decision by adding
++- * "[Contributor] elects to include this software in this distribution
++- * under the [CDDL or GPL Version 2] license." If you do not indicate a
++- * single choice of license, a recipient has the option to distribute
++- * your version of this file under either the CDDL, the GPL Version 2 or
++- * to extend the choice of license to its licensees as provided above.
++- * However, if you add GPL Version 2 code and therefore, elected the GPL
++- * Version 2 license, then the option applies only if the new code is
++- * made subject to such option by the copyright holder.
++- *
++- * Contributor(s):
++- *
++- * Portions Copyrighted 2015 Sun Microsystems, Inc.
++- */
++-package org.netbeans.modules.java.source.parsing;
++-
++-import java.io.File;
++-import java.io.IOException;
++-import java.net.URI;
++-import java.net.URL;
++-import java.net.URLClassLoader;
++-import java.nio.file.FileVisitResult;
++-import java.nio.file.FileVisitor;
++-import java.nio.file.Files;
++-import java.nio.file.Path;
++-import java.nio.file.attribute.BasicFileAttributes;
++-import java.nio.file.spi.FileSystemProvider;
++-import java.util.ArrayDeque;
++-import java.util.ArrayList;
++-import java.util.Collection;
++-import java.util.Collections;
++-import java.util.Deque;
++-import java.util.HashMap;
++-import java.util.HashSet;
++-import java.util.List;
++-import java.util.Map;
++-import java.util.ServiceLoader;
++-import java.util.Set;
++-import javax.tools.JavaFileObject;
++-import org.netbeans.api.annotations.common.CheckForNull;
++-import org.netbeans.api.annotations.common.NonNull;
++-import org.netbeans.junit.NbTestCase;
++-import org.openide.util.BaseUtilities;
++-
++-/**
++- *
++- * @author Tomas Zezula
++- */
++-public final class PathArchiveTest extends NbTestCase {
++-
++- private static final String EXPLICIT_JDK9_HOME = null; //"/Library/Java/JavaVirtualMachines/jdk1.9.0.jdk/Contents/Home/";
++-
++- public PathArchiveTest(String name) {
++- super(name);
++- }
++-
++- public void testArchiveCorrectness() throws IOException {
++- final FileSystemProvider provider = getJRTFS();
++- if (provider != null) {
++- final Path fsRoot = provider.getPath(URI.create("jrt:/")); //NOI18N
++- assertNotNull(fsRoot);
++- List<? extends Path> modules = getModules(fsRoot);
++- for (Path module : modules) {
++- verifyModule(module);
++- }
++- } else {
++- System.out.println("No JDK 9, nothing to test");
++- }
++- }
++-
++- private static void verifyModule(Path module) throws IOException {
++- final PathArchive pa = new PathArchive(module, null);
++- final Map<String,Set<String>> pkgs = getPackages(module);
++- for (Map.Entry<String,Set<String>> pkg : pkgs.entrySet()) {
++- final Iterable<? extends JavaFileObject> res = pa.getFiles(pkg.getKey(), null, null, null);
++- assertPkgEquals(pkg.getKey(), pkg.getValue(), res);
++- }
++- }
++-
++- private static void assertPkgEquals(final String pkgName, final Set<String> expected, Iterable<? extends JavaFileObject> res) {
++- final Set<String> ecp = new HashSet<>(expected);
++- for (JavaFileObject jfo : res) {
++- assertTrue(
++- String.format("In: %s expected: %s got: %s",
++- pkgName,
++- sorted(expected),
++- sorted(asNames(res))),
++- ecp.remove(jfo.getName()));
++- }
++- assertTrue(
++- String.format("In: %s expected: %s got: %s",
++- pkgName,
++- sorted(expected),
++- sorted(asNames(res))),
++- ecp.isEmpty());
++- }
++-
++- @NonNull
++- private static <T extends Comparable> List<T> sorted (@NonNull final Collection<T> c) {
++- final List<T> res = (c instanceof List) ?
++- (List<T>) c :
++- new ArrayList<>(c);
++- Collections.sort(res);
++- return res;
++- }
++-
++- @NonNull
++- private static List<String> asNames(Iterable<? extends JavaFileObject> files) {
++- final List<String> res = new ArrayList<>();
++- for (JavaFileObject jfo : files) {
++- res.add(jfo.getName());
++- }
++- return res;
++- }
++-
++- private static Map<String,Set<String>> getPackages(@NonNull final Path module) throws IOException {
++- final Map<String,Set<String>> res = new HashMap<>();
++- Files.walkFileTree(module, new FileVisitor<Path>() {
++- final Deque<Set<String>> state = new ArrayDeque<>();
++- @Override
++- public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) throws IOException {
++- state.offer(new HashSet<String>());
++- return FileVisitResult.CONTINUE;
++- }
++-
++- @Override
++- public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
++- state.getLast().add(file.getFileName().toString());
++- return FileVisitResult.CONTINUE;
++- }
++-
++- @Override
++- public FileVisitResult visitFileFailed(Path file, IOException exc) throws IOException {
++- return FileVisitResult.CONTINUE;
++- }
++-
++- @Override
++- public FileVisitResult postVisitDirectory(Path dir, IOException exc) throws IOException {
++- final Set<String> folder = state.removeLast();
++- if (!folder.isEmpty()) {
++- res.put(module.relativize(dir).toString(), folder);
++- }
++- return FileVisitResult.CONTINUE;
++- }
++- });
++- return res;
++- }
++-
++- @NonNull
++- private static List<? extends Path> getModules(Path fsRoot) throws IOException {
++- final List<Path> modules = new ArrayList<>();
++- for (Path p : Files.newDirectoryStream(fsRoot)) {
++- if (Files.isDirectory(p)) {
++- modules.add(p);
++- }
++- }
++- return modules;
++- }
++-
++- @CheckForNull
++- private static FileSystemProvider getJRTFS() throws IOException {
++- final File javaHome = new File(EXPLICIT_JDK9_HOME != null ?
++- EXPLICIT_JDK9_HOME :
++- System.getProperty("java.home")); //NOI18N
++- final File jrtFsProvider = new File(javaHome,"jrt-fs.jar"); //NOI18N
++- if (jrtFsProvider.exists() && jrtFsProvider.isFile() && jrtFsProvider.canRead()) {
++- final ClassLoader cl = new URLClassLoader(new URL[]{
++- BaseUtilities.toURI(jrtFsProvider).toURL()
++- });
++- final ServiceLoader<FileSystemProvider> sl = ServiceLoader.load(FileSystemProvider.class, cl);
++- for (FileSystemProvider fsp : sl) {
++- if ("jrt".equals(fsp.getScheme())) { //NOI18N
++- return fsp;
++- }
++- }
++- }
++- return null;
++- }
++-
++-}
++diff --git a/java.source.base/test/unit/src/org/netbeans/modules/java/source/usages/BinaryAnalyserTest.java b/java.source.base/test/unit/src/org/netbeans/modules/java/source/usages/BinaryAnalyserTest.java
++index 651d8fdc3..9420d1fa2 100644
++--- a/java.source.base/test/unit/src/org/netbeans/modules/java/source/usages/BinaryAnalyserTest.java
+++++ b/java.source.base/test/unit/src/org/netbeans/modules/java/source/usages/BinaryAnalyserTest.java
++@@ -218,7 +218,7 @@ public class BinaryAnalyserTest extends NbTestCase {
++ BinaryAnalyser a = new BinaryAnalyser(
++ new IndexWriter(index) {
++ @Override
++- public void deleteAndFlush(List<Pair<Pair<BinaryName, String>, Object[]>> refs, Set<Pair<String, String>> toDelete) throws IOException {
+++ public void deleteAndFlush(List<Pair<Pair<String, String>, Object[]>> refs, Set<Pair<String, String>> toDelete) throws IOException {
++ super.deleteAndFlush(refs, toDelete);
++ try {
++ dataFlushed(index);
++@@ -251,7 +251,7 @@ public class BinaryAnalyserTest extends NbTestCase {
++ index.query(
++ names,
++ DocumentUtil.binaryNameConvertor(),
++- DocumentUtil.declaredTypesFieldSelector(false, false),
+++ DocumentUtil.declaredTypesFieldSelector(false),
++ null,
++ QueryUtil.createUsagesQuery("java.util.List", EnumSet.of(UsageType.TYPE_REFERENCE), Occur.SHOULD));
++ names.retainAll(
++@@ -281,11 +281,11 @@ public class BinaryAnalyserTest extends NbTestCase {
++ index.clear();
++ }
++ @Override
++- public void deleteAndStore(List<Pair<Pair<BinaryName, String>, Object[]>> refs, Set<Pair<String, String>> toDelete) throws IOException {
+++ public void deleteAndStore(List<Pair<Pair<String, String>, Object[]>> refs, Set<Pair<String, String>> toDelete) throws IOException {
++ index.store(refs, toDelete, DocumentUtil.documentConvertor(), DocumentUtil.queryClassConvertor(),true);
++ }
++ @Override
++- public void deleteAndFlush(List<Pair<Pair<BinaryName, String>, Object[]>> refs, Set<Pair<String, String>> toDelete) throws IOException {
+++ public void deleteAndFlush(List<Pair<Pair<String, String>, Object[]>> refs, Set<Pair<String, String>> toDelete) throws IOException {
++ ((Index.Transactional)index).txStore(refs, toDelete, DocumentUtil.documentConvertor(), DocumentUtil.queryClassConvertor());
++ }
++
++@@ -394,7 +394,7 @@ public class BinaryAnalyserTest extends NbTestCase {
++ index.query(
++ result,
++ DocumentUtil.binaryNameConvertor(),
++- DocumentUtil.declaredTypesFieldSelector(false, false),
+++ DocumentUtil.declaredTypesFieldSelector(false),
++ null,
++ QueryUtil.createUsagesQuery(refered, EnumSet.of(UsageType.TYPE_REFERENCE), Occur.SHOULD));
++ assertTrue(result.containsAll(Arrays.asList(in)));
++@@ -437,7 +437,7 @@ public class BinaryAnalyserTest extends NbTestCase {
++ index.query(
++ result,
++ DocumentUtil.binaryNameConvertor(),
++- DocumentUtil.declaredTypesFieldSelector(false, false),
+++ DocumentUtil.declaredTypesFieldSelector(false),
++ null,
++ Queries.createQuery(
++ DocumentUtil.FIELD_SIMPLE_NAME,
++@@ -519,7 +519,7 @@ public class BinaryAnalyserTest extends NbTestCase {
++ index.query(
++ res,
++ DocumentUtil.binaryNameConvertor(),
++- DocumentUtil.declaredTypesFieldSelector(false, false),
+++ DocumentUtil.declaredTypesFieldSelector(false),
++ null,
++ Queries.createQuery("simpleName", "ciName", "", Queries.QueryKind.PREFIX)); //NOI18N
++ index.close();
++diff --git a/java.source.base/test/unit/src/org/netbeans/modules/java/source/usages/BinaryNameTest.java b/java.source.base/test/unit/src/org/netbeans/modules/java/source/usages/BinaryNameTest.java
++deleted file mode 100644
++index deae099ec..000000000
++--- a/java.source.base/test/unit/src/org/netbeans/modules/java/source/usages/BinaryNameTest.java
+++++ /dev/null
++@@ -1,107 +0,0 @@
++-/*
++- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++- *
++- * Copyright 2016 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
++- *
++- * The contents of this file are subject to the terms of either the GNU
++- * General Public License Version 2 only ("GPL") or the Common
++- * Development and Distribution License("CDDL") (collectively, the
++- * "License"). You may not use this file except in compliance with the
++- * License. You can obtain a copy of the License at
++- * http://www.netbeans.org/cddl-gplv2.html
++- * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++- * specific language governing permissions and limitations under the
++- * License. When distributing the software, include this License Header
++- * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
++- * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
++- * accompanied this code. If applicable, add the following below the
++- * License Header, with the fields enclosed by brackets [] replaced by
++- * your own identifying information:
++- * "Portions Copyrighted [year] [name of copyright owner]"
++- *
++- * If you wish your version of this file to be governed by only the CDDL
++- * or only the GPL Version 2, indicate your decision by adding
++- * "[Contributor] elects to include this software in this distribution
++- * under the [CDDL or GPL Version 2] license." If you do not indicate a
++- * single choice of license, a recipient has the option to distribute
++- * your version of this file under either the CDDL, the GPL Version 2 or
++- * to extend the choice of license to its licensees as provided above.
++- * However, if you add GPL Version 2 code and therefore, elected the GPL
++- * Version 2 license, then the option applies only if the new code is
++- * made subject to such option by the copyright holder.
++- *
++- * Contributor(s):
++- *
++- * Portions Copyrighted 2016 Sun Microsystems, Inc.
++- */
++-package org.netbeans.modules.java.source.usages;
++-
++-import javax.lang.model.element.ElementKind;
++-import org.netbeans.junit.NbTestCase;
++-
++-/**
++- *
++- * @author Tomas Zezula
++- */
++-public class BinaryNameTest extends NbTestCase {
++-
++- public BinaryNameTest(final String name) {
++- super(name);
++- }
++-
++- public void testRawName() throws Exception {
++- BinaryName name = BinaryName.create("java.lang.String", ElementKind.CLASS);
++- assertEquals("java.lang", name.getPackage());
++- assertEquals("String", name.getClassName());
++- assertEquals("String", name.getSimpleName());
++- name = BinaryName.create("InUnnamedPkg", ElementKind.CLASS);
++- assertEquals("", name.getPackage());
++- assertEquals("InUnnamedPkg", name.getClassName());
++- assertEquals("InUnnamedPkg", name.getSimpleName());
++- name = BinaryName.create("java.util.Map$Entry", ElementKind.INTERFACE);
++- assertEquals("java.util", name.getPackage());
++- assertEquals("Map$Entry", name.getClassName());
++- assertEquals("Entry", name.getSimpleName());
++- name = BinaryName.create("ru.$stl.Class", ElementKind.CLASS);
++- assertEquals("ru.$stl", name.getPackage());
++- assertEquals("Class", name.getClassName());
++- assertEquals("Class", name.getSimpleName());
++- name = BinaryName.create("ru.$stl.Class$Inner", ElementKind.CLASS);
++- assertEquals("ru.$stl", name.getPackage());
++- assertEquals("Class$Inner", name.getClassName());
++- assertEquals("Inner", name.getSimpleName());
++- }
++-
++- public void testIndexName() throws Exception {
++- BinaryName name = BinaryName.create(
++- "ru.$stl.$vector",
++- ElementKind.CLASS,
++- false,
++- "ru.$stl.$vector".length()-"$vector".length());
++- assertEquals("ru.$stl", name.getPackage());
++- assertEquals("$vector", name.getClassName());
++- assertEquals("$vector", name.getSimpleName());
++- name = BinaryName.create(
++- "ru.$stl.$vector$iterator",
++- ElementKind.CLASS,
++- false,
++- "ru.$stl.$vector$iterator".length()-"iterator".length());
++- assertEquals("ru.$stl", name.getPackage());
++- assertEquals("$vector$iterator", name.getClassName());
++- assertEquals("iterator", name.getSimpleName());
++- name = BinaryName.create(
++- "ru.$stl.$vector$$iterator",
++- ElementKind.CLASS,
++- false,
++- "ru.$stl.$vector$$iterator".length()-"$iterator".length());
++- assertEquals("ru.$stl", name.getPackage());
++- assertEquals("$vector$$iterator", name.getClassName());
++- assertEquals("$iterator", name.getSimpleName());
++- }
++-
++-}
++diff --git a/java.source.base/test/unit/src/org/netbeans/modules/java/source/usages/LucenePerformanceTest.java b/java.source.base/test/unit/src/org/netbeans/modules/java/source/usages/LucenePerformanceTest.java
++index 3c411d9b5..c4ba539bd 100644
++--- a/java.source.base/test/unit/src/org/netbeans/modules/java/source/usages/LucenePerformanceTest.java
+++++ b/java.source.base/test/unit/src/org/netbeans/modules/java/source/usages/LucenePerformanceTest.java
++@@ -62,7 +62,6 @@ import java.util.Map;
++ import java.util.Random;
++ import java.util.Set;
++ import java.util.TreeSet;
++-import javax.lang.model.element.ElementKind;
++ import javax.lang.model.element.TypeElement;
++ import org.apache.lucene.index.Term;
++ import org.netbeans.api.java.source.ElementHandle;
++@@ -101,7 +100,7 @@ public class LucenePerformanceTest extends NbTestCase {
++ final File indexDir = new File (this.getWorkDir(),"index");
++ indexDir.mkdirs();
++ final Index index = IndexManager.createIndex(indexDir, DocumentUtil.createAnalyzer());
++- List<Pair<Pair<BinaryName,String>,Object[]>> data = prepareData(20000,1000,50);
+++ List<Pair<Pair<String,String>,Object[]>> data = prepareData(20000,1000,50);
++ // Map<String,List<String>> data = loadData(new File ("/tmp/data"));
++ // storeData(new File ("/tmp/data"),data);
++ long startTime = System.currentTimeMillis();
++@@ -131,7 +130,7 @@ public class LucenePerformanceTest extends NbTestCase {
++ index.query(
++ result2,
++ DocumentUtil.elementHandleConvertor(),
++- DocumentUtil.declaredTypesFieldSelector(false, false),
+++ DocumentUtil.declaredTypesFieldSelector(false),
++ null,
++ Queries.createQuery(DocumentUtil.FIELD_SIMPLE_NAME,DocumentUtil.FIELD_CASE_INSENSITIVE_NAME,"",Queries.QueryKind.PREFIX));
++ endTime = System.currentTimeMillis();
++@@ -151,7 +150,7 @@ public class LucenePerformanceTest extends NbTestCase {
++ index.query(
++ result2,
++ DocumentUtil.elementHandleConvertor(),
++- DocumentUtil.declaredTypesFieldSelector(false, false),
+++ DocumentUtil.declaredTypesFieldSelector(false),
++ null,
++ Queries.createQuery(DocumentUtil.FIELD_SIMPLE_NAME,DocumentUtil.FIELD_CASE_INSENSITIVE_NAME,"Class7",Queries.QueryKind.PREFIX));
++ endTime = System.currentTimeMillis();
++@@ -163,8 +162,8 @@ public class LucenePerformanceTest extends NbTestCase {
++ }
++
++
++- private static List<Pair<Pair<BinaryName,String>,Object[]>> prepareData (final int count, final int pkgLimit, final int refLimit) {
++- final List<Pair<Pair<BinaryName,String>,Object[]>> result = new ArrayList<> ();
+++ private static List<Pair<Pair<String,String>,Object[]>> prepareData (final int count, final int pkgLimit, final int refLimit) {
+++ final List<Pair<Pair<String,String>,Object[]>> result = new ArrayList<Pair<Pair<String,String>,Object[]>> ();
++ final List<String> refs = new LinkedList<String>();
++ final Random r = new Random (System.currentTimeMillis());
++ for (int i=0; i<count; i++) {
++@@ -178,9 +177,7 @@ public class LucenePerformanceTest extends NbTestCase {
++ }
++ }
++ String name = String.format("pkg%d.Class%dC",r.nextInt(pkgLimit),i);
++- result.add(Pair.<Pair<BinaryName,String>,Object[]>of(
++- Pair.<BinaryName,String>of(BinaryName.create(name, ElementKind.CLASS),null),
++- new Object[]{l,null,null}));
+++ result.add(Pair.<Pair<String,String>,Object[]>of(Pair.<String,String>of(name,null),new Object[]{l,null,null}));
++ refs.add (name);
++ }
++ return result;
++diff --git a/java.source.base/test/unit/src/org/netbeans/modules/java/source/usages/PersistentClassIndexScopesTest.java b/java.source.base/test/unit/src/org/netbeans/modules/java/source/usages/PersistentClassIndexScopesTest.java
++index f3bd46040..cb1fb4b6d 100644
++--- a/java.source.base/test/unit/src/org/netbeans/modules/java/source/usages/PersistentClassIndexScopesTest.java
+++++ b/java.source.base/test/unit/src/org/netbeans/modules/java/source/usages/PersistentClassIndexScopesTest.java
++@@ -49,7 +49,6 @@ import java.util.Collections;
++ import java.util.HashSet;
++ import java.util.List;
++ import java.util.Set;
++-import javax.lang.model.element.ElementKind;
++ import org.apache.lucene.document.Document;
++ import org.apache.lucene.search.Query;
++ import org.netbeans.api.annotations.common.NonNull;
++@@ -192,16 +191,15 @@ public class PersistentClassIndexScopesTest extends NbTestCase {
++ final File indexFolder = new File(JavaIndex.getIndex(root), "refs"); //NOI18N
++ final Index index = IndexManager.createIndex(indexFolder, DocumentUtil.createAnalyzer());
++ try {
++- final List<Pair<Pair<BinaryName,String>,Object[]>> docs = new ArrayList<>(PKG_COUNT * CLZ_IN_PKG_COUNT);
+++ final List<Pair<Pair<String,String>,Object[]>> docs = new ArrayList<>(PKG_COUNT * CLZ_IN_PKG_COUNT);
++ for (int i = 0; i < PKG_COUNT; i++) {
++ for (int j = 0; j < CLZ_IN_PKG_COUNT; j++ ) {
++- final Pair<BinaryName,String> name = Pair.of(BinaryName.create(String.format(
+++ final Pair<String,String> name = Pair.of(String.format(
++ BIN_FORMAT,
++ PKG_NAME,
++ i,
++ CLZ_NAME,
++ j),
++- ElementKind.CLASS),
++ null);
++ final Object[] usagesData = new Object[] {
++ Collections.emptyList(),
++diff --git a/java.source.base/test/unit/src/org/netbeans/modules/java/source/usages/SourceAnalyzerTest.java b/java.source.base/test/unit/src/org/netbeans/modules/java/source/usages/SourceAnalyzerTest.java
++index d36b24517..2c2844bb9 100644
++--- a/java.source.base/test/unit/src/org/netbeans/modules/java/source/usages/SourceAnalyzerTest.java
+++++ b/java.source.base/test/unit/src/org/netbeans/modules/java/source/usages/SourceAnalyzerTest.java
++@@ -143,7 +143,7 @@ public class SourceAnalyzerTest extends NbTestCase {
++ jt.enter();
++ jt.analyze();
++ final SourceAnalyzerFactory.SimpleAnalyzer sa = SourceAnalyzerFactory.createSimpleAnalyzer();
++- List<Pair<Pair<BinaryName, String>, Object[]>> data = sa.analyseUnit(trees.iterator().next(), jt);
+++ List<Pair<Pair<String, String>, Object[]>> data = sa.analyseUnit(trees.iterator().next(), jt);
++ assertEquals(1, data.size());
++ assertTrue(((Collection)data.iterator().next().second()[0]).contains(
++ DocumentUtil.encodeUsage("Lib", EnumSet.<ClassIndexImpl.UsageType>of( //NOI18N
++@@ -199,7 +199,7 @@ public class SourceAnalyzerTest extends NbTestCase {
++ jt.enter();
++ jt.analyze();
++ final SourceAnalyzerFactory.SimpleAnalyzer sa = SourceAnalyzerFactory.createSimpleAnalyzer();
++- List<Pair<Pair<BinaryName, String>, Object[]>> data = sa.analyseUnit(trees.iterator().next(), jt);
+++ List<Pair<Pair<String, String>, Object[]>> data = sa.analyseUnit(trees.iterator().next(), jt);
++ assertEquals(1, data.size());
++ assertTrue(((Collection)data.iterator().next().second()[0]).contains(
++ DocumentUtil.encodeUsage("Lib", EnumSet.<ClassIndexImpl.UsageType>of( //NOI18N
++@@ -251,7 +251,7 @@ public class SourceAnalyzerTest extends NbTestCase {
++ jt.enter();
++ jt.analyze();
++ final SourceAnalyzerFactory.SimpleAnalyzer sa = SourceAnalyzerFactory.createSimpleAnalyzer();
++- List<Pair<Pair<BinaryName, String>, Object[]>> data = sa.analyseUnit(trees.iterator().next(), jt);
+++ List<Pair<Pair<String, String>, Object[]>> data = sa.analyseUnit(trees.iterator().next(), jt);
++ assertEquals(1, data.size());
++ assertTrue(((Collection)data.iterator().next().second()[0]).contains(
++ DocumentUtil.encodeUsage("Lib", EnumSet.<ClassIndexImpl.UsageType>of( //NOI18N
diff --cc debian/patches/netbeans-java.source.patch
index 0000000,0000000..e9b8a18
new file mode 100644
--- /dev/null
+++ b/debian/patches/netbeans-java.source.patch
@@@ -1,0 -1,0 +1,816 @@@
++From: Markus Koschany <apo at debian.org>
++Date: Sun, 25 Dec 2016 21:46:03 +0100
++Subject: netbeans java.source
++
++Ugly workaround for a FTBFS due to missing OpenJDK 9 classes. Module was
++replaced with the one from 8.1.
++
++Forwarded: not-needed
++---
++ .../nbproject/org-netbeans-modules-java-source.sig | 60 +++---------------
++ java.source/nbproject/project.properties | 2 +-
++ java.source/nbproject/project.xml | 24 +++----
++ .../SelectionAwareJavaSourceTaskFactory.java | 69 +++++----------------
++ .../modules/java/classfile/Bundle.properties | 37 -----------
++ .../netbeans/modules/java/source/package-info.java | 5 +-
++ .../java/source/resources/LambdaBody.template | 15 -----
++ .../java/source/resources/find_usages.settings | 39 ------------
++ .../java/source/resources/find_usages.wstcref | 39 ------------
++ .../resources/icons/methodAbstractPackage.png | Bin 631 -> 0 bytes
++ .../resources/icons/methodAbstractProtected.png | Bin 753 -> 0 bytes
++ .../resources/icons/methodAbstractPublic.png | Bin 500 -> 0 bytes
++ .../source/resources/icons/methodDefaultPublic.png | Bin 669 -> 0 bytes
++ .../org/netbeans/modules/java/ui/Bundle.properties | 1 -
++ .../org/netbeans/modules/java/ui/FmtWrapping.form | 17 -----
++ .../org/netbeans/modules/java/ui/FmtWrapping.java | 12 ----
++ .../src/org/netbeans/modules/java/ui/Icons.java | 6 --
++ .../data/projects/default/nbproject/build-impl.xml | 2 +-
++ 18 files changed, 40 insertions(+), 288 deletions(-)
++ delete mode 100644 java.source/src/org/netbeans/modules/java/source/resources/LambdaBody.template
++ delete mode 100644 java.source/src/org/netbeans/modules/java/source/resources/icons/methodAbstractPackage.png
++ delete mode 100644 java.source/src/org/netbeans/modules/java/source/resources/icons/methodAbstractProtected.png
++ delete mode 100644 java.source/src/org/netbeans/modules/java/source/resources/icons/methodAbstractPublic.png
++ delete mode 100644 java.source/src/org/netbeans/modules/java/source/resources/icons/methodDefaultPublic.png
++
++diff --git a/java.source/nbproject/org-netbeans-modules-java-source.sig b/java.source/nbproject/org-netbeans-modules-java-source.sig
++index 23ffca031..181662f6a 100644
++--- a/java.source/nbproject/org-netbeans-modules-java-source.sig
+++++ b/java.source/nbproject/org-netbeans-modules-java-source.sig
++@@ -1,5 +1,5 @@
++ #Signature file v4.1
++-#Version 0.149.1
+++#Version 0.135.0
++
++ CLSS public abstract interface com.sun.source.tree.TreeVisitor<%0 extends java.lang.Object, %1 extends java.lang.Object>
++ meth public abstract {com.sun.source.tree.TreeVisitor%0} visitAnnotatedType(com.sun.source.tree.AnnotatedTypeTree,{com.sun.source.tree.TreeVisitor%1})
++@@ -274,7 +274,6 @@ CLSS public final org.netbeans.api.java.source.ClassIndex
++ innr public abstract interface static SearchScopeType
++ innr public abstract static !enum SearchScope
++ innr public final static !enum NameKind
++-innr public final static !enum ResourceType
++ innr public final static !enum SearchKind
++ innr public final static Symbols
++ meth public !varargs static org.netbeans.api.java.source.ClassIndex$SearchScopeType createPackageSearchScope(org.netbeans.api.java.source.ClassIndex$SearchScopeType,java.lang.String[])
++@@ -310,12 +309,6 @@ meth public java.util.Set<org.openide.filesystems.FileObject> getResources(org.n
++ anno 1 org.netbeans.api.annotations.common.NonNull()
++ anno 2 org.netbeans.api.annotations.common.NonNull()
++ anno 3 org.netbeans.api.annotations.common.NonNull()
++-meth public java.util.Set<org.openide.filesystems.FileObject> getResources(org.netbeans.api.java.source.ElementHandle<javax.lang.model.element.TypeElement>,java.util.Set<org.netbeans.api.java.source.ClassIndex$SearchKind>,java.util.Set<? extends org.netbeans.api.java.source.ClassIndex$SearchScopeType>,java.util.Set<org.netbeans.api.java.source.ClassIndex$ResourceType>)
++- anno 0 org.netbeans.api.annotations.common.NullUnknown()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++- anno 3 org.netbeans.api.annotations.common.NonNull()
++- anno 4 org.netbeans.api.annotations.common.NonNull()
++ meth public java.util.Set<org.openide.filesystems.FileObject> getResourcesForPackage(org.netbeans.api.java.source.ElementHandle<javax.lang.model.element.PackageElement>,java.util.Set<org.netbeans.api.java.source.ClassIndex$SearchKind>,java.util.Set<? extends org.netbeans.api.java.source.ClassIndex$SearchScopeType>)
++ anno 0 org.netbeans.api.annotations.common.NullUnknown()
++ anno 1 org.netbeans.api.annotations.common.NonNull()
++@@ -342,18 +335,9 @@ meth public static org.netbeans.api.java.source.ClassIndex$NameKind valueOf(java
++ meth public static org.netbeans.api.java.source.ClassIndex$NameKind[] values()
++ supr java.lang.Enum<org.netbeans.api.java.source.ClassIndex$NameKind>
++
++-CLSS public final static !enum org.netbeans.api.java.source.ClassIndex$ResourceType
++- outer org.netbeans.api.java.source.ClassIndex
++-fld public final static org.netbeans.api.java.source.ClassIndex$ResourceType BINARY
++-fld public final static org.netbeans.api.java.source.ClassIndex$ResourceType SOURCE
++-meth public static org.netbeans.api.java.source.ClassIndex$ResourceType valueOf(java.lang.String)
++-meth public static org.netbeans.api.java.source.ClassIndex$ResourceType[] values()
++-supr java.lang.Enum<org.netbeans.api.java.source.ClassIndex$ResourceType>
++-
++ CLSS public final static !enum org.netbeans.api.java.source.ClassIndex$SearchKind
++ outer org.netbeans.api.java.source.ClassIndex
++ fld public final static org.netbeans.api.java.source.ClassIndex$SearchKind FIELD_REFERENCES
++-fld public final static org.netbeans.api.java.source.ClassIndex$SearchKind FUNCTIONAL_IMPLEMENTORS
++ fld public final static org.netbeans.api.java.source.ClassIndex$SearchKind IMPLEMENTORS
++ fld public final static org.netbeans.api.java.source.ClassIndex$SearchKind METHOD_REFERENCES
++ fld public final static org.netbeans.api.java.source.ClassIndex$SearchKind TYPE_REFERENCES
++@@ -422,7 +406,7 @@ meth public void addChangeListener(javax.swing.event.ChangeListener)
++ meth public void removeChangeListener(javax.swing.event.ChangeListener)
++ anno 1 org.netbeans.api.annotations.common.NonNull()
++ supr java.lang.Object
++-hfds archiveProvider,bootClassPath,cachedAptSrcClassPath,cachedBootClassPath,cachedCompileClassPath,cachedSrcClassPath,compileClassPath,cpListener,filter,fmTx,ignoreExcludes,listenerList,log,memoryFileManager,outputClassPath,pgTx,srcClassPath,usagesQuery,useModifiedFiles
+++hfds EMPTY_PATH,archiveProvider,bootClassPath,cachedAptSrcClassPath,cachedBootClassPath,cachedCompileClassPath,cachedSrcClassPath,compileClassPath,cpListener,filter,fmTx,ignoreExcludes,listenerList,log,memoryFileManager,outputClassPath,pgTx,srcClassPath,usagesQuery,useModifiedFiles
++ hcls ClassPathListener,ClasspathInfoAccessorImpl
++
++ CLSS public final static !enum org.netbeans.api.java.source.ClasspathInfo$PathKind
++@@ -465,7 +449,6 @@ meth public boolean alignMultilineTryResources()
++ meth public boolean blankLineAfterJavadocDescription()
++ meth public boolean blankLineAfterJavadocParameterDescriptions()
++ meth public boolean blankLineAfterJavadocReturnTag()
++-meth public boolean computeMemberDependencies()
++ meth public boolean enableBlockCommentFormatting()
++ meth public boolean enableJavadocFormatting()
++ meth public boolean expandTabToSpaces()
++@@ -530,7 +513,6 @@ meth public boolean spaceBeforeWhile()
++ meth public boolean spaceBeforeWhileLeftBrace()
++ meth public boolean spaceBeforeWhileParen()
++ meth public boolean spaceWithinAnnotationParens()
++-meth public boolean spaceWithinArrayIndexBrackets()
++ meth public boolean spaceWithinArrayInitBrackets()
++ meth public boolean spaceWithinBraces()
++ meth public boolean spaceWithinCatchParens()
++@@ -561,7 +543,6 @@ meth public int countForUsingStaticStarImport()
++ meth public int getBlankLinesAfterAnonymousClassHeader()
++ meth public int getBlankLinesAfterClass()
++ meth public int getBlankLinesAfterClassHeader()
++-meth public int getBlankLinesAfterEnumHeader()
++ meth public int getBlankLinesAfterFields()
++ meth public int getBlankLinesAfterImports()
++ meth public int getBlankLinesAfterMethods()
++@@ -569,7 +550,6 @@ meth public int getBlankLinesAfterPackage()
++ meth public int getBlankLinesBeforeAnonymousClassClosingBrace()
++ meth public int getBlankLinesBeforeClass()
++ meth public int getBlankLinesBeforeClassClosingBrace()
++-meth public int getBlankLinesBeforeEnumClosingBrace()
++ meth public int getBlankLinesBeforeFields()
++ meth public int getBlankLinesBeforeImports()
++ meth public int getBlankLinesBeforeMethods()
++@@ -872,8 +852,6 @@ hcls ElementHandleAccessorImpl
++ CLSS public final org.netbeans.api.java.source.ElementUtilities
++ innr public abstract interface static ElementAcceptor
++ meth public boolean alreadyDefinedIn(java.lang.CharSequence,javax.lang.model.type.ExecutableType,javax.lang.model.element.TypeElement)
++-meth public boolean hasGetter(javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement,org.netbeans.api.java.source.CodeStyle)
++-meth public boolean hasSetter(javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement,org.netbeans.api.java.source.CodeStyle)
++ meth public boolean implementsMethod(javax.lang.model.element.ExecutableElement)
++ meth public boolean isEffectivelyFinal(javax.lang.model.element.VariableElement)
++ meth public boolean isErroneous(javax.lang.model.element.Element)
++@@ -883,12 +861,10 @@ meth public boolean isMemberOf(javax.lang.model.element.Element,javax.lang.model
++ meth public boolean isSynthetic(javax.lang.model.element.Element)
++ meth public boolean overridesMethod(javax.lang.model.element.ExecutableElement)
++ meth public com.sun.javadoc.Doc javaDocFor(javax.lang.model.element.Element)
++-meth public java.lang.CharSequence getElementName(javax.lang.model.element.Element,boolean)
++ meth public java.lang.Iterable<? extends javax.lang.model.element.Element> getLocalMembersAndVars(com.sun.source.tree.Scope,org.netbeans.api.java.source.ElementUtilities$ElementAcceptor)
++ meth public java.lang.Iterable<? extends javax.lang.model.element.Element> getLocalVars(com.sun.source.tree.Scope,org.netbeans.api.java.source.ElementUtilities$ElementAcceptor)
++ meth public java.lang.Iterable<? extends javax.lang.model.element.Element> getMembers(javax.lang.model.type.TypeMirror,org.netbeans.api.java.source.ElementUtilities$ElementAcceptor)
++ meth public java.lang.Iterable<? extends javax.lang.model.element.TypeElement> getGlobalTypes(org.netbeans.api.java.source.ElementUtilities$ElementAcceptor)
++-meth public java.util.List<? extends javax.lang.model.element.ExecutableElement> findOverridableMethods(javax.lang.model.element.TypeElement)
++ meth public java.util.List<? extends javax.lang.model.element.ExecutableElement> findUnimplementedMethods(javax.lang.model.element.TypeElement)
++ meth public javax.lang.model.element.Element elementFor(com.sun.javadoc.Doc)
++ meth public javax.lang.model.element.Element findElement(java.lang.String)
++@@ -900,8 +876,7 @@ meth public javax.lang.model.element.TypeElement enclosingTypeElement(javax.lang
++ meth public javax.lang.model.element.TypeElement outermostTypeElement(javax.lang.model.element.Element)
++ meth public static java.lang.String getBinaryName(javax.lang.model.element.TypeElement)
++ supr java.lang.Object
++-hfds NOT_OVERRIDABLE,ctx,delegate,info
++-hcls ElementNameVisitor
+++hfds ctx,delegate,info
++
++ CLSS public abstract interface static org.netbeans.api.java.source.ElementUtilities$ElementAcceptor
++ outer org.netbeans.api.java.source.ElementUtilities
++@@ -933,7 +908,7 @@ meth public static org.netbeans.api.java.source.GeneratorUtilities get(org.netbe
++ meth public void copyComments(com.sun.source.tree.Tree,com.sun.source.tree.Tree,boolean)
++ supr java.lang.Object
++ hfds CLASS_NAME,DEFAULT_RETURN_TYPE_VALUE,GENERATED_METHOD_BODY,METHOD_NAME,METHOD_RETURN_TYPE,OVERRIDDEN_METHOD_BODY,SCRIPT_ENGINE_ATTR,SIMPLE_CLASS_NAME,STRING_OUTPUT_MODE_ATTR,SUPER_METHOD_CALL,copy,manager
++-hcls ClassMemberComparator,FieldRefVisitor,ImportsComparator
+++hcls ClassMemberComparator,ImportsComparator
++
++ CLSS public abstract org.netbeans.api.java.source.JavaParserResultTask<%0 extends org.netbeans.modules.parsing.spi.Parser$Result>
++ cons protected init(org.netbeans.api.java.source.JavaSource$Phase)
++@@ -1048,7 +1023,7 @@ meth public static org.netbeans.api.java.source.ModificationResult runModificati
++ anno 2 org.netbeans.api.annotations.common.NonNull()
++ meth public void commit() throws java.io.IOException
++ supr java.lang.Object
++-hfds LOG,committed,creator,diffs,lastCommitted,tag2Span
+++hfds LOG,committed,creator,diffs,lastCommitted,sources,tag2Span
++ hcls CreateChange,FilteringReader,FilteringWriter
++
++ CLSS public static org.netbeans.api.java.source.ModificationResult$Difference
++@@ -1062,18 +1037,12 @@ meth public java.lang.String getNewText()
++ meth public java.lang.String getOldText()
++ anno 0 org.netbeans.api.annotations.common.NonNull()
++ meth public java.lang.String toString()
++-meth public javax.swing.text.Document openDocument() throws java.io.IOException
++- anno 0 org.netbeans.api.annotations.common.CheckForNull()
++-meth public javax.swing.text.Position getEndPosition()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public javax.swing.text.Position getStartPosition()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++ meth public org.netbeans.api.java.source.ModificationResult$Difference$Kind getKind()
++ anno 0 org.netbeans.api.annotations.common.NonNull()
++ meth public void exclude(boolean)
++ meth public void setCommitToGuards(boolean)
++ supr java.lang.Object
++-hfds ctxLookup,description,endPos,excluded,ignoreGuards,kind,newText,oldText,sourceFile,startPos,theSource
+++hfds description,endPos,excluded,ignoreGuards,kind,newText,oldText,startPos
++
++ CLSS public final static !enum org.netbeans.api.java.source.ModificationResult$Difference$Kind
++ outer org.netbeans.api.java.source.ModificationResult$Difference
++@@ -1138,7 +1107,6 @@ meth public static java.net.URL getPreferredJavadoc(javax.lang.model.element.Ele
++ meth public static java.util.Collection<? extends java.net.URL> getJavadoc(javax.lang.model.element.Element)
++ anno 0 org.netbeans.api.annotations.common.NonNull()
++ anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public static java.util.Collection<? extends javax.lang.model.element.Element> getForwardReferences(com.sun.source.util.TreePath,int,com.sun.source.util.SourcePositions,com.sun.source.util.Trees)
++ meth public static java.util.Collection<org.netbeans.api.java.source.ElementHandle<javax.lang.model.element.TypeElement>> getMainClasses(org.openide.filesystems.FileObject)
++ anno 1 org.netbeans.api.annotations.common.NonNull()
++ meth public static java.util.Collection<org.netbeans.api.java.source.ElementHandle<javax.lang.model.element.TypeElement>> getMainClasses(org.openide.filesystems.FileObject[])
++@@ -1154,24 +1122,19 @@ meth public static javax.lang.model.element.TypeElement getEnclosingTypeElement(
++ anno 0 java.lang.Deprecated()
++ meth public static javax.lang.model.element.TypeElement getOutermostEnclosingTypeElement(javax.lang.model.element.Element)
++ meth public static javax.lang.model.type.TypeMirror getBound(javax.lang.model.type.WildcardType)
++-meth public static javax.lang.model.type.TypeMirror resolveCapturedType(org.netbeans.api.java.source.CompilationInfo,javax.lang.model.type.TypeMirror)
++ meth public static javax.lang.model.type.WildcardType resolveCapturedType(javax.lang.model.type.TypeMirror)
++ meth public static org.netbeans.api.lexer.TokenSequence<org.netbeans.api.java.lexer.JavaTokenId> getJavaTokenSequence(org.netbeans.api.lexer.TokenHierarchy,int)
++ meth public static org.openide.filesystems.FileObject getFile(javax.lang.model.element.Element,org.netbeans.api.java.source.ClasspathInfo)
++ meth public static org.openide.filesystems.FileObject getFile(org.netbeans.api.java.source.ElementHandle<? extends javax.lang.model.element.Element>,org.netbeans.api.java.source.ClasspathInfo)
++ meth public static void waitScanFinished() throws java.lang.InterruptedException
++ supr java.lang.Object
++-hfds LOG,MAX_LEN,VOWELS
+++hfds LOG,MAX_LEN,VOWELS,docLet1,docLet2,jdocCache
++ hcls CaseInsensitiveMatch,CaseSensitiveMatch,Match
++
++ CLSS public abstract interface org.netbeans.api.java.source.Task<%0 extends java.lang.Object>
++ meth public abstract void run({org.netbeans.api.java.source.Task%0}) throws java.lang.Exception
++
++ CLSS public final org.netbeans.api.java.source.TreeMaker
++-meth public <%0 extends com.sun.source.tree.Tree> {%%0} asNew({%%0})
++-meth public <%0 extends com.sun.source.tree.Tree> {%%0} asRemoved({%%0})
++-meth public <%0 extends com.sun.source.tree.Tree> {%%0} asReplacementOf({%%0},com.sun.source.tree.Tree)
++-meth public <%0 extends com.sun.source.tree.Tree> {%%0} asReplacementOf({%%0},com.sun.source.tree.Tree,boolean)
++ meth public <%0 extends com.sun.source.tree.Tree> {%%0} setInitialValue({%%0},com.sun.source.tree.ExpressionTree)
++ meth public <%0 extends com.sun.source.tree.Tree> {%%0} setLabel({%%0},java.lang.CharSequence)
++ meth public com.sun.source.doctree.AttributeTree Attribute(java.lang.CharSequence,com.sun.source.doctree.AttributeTree$ValueKind,java.util.List<? extends com.sun.source.doctree.DocTree>)
++@@ -1466,8 +1429,6 @@ meth public com.sun.source.tree.Tree translate(com.sun.source.tree.Tree,java.uti
++ meth public com.sun.source.util.DocTreePath pathFor(com.sun.source.util.DocTreePath,int)
++ meth public com.sun.source.util.DocTreePath pathFor(com.sun.source.util.DocTreePath,int,com.sun.source.util.DocSourcePositions)
++ meth public com.sun.source.util.DocTreePath pathFor(com.sun.source.util.TreePath,com.sun.source.doctree.DocCommentTree,int)
++-meth public com.sun.source.util.TreePath getPathElementOfKind(com.sun.source.tree.Tree$Kind,com.sun.source.util.TreePath)
++-meth public com.sun.source.util.TreePath getPathElementOfKind(java.util.Set<com.sun.source.tree.Tree$Kind>,com.sun.source.util.TreePath)
++ meth public com.sun.source.util.TreePath pathFor(com.sun.source.util.TreePath,int)
++ meth public com.sun.source.util.TreePath pathFor(com.sun.source.util.TreePath,int,com.sun.source.util.SourcePositions)
++ meth public com.sun.source.util.TreePath pathFor(int)
++@@ -1495,7 +1456,6 @@ meth public java.util.List<? extends com.sun.source.tree.Tree> getReferenceParam
++ anno 0 org.netbeans.api.annotations.common.CheckForNull()
++ anno 1 org.netbeans.api.annotations.common.NonNull()
++ meth public java.util.List<org.netbeans.api.java.source.Comment> getComments(com.sun.source.tree.Tree,boolean)
++-meth public java.util.Set<? extends javax.lang.model.element.VariableElement> getUninitializedFields(com.sun.source.util.TreePath)
++ meth public java.util.Set<javax.lang.model.type.TypeMirror> getUncaughtExceptions(com.sun.source.util.TreePath)
++ meth public javax.lang.model.element.Name getReferenceName(com.sun.source.util.DocTreePath)
++ anno 0 org.netbeans.api.annotations.common.CheckForNull()
++@@ -1575,7 +1535,7 @@ hcls FindDeclarationVisitor
++ CLSS public final static org.netbeans.api.java.source.UiUtils$PrintPart
++ outer org.netbeans.api.java.source.UiUtils
++ anno 0 java.lang.Deprecated()
++-fld public final static java.lang.String ANNOTATIONS = "%annotations%"
+++fld public final static java.lang.String ANNOTATIONS = "%annotations"
++ fld public final static java.lang.String EXTENDS = "%extends%"
++ fld public final static java.lang.String FLAGS = "%flags%"
++ fld public final static java.lang.String IMPLEMENTS = "%implements%"
++@@ -1611,8 +1571,8 @@ meth public void tag(com.sun.source.tree.Tree,java.lang.Object)
++ anno 1 org.netbeans.api.annotations.common.NonNull()
++ anno 2 org.netbeans.api.annotations.common.NonNull()
++ supr org.netbeans.api.java.source.CompilationController
++-hfds NOT_LINKED,REWRITE_WHOLE_FILE,afterCommit,changes,docChanges,externalChanges,instance,introducedTrees,overlay,rewriteHints,textualChanges,tree2Tag,treeMaker,usedComments,userInfo
++-hcls CommentReplicator,Translator,TreeCollector
+++hfds REWRITE_WHOLE_FILE,afterCommit,changes,docChanges,externalChanges,instance,introducedTrees,overlay,textualChanges,tree2Tag,treeMaker,userInfo
+++hcls Translator,TreeCollector
++
++ CLSS public org.netbeans.api.java.source.matching.Matcher
++ intf org.openide.util.Cancellable
++diff --git a/java.source/nbproject/project.properties b/java.source/nbproject/project.properties
++index c9538879f..07fcfa4e6 100644
++--- a/java.source/nbproject/project.properties
+++++ b/java.source/nbproject/project.properties
++@@ -46,7 +46,7 @@ javadoc.name=Java Source
++ javadoc.title=Java Source
++ javadoc.arch=${basedir}/arch.xml
++ javadoc.apichanges=${basedir}/apichanges.xml
++-spec.version.base=0.158.1
+++spec.version.base=0.149.1
++ test.qa-functional.cp.extra=${refactoring.java.dir}/modules/ext/nb-javac-api.jar
++ test.unit.run.cp.extra=${o.n.core.dir}/core/core.jar:\
++ ${o.n.core.dir}/lib/boot.jar:\
++diff --git a/java.source/nbproject/project.xml b/java.source/nbproject/project.xml
++index 6142d0494..3ec897716 100644
++--- a/java.source/nbproject/project.xml
+++++ b/java.source/nbproject/project.xml
++@@ -123,7 +123,7 @@ made subject to such option by the copyright holder.
++ <build-prerequisite/>
++ <compile-dependency/>
++ <run-dependency>
++- <specification-version>8.15</specification-version>
+++ <specification-version>8.11</specification-version>
++ </run-dependency>
++ </dependency>
++ <dependency>
++@@ -188,12 +188,6 @@ made subject to such option by the copyright holder.
++ </run-dependency>
++ </dependency>
++ <dependency>
++- <code-name-base>org.netbeans.modules.editor.indent.support</code-name-base>
++- <run-dependency>
++- <specification-version>1.40</specification-version>
++- </run-dependency>
++- </dependency>
++- <dependency>
++ <code-name-base>org.netbeans.modules.editor.lib</code-name-base>
++ <build-prerequisite/>
++ <compile-dependency/>
++@@ -407,7 +401,7 @@ made subject to such option by the copyright holder.
++ </run-dependency>
++ </dependency>
++ <dependency>
++- <code-name-base>org.openide.util</code-name-base>
+++ <code-name-base>org.openide.util.ui</code-name-base>
++ <build-prerequisite/>
++ <compile-dependency/>
++ <run-dependency>
++@@ -415,19 +409,19 @@ made subject to such option by the copyright holder.
++ </run-dependency>
++ </dependency>
++ <dependency>
++- <code-name-base>org.openide.util.lookup</code-name-base>
+++ <code-name-base>org.openide.util</code-name-base>
++ <build-prerequisite/>
++ <compile-dependency/>
++ <run-dependency>
++- <specification-version>8.0</specification-version>
+++ <specification-version>9.3</specification-version>
++ </run-dependency>
++ </dependency>
++ <dependency>
++- <code-name-base>org.openide.util.ui</code-name-base>
+++ <code-name-base>org.openide.util.lookup</code-name-base>
++ <build-prerequisite/>
++ <compile-dependency/>
++ <run-dependency>
++- <specification-version>9.3</specification-version>
+++ <specification-version>8.0</specification-version>
++ </run-dependency>
++ </dependency>
++ <dependency>
++@@ -438,6 +432,12 @@ made subject to such option by the copyright holder.
++ <specification-version>6.2</specification-version>
++ </run-dependency>
++ </dependency>
+++ <dependency>
+++ <code-name-base>org.netbeans.modules.editor.indent.support</code-name-base>
+++ <run-dependency>
+++ <specification-version>1.40</specification-version>
+++ </run-dependency>
+++ </dependency>
++ </module-dependencies>
++ <test-dependencies>
++ <test-type>
++diff --git a/java.source/src/org/netbeans/api/java/source/support/SelectionAwareJavaSourceTaskFactory.java b/java.source/src/org/netbeans/api/java/source/support/SelectionAwareJavaSourceTaskFactory.java
++index dff64c421..8a0a5a465 100644
++--- a/java.source/src/org/netbeans/api/java/source/support/SelectionAwareJavaSourceTaskFactory.java
+++++ b/java.source/src/org/netbeans/api/java/source/support/SelectionAwareJavaSourceTaskFactory.java
++@@ -46,19 +46,14 @@ package org.netbeans.api.java.source.support;
++ import java.lang.ref.Reference;
++ import java.lang.ref.WeakReference;
++ import java.util.ArrayList;
++-import java.util.Collection;
++-import java.util.HashSet;
++ import java.util.List;
++ import java.util.Map;
++-import java.util.Set;
++ import java.util.WeakHashMap;
++-import javax.swing.SwingUtilities;
++
++ import javax.swing.event.CaretEvent;
++ import javax.swing.event.CaretListener;
++ import javax.swing.event.ChangeEvent;
++ import javax.swing.event.ChangeListener;
++-import javax.swing.text.Caret;
++ import javax.swing.text.JTextComponent;
++
++ import org.netbeans.api.annotations.common.NonNull;
++@@ -143,6 +138,7 @@ public abstract class SelectionAwareJavaSourceTaskFactory extends JavaSourceTask
++ return files;
++ }
++
+++ private Map<JTextComponent, ComponentListener> component2Listener = new WeakHashMap<JTextComponent, SelectionAwareJavaSourceTaskFactory.ComponentListener>();
++ private static Map<FileObject, Integer> file2SelectionStartPosition = new WeakHashMap<FileObject, Integer>();
++ private static Map<FileObject, Integer> file2SelectionEndPosition = new WeakHashMap<FileObject, Integer>();
++
++@@ -173,69 +169,32 @@ public abstract class SelectionAwareJavaSourceTaskFactory extends JavaSourceTask
++ file2SelectionEndPosition.put(file, endPosition);
++ }
++
++- /**
++- * The listener is called from EditorRegistry under locked OpenedEditors instance in EDT, but it is
++- * also called by Prop changes on DataObject in any thread. Selections must be read from components from
++- * EDT, otherwise see issue #258581.
++- */
++- private class ChangeListenerImpl implements ChangeListener, Runnable {
++- // @GuardedBy(this)
++- private Map<JTextComponent, ComponentListener> component2Listener = new WeakHashMap<JTextComponent, SelectionAwareJavaSourceTaskFactory.ComponentListener>();
++- // @GuardedBy(this) just carry-over between stateChanged and EDT
++- private Set<JTextComponent> updateSelection = new HashSet<>();
+++ private class ChangeListenerImpl implements ChangeListener {
++
++- public void run() {
++- Collection<JTextComponent> update;
++-
++- synchronized (this) {
++- update = updateSelection;
++- updateSelection = new HashSet<>();
++- }
++- for (JTextComponent c : update) {
++- int selStart, selEnd;
++- Caret caret = c.getCaret();
++- // possobly the caret is not yet installed ?
++- if (caret != null) {
++- selStart = c.getSelectionStart();
++- selEnd = c.getSelectionEnd();
++- } else {
++- selStart = selEnd = 0;
++- }
++-
++- //TODO: are we in AWT Thread?:
++- setLastSelection(OpenedEditors.getFileObject(c), selStart, selEnd);
++- }
++- }
++-
++-
++- // called under locked OpenedEditors. Do not extend the lock. Lock ordering
++- // is always the same.
++- public synchronized void stateChanged(ChangeEvent e) {
++- List<JTextComponent> visible = OpenedEditors.getDefault().getVisibleEditors();
++- List<JTextComponent> added = new ArrayList<JTextComponent>(visible);
+++ public void stateChanged(ChangeEvent e) {
+++ List<JTextComponent> added = new ArrayList<JTextComponent>(OpenedEditors.getDefault().getVisibleEditors());
++ List<JTextComponent> removed = new ArrayList<JTextComponent>(component2Listener.keySet());
++-
+++
++ added.removeAll(component2Listener.keySet());
++- removed.removeAll(visible);
++-
+++ removed.removeAll(OpenedEditors.getDefault().getVisibleEditors());
+++
++ for (JTextComponent c : removed) {
++ c.removeCaretListener(component2Listener.remove(c));
++ }
++-
+++
++ for (JTextComponent c : added) {
++ ComponentListener l = new ComponentListener(c);
++-
+++
++ c.addCaretListener(l);
++ component2Listener.put(c, l);
+++
+++ //TODO: are we in AWT Thread?:
+++ setLastSelection(OpenedEditors.getFileObject(c), c.getSelectionStart(), c.getSelectionEnd());
++ }
++
++- if (added.isEmpty()) {
++- return;
++- }
++- updateSelection.addAll(added);
++- // invokelater even though we could be in EDT - do not extend OpenedEditors lock.
++- SwingUtilities.invokeLater(this);
+++ fileObjectsChanged();
++ }
+++
++ }
++
++ private class ComponentListener implements CaretListener {
++diff --git a/java.source/src/org/netbeans/modules/java/classfile/Bundle.properties b/java.source/src/org/netbeans/modules/java/classfile/Bundle.properties
++index 8db118104..f0c6747bb 100644
++--- a/java.source/src/org/netbeans/modules/java/classfile/Bundle.properties
+++++ b/java.source/src/org/netbeans/modules/java/classfile/Bundle.properties
++@@ -1,40 +1,3 @@
++-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++-#
++-# Copyright (c) 2011, 2016 Oracle and/or its affiliates. All rights reserved.
++-#
++-# Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++-# Other names may be trademarks of their respective owners.
++-#
++-# The contents of this file are subject to the terms of either the GNU
++-# General Public License Version 2 only ("GPL") or the Common
++-# Development and Distribution License("CDDL") (collectively, the
++-# "License"). You may not use this file except in compliance with the
++-# License. You can obtain a copy of the License at
++-# http://www.netbeans.org/cddl-gplv2.html
++-# or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++-# specific language governing permissions and limitations under the
++-# License. When distributing the software, include this License Header
++-# Notice in each file and include the License file at
++-# nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
++-# particular file as subject to the "Classpath" exception as provided
++-# by Oracle in the GPL Version 2 section of the License file that
++-# accompanied this code. If applicable, add the following below the
++-# License Header, with the fields enclosed by brackets [] replaced by
++-# your own identifying information:
++-# "Portions Copyrighted [year] [name of copyright owner]"
++-#
++-# If you wish your version of this file to be governed by only the CDDL
++-# or only the GPL Version 2, indicate your decision by adding
++-# "[Contributor] elects to include this software in this distribution
++-# under the [CDDL or GPL Version 2] license." If you do not indicate a
++-# single choice of license, a recipient has the option to distribute
++-# your version of this file under either the CDDL, the GPL Version 2 or
++-# to extend the choice of license to its licensees as provided above.
++-# However, if you add GPL Version 2 code and therefore, elected the GPL
++-# Version 2 license, then the option applies only if the new code is
++-# made subject to such option by the copyright holder.
++-#
++-# Contributor(s):
++ AttachSourcePanel.jLabel1.text=Showing generated source file. No sources are attached to class' JAR file.
++ AttachSourcePanel.jButton1.text=Attach Sources...
++ TXT_OpenAttachedSource=Opening the Attached Source
++diff --git a/java.source/src/org/netbeans/modules/java/source/package-info.java b/java.source/src/org/netbeans/modules/java/source/package-info.java
++index 6f28c20d5..1522a6c88 100644
++--- a/java.source/src/org/netbeans/modules/java/source/package-info.java
+++++ b/java.source/src/org/netbeans/modules/java/source/package-info.java
++@@ -42,11 +42,10 @@
++
++ @TemplateRegistrations({
++ @TemplateRegistration(folder = "Classes/Code", position = 100, content = "resources/GeneratedMethodBody.template", scriptEngine = "freemarker", displayName = "#GeneratedMethodBody", category = "java-code-snippet"),
++- @TemplateRegistration(folder = "Classes/Code", position = 200, content = "resources/OverriddenMethodBody.template", scriptEngine = "freemarker", displayName = "#OverriddenMethodBody", category = "java-code-snippet"),
++- @TemplateRegistration(folder = "Classes/Code", position = 300, content = "resources/LambdaBody.template", scriptEngine = "freemarker", displayName = "#LambdaBody", category = "java-code-snippet")
+++ @TemplateRegistration(folder = "Classes/Code", position = 200, content = "resources/OverriddenMethodBody.template", scriptEngine = "freemarker", displayName = "#OverriddenMethodBody", category = "java-code-snippet")
++ })
++ @NbBundle.Messages({
++- "GeneratedMethodBody=Generated Method Body", "OverriddenMethodBody=Overridden Method Body", "LambdaBody=Generated Lambda Body" //NOI18N
+++ "GeneratedMethodBody=Generated Method Body", "OverriddenMethodBody=Overridden Method Body" //NOI18N
++ })
++ package org.netbeans.modules.java.source;
++
++diff --git a/java.source/src/org/netbeans/modules/java/source/resources/LambdaBody.template b/java.source/src/org/netbeans/modules/java/source/resources/LambdaBody.template
++deleted file mode 100644
++index 66850d166..000000000
++--- a/java.source/src/org/netbeans/modules/java/source/resources/LambdaBody.template
+++++ /dev/null
++@@ -1,15 +0,0 @@
++-<#--
++-A built-in Freemarker template (see http://freemarker.sourceforge.net) used for
++-filling the body of lambda expressions generated by the IDE. When editing
++-the template, the following predefined variables, that will be then expanded
++-into the corresponding values, could be used together with Java expressions and
++-comments:
++-${method_return_type} a return type of the functional interface method
++-${default_return_value} a value returned by the method by default
++-${method_name} name of the functional interface method
++--->
++-<#if method_return_type?? && method_return_type != "void">
++-return ${default_return_value}; //To change body of generated lambdas, choose Tools | Templates.
++-<#else>
++-//To change body of generated lambdas, choose Tools | Templates.
++-</#if>
++diff --git a/java.source/src/org/netbeans/modules/java/source/resources/find_usages.settings b/java.source/src/org/netbeans/modules/java/source/resources/find_usages.settings
++index bd4340344..edc902d9e 100644
++--- a/java.source/src/org/netbeans/modules/java/source/resources/find_usages.settings
+++++ b/java.source/src/org/netbeans/modules/java/source/resources/find_usages.settings
++@@ -1,43 +1,4 @@
++ <?xml version="1.0"?>
++-<!--
++-DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++-
++-Copyright (c) 2006, 2016 Oracle and/or its affiliates. All rights reserved.
++-
++-Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++-Other names may be trademarks of their respective owners.
++-
++-The contents of this file are subject to the terms of either the GNU
++-General Public License Version 2 only ("GPL") or the Common
++-Development and Distribution License("CDDL") (collectively, the
++-"License"). You may not use this file except in compliance with the
++-License. You can obtain a copy of the License at
++-http://www.netbeans.org/cddl-gplv2.html
++-or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++-specific language governing permissions and limitations under the
++-License. When distributing the software, include this License Header
++-Notice in each file and include the License file at
++-nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
++-particular file as subject to the "Classpath" exception as provided
++-by Oracle in the GPL Version 2 section of the License file that
++-accompanied this code. If applicable, add the following below the
++-License Header, with the fields enclosed by brackets [] replaced by
++-your own identifying information:
++-"Portions Copyrighted [year] [name of copyright owner]"
++-
++-If you wish your version of this file to be governed by only the CDDL
++-or only the GPL Version 2, indicate your decision by adding
++-"[Contributor] elects to include this software in this distribution
++-under the [CDDL or GPL Version 2] license." If you do not indicate a
++-single choice of license, a recipient has the option to distribute
++-your version of this file under either the CDDL, the GPL Version 2 or
++-to extend the choice of license to its licensees as provided above.
++-However, if you add GPL Version 2 code and therefore, elected the GPL
++-Version 2 license, then the option applies only if the new code is
++-made subject to such option by the copyright holder.
++-
++-Contributor(s):
++--->
++ <!DOCTYPE settings PUBLIC "-//NetBeans//DTD Session settings 1.0//EN" "http://www.netbeans.org/dtds/sessionsettings-1_0.dtd">
++ <settings version="1.0">
++ <module name="org.netbeans.modules.java.source" spec="0.1"/>
++diff --git a/java.source/src/org/netbeans/modules/java/source/resources/find_usages.wstcref b/java.source/src/org/netbeans/modules/java/source/resources/find_usages.wstcref
++index bbe6b8563..59456556b 100644
++--- a/java.source/src/org/netbeans/modules/java/source/resources/find_usages.wstcref
+++++ b/java.source/src/org/netbeans/modules/java/source/resources/find_usages.wstcref
++@@ -1,43 +1,4 @@
++ <?xml version="1.0" encoding="UTF-8"?>
++-<!--
++-DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++-
++-Copyright (c) 2006, 2016 Oracle and/or its affiliates. All rights reserved.
++-
++-Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++-Other names may be trademarks of their respective owners.
++-
++-The contents of this file are subject to the terms of either the GNU
++-General Public License Version 2 only ("GPL") or the Common
++-Development and Distribution License("CDDL") (collectively, the
++-"License"). You may not use this file except in compliance with the
++-License. You can obtain a copy of the License at
++-http://www.netbeans.org/cddl-gplv2.html
++-or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++-specific language governing permissions and limitations under the
++-License. When distributing the software, include this License Header
++-Notice in each file and include the License file at
++-nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
++-particular file as subject to the "Classpath" exception as provided
++-by Oracle in the GPL Version 2 section of the License file that
++-accompanied this code. If applicable, add the following below the
++-License Header, with the fields enclosed by brackets [] replaced by
++-your own identifying information:
++-"Portions Copyrighted [year] [name of copyright owner]"
++-
++-If you wish your version of this file to be governed by only the CDDL
++-or only the GPL Version 2, indicate your decision by adding
++-"[Contributor] elects to include this software in this distribution
++-under the [CDDL or GPL Version 2] license." If you do not indicate a
++-single choice of license, a recipient has the option to distribute
++-your version of this file under either the CDDL, the GPL Version 2 or
++-to extend the choice of license to its licensees as provided above.
++-However, if you add GPL Version 2 code and therefore, elected the GPL
++-Version 2 license, then the option applies only if the new code is
++-made subject to such option by the copyright holder.
++-
++-Contributor(s):
++--->
++
++ <!DOCTYPE tc-ref PUBLIC
++ "-//NetBeans//DTD Top Component in Mode Properties 2.0//EN"
++diff --git a/java.source/src/org/netbeans/modules/java/source/resources/icons/methodAbstractPackage.png b/java.source/src/org/netbeans/modules/java/source/resources/icons/methodAbstractPackage.png
++deleted file mode 100644
++index d96678fa7..000000000
++--- a/java.source/src/org/netbeans/modules/java/source/resources/icons/methodAbstractPackage.png
+++++ /dev/null
++@@ -1,9 +0,0 @@
++-�PNG
++-
++-
++-�7.k�c�F|�.�
E7�ƅ�a\�n�Z݈"U)��Z�ڝ��(MJ���6���s]؆ޚ����真{���]�6���
++-$��2*���瑹xc�%L��9?8�
�
Ig�
++-
++-�
++-�˱����R~�R�o�?�n���$��$�tE �puݢ�aM���oU��jU����_��-�ժ�*剶Ӷ�Y]�-
++-by���a#��ڰY^)�X(�ե�д-f4)e�_0Ms�!�
�&�z x\��v����b�Ѭ�k�4k
6M
�H
++\ No newline at end of file
++diff --git a/java.source/src/org/netbeans/modules/java/source/resources/icons/methodAbstractProtected.png b/java.source/src/org/netbeans/modules/java/source/resources/icons/methodAbstractProtected.png
++deleted file mode 100644
++index d7dd01a66..000000000
++--- a/java.source/src/org/netbeans/modules/java/source/resources/icons/methodAbstractProtected.png
+++++ /dev/null
++@@ -1,7 +0,0 @@
++-�PNG
++-
++-
++-B�+��.rE�f��DB���m�d��R��uS�D~@7nKW�˹���s�����nt�
������p����
M7
++-��\uc}D
r#�
�
�9�5H���EU���Ps |�>>���r�b��`���DR��V&s �h���(�D�c�h��S
++- �����Q�D�c��>��&�~�r �WVCP�*�JZ��jˁ
++-��b)��e9�W�O"�P�
`M�e
++\ No newline at end of file
++diff --git a/java.source/src/org/netbeans/modules/java/source/resources/icons/methodAbstractPublic.png b/java.source/src/org/netbeans/modules/java/source/resources/icons/methodAbstractPublic.png
++deleted file mode 100644
++index dc60e047a..000000000
++--- a/java.source/src/org/netbeans/modules/java/source/resources/icons/methodAbstractPublic.png
+++++ /dev/null
++@@ -1,5 +0,0 @@
++-�PNG
++-
++-
++-:�WӘ`Iob������h�+f�;����y�̛gc�34��4�$_rϽ�s�q���5���U淏���6�
h�k�
++-�
++\ No newline at end of file
++diff --git a/java.source/src/org/netbeans/modules/java/source/resources/icons/methodDefaultPublic.png b/java.source/src/org/netbeans/modules/java/source/resources/icons/methodDefaultPublic.png
++deleted file mode 100644
++index a4d353112..000000000
++--- a/java.source/src/org/netbeans/modules/java/source/resources/icons/methodDefaultPublic.png
+++++ /dev/null
++@@ -1,6 +0,0 @@
++-�PNG
++-
++-
++-N9=
++-p
`b(���F;��
=��;s��]��|>�)1�rtb(��1�h�Zu�茄�Q)���nKw(�oł&�p�p4*�EgD�u��^�"
++-�f{�����=J������i���+[�JZ��Jg�N��T:Cֲ��j[~�/I�6���lIZ�/�Ӊ���䅪��lz��`�^�P�% EQ�-�H��3�~v������4�w�C{"��fY>,�⺮�\(o��Ǟ��
0��U�´���2��K�
�
{��v&Y��
++\ No newline at end of file
++diff --git a/java.source/src/org/netbeans/modules/java/ui/Bundle.properties b/java.source/src/org/netbeans/modules/java/ui/Bundle.properties
++index a2563e7a1..31cbe01e6 100644
++--- a/java.source/src/org/netbeans/modules/java/ui/Bundle.properties
+++++ b/java.source/src/org/netbeans/modules/java/ui/Bundle.properties
++@@ -218,7 +218,6 @@ LBL_wrp_afeterDot=Wrap After Dot In Chained Method Call
++ LBL_wrp_arrayInit=Array Initiali&zer\:
++ LBL_wrp_tryResources=Try Re&sources\:
++ LBL_wrp_multiCatches=Dis&junctive Catch Types\:
++-LBL_wrp_afterBar=Wrap After Bar in Disjunctive Catches
++ LBL_wrp_for=&For\:
++ LBL_wrp_forStatement=F&or Statement\:
++ LBL_wrp_ifStatement=&If Statement\:
++diff --git a/java.source/src/org/netbeans/modules/java/ui/FmtWrapping.form b/java.source/src/org/netbeans/modules/java/ui/FmtWrapping.form
++index 41b919137..e5d4a5a60 100644
++--- a/java.source/src/org/netbeans/modules/java/ui/FmtWrapping.form
+++++ b/java.source/src/org/netbeans/modules/java/ui/FmtWrapping.form
++@@ -412,23 +412,6 @@
++ </Constraint>
++ </Constraints>
++ </Component>
++- <Component class="javax.swing.JCheckBox" name="afterBarCheckBox">
++- <Properties>
++- <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
++- <ResourceString bundle="org/netbeans/modules/java/ui/Bundle.properties" key="LBL_wrp_afterBar" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
++- </Property>
++- <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
++- <Border info="org.netbeans.modules.form.compat2.border.EmptyBorderInfo">
++- <EmptyBorder bottom="0" left="0" right="0" top="0"/>
++- </Border>
++- </Property>
++- </Properties>
++- <Constraints>
++- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
++- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="0" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="2" insetsLeft="8" insetsBottom="6" insetsRight="0" anchor="17" weightX="0.0" weightY="0.0"/>
++- </Constraint>
++- </Constraints>
++- </Component>
++ <Component class="javax.swing.JLabel" name="forLabel">
++ <Properties>
++ <Property name="labelFor" type="java.awt.Component" editor="org.netbeans.modules.form.ComponentChooserEditor">
++diff --git a/java.source/src/org/netbeans/modules/java/ui/FmtWrapping.java b/java.source/src/org/netbeans/modules/java/ui/FmtWrapping.java
++index 74cb36882..9393e53bd 100644
++--- a/java.source/src/org/netbeans/modules/java/ui/FmtWrapping.java
+++++ b/java.source/src/org/netbeans/modules/java/ui/FmtWrapping.java
++@@ -91,8 +91,6 @@ public class FmtWrapping extends javax.swing.JPanel implements FocusListener {
++ tryCombo.addFocusListener(this);
++ multiCatchCombo.putClientProperty(OPTION_ID, wrapDisjunctiveCatchTypes);
++ multiCatchCombo.addFocusListener(this);
++- afterBarCheckBox.putClientProperty(OPTION_ID, wrapAfterDisjunctiveCatchBar);
++- afterBarCheckBox.addFocusListener(this);
++ forCombo.putClientProperty(OPTION_ID, wrapFor);
++ forCombo.addFocusListener(this);
++ forStatementCombo.putClientProperty(OPTION_ID, wrapForStatement );
++@@ -189,7 +187,6 @@ public class FmtWrapping extends javax.swing.JPanel implements FocusListener {
++ tryCombo = new javax.swing.JComboBox();
++ multiCatchLabel = new javax.swing.JLabel();
++ multiCatchCombo = new javax.swing.JComboBox();
++- afterBarCheckBox = new javax.swing.JCheckBox();
++ forLabel = new javax.swing.JLabel();
++ forCombo = new javax.swing.JComboBox();
++ forStatementLabel = new javax.swing.JLabel();
++@@ -395,14 +392,6 @@ public class FmtWrapping extends javax.swing.JPanel implements FocusListener {
++ gridBagConstraints.insets = new java.awt.Insets(0, 6, 4, 8);
++ panel1.add(multiCatchCombo, gridBagConstraints);
++
++- org.openide.awt.Mnemonics.setLocalizedText(afterBarCheckBox, org.openide.util.NbBundle.getMessage(FmtWrapping.class, "LBL_wrp_afterBar")); // NOI18N
++- afterBarCheckBox.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0));
++- gridBagConstraints = new java.awt.GridBagConstraints();
++- gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
++- gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
++- gridBagConstraints.insets = new java.awt.Insets(2, 8, 6, 0);
++- panel1.add(afterBarCheckBox, gridBagConstraints);
++-
++ forLabel.setLabelFor(forCombo);
++ org.openide.awt.Mnemonics.setLocalizedText(forLabel, org.openide.util.NbBundle.getMessage(FmtWrapping.class, "LBL_wrp_for")); // NOI18N
++ gridBagConstraints = new java.awt.GridBagConstraints();
++@@ -639,7 +628,6 @@ public class FmtWrapping extends javax.swing.JPanel implements FocusListener {
++
++ // Variables declaration - do not modify//GEN-BEGIN:variables
++ private javax.swing.JCheckBox afterAssignOpsCheckBox;
++- private javax.swing.JCheckBox afterBarCheckBox;
++ private javax.swing.JCheckBox afterBinaryOpsCheckBox;
++ private javax.swing.JCheckBox afterDotCheckBox;
++ private javax.swing.JCheckBox afterLambdaArrowCheckBox;
++diff --git a/java.source/src/org/netbeans/modules/java/ui/Icons.java b/java.source/src/org/netbeans/modules/java/ui/Icons.java
++index ff207b448..898e63ca3 100644
++--- a/java.source/src/org/netbeans/modules/java/ui/Icons.java
+++++ b/java.source/src/org/netbeans/modules/java/ui/Icons.java
++@@ -136,12 +136,6 @@ public final class Icons {
++ if ( modifiers.contains( Modifier.STATIC ) ) {
++ fileName.append( "Static" ); //NOI18N
++ }
++- if ( modifiers.contains( Modifier.ABSTRACT ) ) {
++- fileName.append( "Abstract" ); //NOI18N
++- }
++- if ( modifiers.contains( Modifier.DEFAULT ) ) {
++- fileName.append( "Default" ); //NOI18N
++- }
++ if (kind == ElementKind.STATIC_INIT || kind == ElementKind.INSTANCE_INIT) {
++ return fileName.append(extension).toString();
++ }
++diff --git a/java.source/test/qa-functional/data/projects/default/nbproject/build-impl.xml b/java.source/test/qa-functional/data/projects/default/nbproject/build-impl.xml
++index e0abf2883..915a701b6 100644
++--- a/java.source/test/qa-functional/data/projects/default/nbproject/build-impl.xml
+++++ b/java.source/test/qa-functional/data/projects/default/nbproject/build-impl.xml
++@@ -1185,7 +1185,7 @@ is divided into following sections:
++ <target depends="-profile-check" description="Profile a selected class in the IDE." if="profiler.configured" name="profile-test-with-main">
++ <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
++ <startprofiler/>
++- <antcall target="run-test-with-main"/>
+++ <antcal target="run-test-with-main"/>
++ </target>
++ <target depends="-profile-check,-profile-applet-pre72" if="profiler.configured" name="profile-applet" unless="profiler.info.jvmargs.agent">
++ <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>
diff --cc debian/patches/netbeans-java.sourceui.patch
index 0000000,0000000..d39ea60
new file mode 100644
--- /dev/null
+++ b/debian/patches/netbeans-java.sourceui.patch
@@@ -1,0 -1,0 +1,970 @@@
++From: Markus Koschany <apo at debian.org>
++Date: Sun, 25 Dec 2016 22:32:41 +0100
++Subject: netbeans java.sourceui
++
++Ugly workaround for a FTBFS due to missing OpenJDK 9 classes. Module was
++
++replaced with the one from 8.1.
++
++Forwarded: not-needed
++---
++ java.sourceui/arch.xml | 49 ++++----------
++ java.sourceui/build.xml | 39 ------------
++ .../org-netbeans-modules-java-sourceui.sig | 6 +-
++ java.sourceui/nbproject/project.properties | 41 +-----------
++ java.sourceui/nbproject/project.xml | 41 +-----------
++ .../api/java/source/ui/ElementJavadoc.java | 14 ++--
++ .../netbeans/api/java/source/ui/ElementOpen.java | 64 +++++--------------
++ .../netbeans/api/java/source/ui/ScanDialog.java | 20 ++++--
++ .../java/source/ui/AsyncJavaSymbolDescriptor.java | 10 ++-
++ .../java/source/ui/JavaSymbolDescriptorBase.java | 72 ++++++---------------
++ .../modules/java/source/ui/JavaSymbolProvider.java | 6 +-
++ .../java/source/ui/JavaTypeDescription.java | 74 +++++-----------------
++ .../modules/java/source/ui/JavaTypeProvider.java | 13 +---
++ .../source/ui/ResolvedJavaSymbolDescriptor.java | 3 +-
++ .../java/source/ui/resources/Bundle.properties | 37 -----------
++ .../modules/java/source/ui/resources/layer.xml | 39 ------------
++ 16 files changed, 98 insertions(+), 430 deletions(-)
++
++diff --git a/java.sourceui/arch.xml b/java.sourceui/arch.xml
++index 302da77d2..47bf5585c 100644
++--- a/java.sourceui/arch.xml
+++++ b/java.sourceui/arch.xml
++@@ -1,42 +1,21 @@
++ <?xml version="1.0" encoding="UTF-8"?>
++ <!--
++-DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++-
++-Copyright (c) 2008, 2016 Oracle and/or its affiliates. All rights reserved.
++-
++-Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++-Other names may be trademarks of their respective owners.
++-
++-The contents of this file are subject to the terms of either the GNU
++-General Public License Version 2 only ("GPL") or the Common
++-Development and Distribution License("CDDL") (collectively, the
++-"License"). You may not use this file except in compliance with the
++-License. You can obtain a copy of the License at
++-http://www.netbeans.org/cddl-gplv2.html
++-or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++-specific language governing permissions and limitations under the
++-License. When distributing the software, include this License Header
++-Notice in each file and include the License file at
++-nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
++-particular file as subject to the "Classpath" exception as provided
++-by Oracle in the GPL Version 2 section of the License file that
++-accompanied this code. If applicable, add the following below the
++-License Header, with the fields enclosed by brackets [] replaced by
++-your own identifying information:
+++The contents of this file are subject to the terms of the Common Development
+++and Distribution License (the License). You may not use this file except in
+++compliance with the License.
+++
+++You can obtain a copy of the License at http://www.netbeans.org/cddl.html
+++or http://www.netbeans.org/cddl.txt.
+++
+++When distributing Covered Code, include this CDDL Header Notice in each file
+++and include the License file at http://www.netbeans.org/cddl.txt.
+++If applicable, add the following below the CDDL Header, with the fields
+++enclosed by brackets [] replaced by your own identifying information:
++ "Portions Copyrighted [year] [name of copyright owner]"
++
++-If you wish your version of this file to be governed by only the CDDL
++-or only the GPL Version 2, indicate your decision by adding
++-"[Contributor] elects to include this software in this distribution
++-under the [CDDL or GPL Version 2] license." If you do not indicate a
++-single choice of license, a recipient has the option to distribute
++-your version of this file under either the CDDL, the GPL Version 2 or
++-to extend the choice of license to its licensees as provided above.
++-However, if you add GPL Version 2 code and therefore, elected the GPL
++-Version 2 license, then the option applies only if the new code is
++-made subject to such option by the copyright holder.
++-
++-Contributor(s):
+++The Original Software is NetBeans. The Initial Developer of the Original
+++Software is Sun Microsystems, Inc. Portions Copyright 1997-2007 Sun
+++Microsystems, Inc. All Rights Reserved.
++ -->
++ <!DOCTYPE api-answers PUBLIC "-//NetBeans//DTD Arch Answers//EN" "../nbbuild/antsrc/org/netbeans/nbbuild/Arch.dtd" [
++ <!ENTITY api-questions SYSTEM "../nbbuild/antsrc/org/netbeans/nbbuild/Arch-api-questions.xml">
++diff --git a/java.sourceui/build.xml b/java.sourceui/build.xml
++index 7c8911675..729164f78 100644
++--- a/java.sourceui/build.xml
+++++ b/java.sourceui/build.xml
++@@ -1,43 +1,4 @@
++ <?xml version="1.0" encoding="UTF-8"?>
++-<!--
++-DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++-
++-Copyright (c) 2007, 2016 Oracle and/or its affiliates. All rights reserved.
++-
++-Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++-Other names may be trademarks of their respective owners.
++-
++-The contents of this file are subject to the terms of either the GNU
++-General Public License Version 2 only ("GPL") or the Common
++-Development and Distribution License("CDDL") (collectively, the
++-"License"). You may not use this file except in compliance with the
++-License. You can obtain a copy of the License at
++-http://www.netbeans.org/cddl-gplv2.html
++-or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++-specific language governing permissions and limitations under the
++-License. When distributing the software, include this License Header
++-Notice in each file and include the License file at
++-nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
++-particular file as subject to the "Classpath" exception as provided
++-by Oracle in the GPL Version 2 section of the License file that
++-accompanied this code. If applicable, add the following below the
++-License Header, with the fields enclosed by brackets [] replaced by
++-your own identifying information:
++-"Portions Copyrighted [year] [name of copyright owner]"
++-
++-If you wish your version of this file to be governed by only the CDDL
++-or only the GPL Version 2, indicate your decision by adding
++-"[Contributor] elects to include this software in this distribution
++-under the [CDDL or GPL Version 2] license." If you do not indicate a
++-single choice of license, a recipient has the option to distribute
++-your version of this file under either the CDDL, the GPL Version 2 or
++-to extend the choice of license to its licensees as provided above.
++-However, if you add GPL Version 2 code and therefore, elected the GPL
++-Version 2 license, then the option applies only if the new code is
++-made subject to such option by the copyright holder.
++-
++-Contributor(s):
++--->
++ <project basedir="." default="netbeans" name="java.sourceui">
++ <description>Builds, tests, and runs the project org.netbeans.modules.java.sourceui</description>
++ <import file="../nbbuild/templates/projectized.xml"/>
++diff --git a/java.sourceui/nbproject/org-netbeans-modules-java-sourceui.sig b/java.sourceui/nbproject/org-netbeans-modules-java-sourceui.sig
++index 60aca5c82..74d261b6e 100644
++--- a/java.sourceui/nbproject/org-netbeans-modules-java-sourceui.sig
+++++ b/java.sourceui/nbproject/org-netbeans-modules-java-sourceui.sig
++@@ -1,5 +1,5 @@
++ #Signature file v4.1
++-#Version 1.42.1
+++#Version 1.38.0
++
++ CLSS public abstract interface !annotation java.lang.Deprecated
++ anno 0 java.lang.annotation.Documented()
++@@ -82,8 +82,8 @@ meth public java.util.concurrent.Future<java.lang.String> getTextAsync()
++ meth public javax.swing.Action getGotoSourceAction()
++ meth public org.netbeans.api.java.source.ui.ElementJavadoc resolveLink(java.lang.String)
++ supr java.lang.Object
++-hfds API,APINOTE_TAG,ASSOCIATE_JDOC,CODE_TAG,DEPRECATED_TAG,IMPLNOTE_TAG,IMPLSPEC_TAG,INHERIT_DOC_TAG,LANGS,LINKPLAIN_TAG,LITERAL_TAG,PARAM_TAG,RETURN_TAG,RP,SEE_TAG,SINCE_TAG,THROWS_TAG,VALUE_TAG,cancel,content,cpInfo,docURL,fileObject,goToSource,handle,linkCounter,links
++-hcls Now
+++hfds API,ASSOCIATE_JDOC,CODE_TAG,DEPRECATED_TAG,INHERIT_DOC_TAG,LANGS,LINKPLAIN_TAG,LITERAL_TAG,PARAM_TAG,RETURN_TAG,RP,SEE_TAG,SINCE_TAG,THROWS_TAG,VALUE_TAG,cancel,content,cpInfo,docURL,goToSource,handle,linkCounter,links
+++hcls Now,RemoteJavadocException
++
++ CLSS public final org.netbeans.api.java.source.ui.ElementOpen
++ meth public static boolean open(org.netbeans.api.java.source.ClasspathInfo,javax.lang.model.element.Element)
++diff --git a/java.sourceui/nbproject/project.properties b/java.sourceui/nbproject/project.properties
++index 06c5a0609..3da82fd77 100644
++--- a/java.sourceui/nbproject/project.properties
+++++ b/java.sourceui/nbproject/project.properties
++@@ -1,45 +1,8 @@
++-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++-#
++-# Copyright (c) 2007, 2016 Oracle and/or its affiliates. All rights reserved.
++-#
++-# Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++-# Other names may be trademarks of their respective owners.
++-#
++-# The contents of this file are subject to the terms of either the GNU
++-# General Public License Version 2 only ("GPL") or the Common
++-# Development and Distribution License("CDDL") (collectively, the
++-# "License"). You may not use this file except in compliance with the
++-# License. You can obtain a copy of the License at
++-# http://www.netbeans.org/cddl-gplv2.html
++-# or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++-# specific language governing permissions and limitations under the
++-# License. When distributing the software, include this License Header
++-# Notice in each file and include the License file at
++-# nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
++-# particular file as subject to the "Classpath" exception as provided
++-# by Oracle in the GPL Version 2 section of the License file that
++-# accompanied this code. If applicable, add the following below the
++-# License Header, with the fields enclosed by brackets [] replaced by
++-# your own identifying information:
++-# "Portions Copyrighted [year] [name of copyright owner]"
++-#
++-# If you wish your version of this file to be governed by only the CDDL
++-# or only the GPL Version 2, indicate your decision by adding
++-# "[Contributor] elects to include this software in this distribution
++-# under the [CDDL or GPL Version 2] license." If you do not indicate a
++-# single choice of license, a recipient has the option to distribute
++-# your version of this file under either the CDDL, the GPL Version 2 or
++-# to extend the choice of license to its licensees as provided above.
++-# However, if you add GPL Version 2 code and therefore, elected the GPL
++-# Version 2 license, then the option applies only if the new code is
++-# made subject to such option by the copyright holder.
++-#
++-# Contributor(s):
++ javadoc.apichanges=${basedir}/apichanges.xml
++ javac.compilerargs=-Xlint -Xlint:-serial
++-javac.source=1.8
+++javac.source=1.7
++ javadoc.arch=${basedir}/arch.xml
++-spec.version.base=1.43.1
+++spec.version.base=1.42.1
++
++ test.config.stableBTD.includes=**/*Test.class
++ test.config.stableBTD.excludes=\
++diff --git a/java.sourceui/nbproject/project.xml b/java.sourceui/nbproject/project.xml
++index cb90d04fa..b448a15c2 100644
++--- a/java.sourceui/nbproject/project.xml
+++++ b/java.sourceui/nbproject/project.xml
++@@ -1,43 +1,4 @@
++ <?xml version="1.0" encoding="UTF-8"?>
++-<!--
++-DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++-
++-Copyright (c) 2007, 2016 Oracle and/or its affiliates. All rights reserved.
++-
++-Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++-Other names may be trademarks of their respective owners.
++-
++-The contents of this file are subject to the terms of either the GNU
++-General Public License Version 2 only ("GPL") or the Common
++-Development and Distribution License("CDDL") (collectively, the
++-"License"). You may not use this file except in compliance with the
++-License. You can obtain a copy of the License at
++-http://www.netbeans.org/cddl-gplv2.html
++-or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++-specific language governing permissions and limitations under the
++-License. When distributing the software, include this License Header
++-Notice in each file and include the License file at
++-nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
++-particular file as subject to the "Classpath" exception as provided
++-by Oracle in the GPL Version 2 section of the License file that
++-accompanied this code. If applicable, add the following below the
++-License Header, with the fields enclosed by brackets [] replaced by
++-your own identifying information:
++-"Portions Copyrighted [year] [name of copyright owner]"
++-
++-If you wish your version of this file to be governed by only the CDDL
++-or only the GPL Version 2, indicate your decision by adding
++-"[Contributor] elects to include this software in this distribution
++-under the [CDDL or GPL Version 2] license." If you do not indicate a
++-single choice of license, a recipient has the option to distribute
++-your version of this file under either the CDDL, the GPL Version 2 or
++-to extend the choice of license to its licensees as provided above.
++-However, if you add GPL Version 2 code and therefore, elected the GPL
++-Version 2 license, then the option applies only if the new code is
++-made subject to such option by the copyright holder.
++-
++-Contributor(s):
++--->
++ <project xmlns="http://www.netbeans.org/ns/project/1">
++ <type>org.netbeans.modules.apisupport.project</type>
++ <configuration>
++@@ -93,7 +54,7 @@ Contributor(s):
++ <build-prerequisite/>
++ <compile-dependency/>
++ <run-dependency>
++- <specification-version>8.15</specification-version>
+++ <specification-version>0.5</specification-version>
++ </run-dependency>
++ </dependency>
++ <dependency>
++diff --git a/java.sourceui/src/org/netbeans/api/java/source/ui/ElementJavadoc.java b/java.sourceui/src/org/netbeans/api/java/source/ui/ElementJavadoc.java
++index 0d622dd18..bfa813242 100644
++--- a/java.sourceui/src/org/netbeans/api/java/source/ui/ElementJavadoc.java
+++++ b/java.sourceui/src/org/netbeans/api/java/source/ui/ElementJavadoc.java
++@@ -375,9 +375,8 @@ public class ElementJavadoc {
++ element,
++ JavadocHelper.RemoteJavadocPolicy.SPECULATIVE,
++ cancel);
++- computeDocURL(pages, true, cancel);
++ for (JavadocHelper.TextStream ts : pages) {
++- if (docURL == null && !ts.getLocations().isEmpty()) {
+++ if (docURL == null && !ts.getLocations().isEmpty()) {
++ docURL = ts.getLocations().get(0);
++ }
++ localized |= isLocalized(ts.getLocations(), element);
++@@ -735,14 +734,9 @@ public class ElementJavadoc {
++ final Callable<String> call = new Callable<String>() {
++ @Override
++ public String call() throws Exception {
++- String jdText = null;
++- for (JavadocHelper.TextStream page : pages) {
++- jdText = page != null ? HTMLJavadocParser.getJavadocText(page, false) : getURL() != null ? HTMLJavadocParser.getJavadocText(getURL(), false) : null;
++- if (jdText != null) {
++- docURL = page.getLocation();
++- break;
++- }
++- }
+++ JavadocHelper.TextStream page = pages.isEmpty() ? null : pages.get(0);
+++ docURL = page == null ? null : page.getLocation();
+++ String jdText = page != null ? HTMLJavadocParser.getJavadocText(page, false) : getURL() != null ? HTMLJavadocParser.getJavadocText(getURL(), false) : null;
++ if (jdText != null) {
++ sb.append(jdText);
++ } else {
++diff --git a/java.sourceui/src/org/netbeans/api/java/source/ui/ElementOpen.java b/java.sourceui/src/org/netbeans/api/java/source/ui/ElementOpen.java
++index e36fe521e..a5e98f708 100644
++--- a/java.sourceui/src/org/netbeans/api/java/source/ui/ElementOpen.java
+++++ b/java.sourceui/src/org/netbeans/api/java/source/ui/ElementOpen.java
++@@ -56,11 +56,13 @@ import org.netbeans.modules.java.source.parsing.ClassParser;
++ import org.netbeans.modules.java.source.parsing.FileObjects;
++ import org.openide.awt.StatusDisplayer;
++ import org.openide.cookies.EditorCookie;
+++import org.openide.cookies.OpenCookie;
++ import org.openide.filesystems.FileObject;
++ import org.openide.loaders.DataObject;
++ import org.openide.loaders.DataObjectNotFoundException;
++ import org.openide.util.Exceptions;
++ import org.openide.util.Lookup;
+++import org.openide.util.Mutex;
++ import org.openide.util.NbBundle;
++ import org.openide.util.Parameters;
++
++@@ -86,44 +88,35 @@ public final class ElementOpen {
++ public static boolean open(final ClasspathInfo cpInfo, final ElementHandle<? extends Element> el) {
++ final AtomicBoolean cancel = new AtomicBoolean();
++ if (SwingUtilities.isEventDispatchThread() && !JavaSourceAccessor.holdsParserLock()) {
++- final Object[] openInfo = new Object[3];
+++ final boolean[] result = new boolean[1];
++ ProgressUtils.runOffEventDispatchThread(new Runnable() {
++ public void run() {
++- Object[] info = getOpenInfo(cpInfo, el, cancel);
++- if (info != null) {
++- openInfo[0] = info[0];
++- openInfo[1] = info[1];
++- openInfo[2] = info[2];
++- }
+++ result[0] = open(cpInfo, el, cancel);
++ }
++ },
++ NbBundle.getMessage(ElementOpen.class, "TXT_CalculatingDeclPos"),
++ cancel,
++ false);
++- if (cancel.get()) {
++- return false;
++- }
++- if (openInfo[0] instanceof FileObject) {
++- return doOpen((FileObject)openInfo[0], (int)openInfo[1], (int)openInfo[2]);
++- }
++- return binaryOpen(cpInfo, el, cancel);
+++ return result[0];
++ } else {
++ return open(cpInfo, el, cancel);
++ }
++ }
++
++ private static boolean open(final ClasspathInfo cpInfo, final ElementHandle<? extends Element> el, AtomicBoolean cancel) {
++- Object[] openInfo = getOpenInfo(cpInfo, el, cancel);
+++ FileObject fo = SourceUtils.getFile(el, cpInfo);
+++ if (fo != null && fo.isFolder()) {
+++ fo = fo.getFileObject("package-info.java"); // NOI18N
+++ }
+++ Object[] openInfo = fo != null ? getOpenInfo(fo, el, cancel) : null;
++ if (cancel.get()) return false;
++ if (openInfo != null) {
++ assert openInfo[0] instanceof FileObject;
++ return doOpen((FileObject) openInfo[0], (int)openInfo[1], (int)openInfo[2]);
++ }
++- return binaryOpen(cpInfo, el, cancel);
++- }
++-
++- private static boolean binaryOpen(final ClasspathInfo cpInfo, final ElementHandle<? extends Element> el, AtomicBoolean cancel) {
+++
++ BinaryElementOpen beo = Lookup.getDefault().lookup(BinaryElementOpen.class);
+++
++ if (beo != null) {
++ return beo.open(cpInfo, el, cancel);
++ } else {
++@@ -156,27 +149,16 @@ public final class ElementOpen {
++ @NonNull final ElementHandle<? extends Element> toOpen) {
++ final AtomicBoolean cancel = new AtomicBoolean();
++ if (SwingUtilities.isEventDispatchThread() && !JavaSourceAccessor.holdsParserLock()) {
++- final Object[] openInfo = new Object[3];
+++ final boolean[] result = new boolean[1];
++ ProgressUtils.runOffEventDispatchThread(new Runnable() {
++ public void run() {
++- Object[] info = !isClassFile(toSearch) ? getOpenInfo (toSearch, toOpen, cancel) : null;
++- if (info != null) {
++- openInfo[0] = info[0];
++- openInfo[1] = info[1];
++- openInfo[2] = info[2];
++- }
+++ result[0] = open(toSearch, toOpen, cancel);
++ }
++ },
++ NbBundle.getMessage(ElementOpen.class, "TXT_CalculatingDeclPos"),
++ cancel,
++ false);
++- if (cancel.get()) {
++- return false;
++- }
++- if (openInfo[0] instanceof FileObject) {
++- return doOpen((FileObject)openInfo[0],(int)openInfo[1], (int)openInfo[2]);
++- }
++- return binaryOpen(toSearch, toOpen, cancel);
+++ return result[0];
++ } else {
++ return open(toSearch, toOpen, cancel);
++ }
++@@ -197,13 +179,7 @@ public final class ElementOpen {
++ assert openInfo[0] instanceof FileObject;
++ return doOpen((FileObject)openInfo[0],(int)openInfo[1], (int)openInfo[2]);
++ }
++- return binaryOpen(toSearch, toOpen, cancel);
++- }
++-
++- private static boolean binaryOpen(
++- @NonNull final FileObject toSearch,
++- @NonNull final ElementHandle<? extends Element> toOpen,
++- @NonNull final AtomicBoolean cancel) {
+++
++ boolean res = false;
++ final BinaryElementOpen beo = Lookup.getDefault().lookup(BinaryElementOpen.class);
++ if (beo != null) {
++@@ -230,14 +206,6 @@ public final class ElementOpen {
++ return FileObjects.CLASS.equals(file.getExt()) || ClassParser.MIME_TYPE.equals(file.getMIMEType(ClassParser.MIME_TYPE));
++ }
++
++- private static Object[] getOpenInfo(final ClasspathInfo cpInfo, final ElementHandle<? extends Element> el, AtomicBoolean cancel) {
++- FileObject fo = SourceUtils.getFile(el, cpInfo);
++- if (fo != null && fo.isFolder()) {
++- fo = fo.getFileObject("package-info.java"); // NOI18N
++- }
++- return fo != null ? getOpenInfo(fo, el, cancel) : null;
++- }
++-
++ private static Object[] getOpenInfo(final FileObject fo, final ElementHandle<? extends Element> handle, AtomicBoolean cancel) {
++ assert fo != null;
++
++diff --git a/java.sourceui/src/org/netbeans/api/java/source/ui/ScanDialog.java b/java.sourceui/src/org/netbeans/api/java/source/ui/ScanDialog.java
++index d34e1b1db..1a40bad8c 100644
++--- a/java.sourceui/src/org/netbeans/api/java/source/ui/ScanDialog.java
+++++ b/java.sourceui/src/org/netbeans/api/java/source/ui/ScanDialog.java
++@@ -42,8 +42,10 @@ import javax.swing.SwingUtilities;
++ import javax.swing.border.EmptyBorder;
++ import org.netbeans.api.java.platform.JavaPlatform;
++ import org.netbeans.api.java.source.ClasspathInfo;
+++import org.netbeans.api.java.source.CompilationController;
++ import org.netbeans.api.java.source.JavaSource;
++ import org.netbeans.api.java.source.SourceUtils;
+++import org.netbeans.api.java.source.Task;
++ import org.netbeans.spi.java.classpath.support.ClassPathSupport;
++ import org.openide.DialogDescriptor;
++ import org.openide.DialogDisplayer;
++@@ -122,17 +124,23 @@ public class ScanDialog {
++ ClassPathSupport.createClassPath(new URL[0]));
++ final JavaSource js = JavaSource.create(info);
++ try {
++- final Future<Void> monitor = js.runWhenScanFinished((cc) -> {
++- final Runnable r = () -> {
++- listener.close();
++- runnable.run();
+++ Future<Void> monitor = js.runWhenScanFinished(new Task<CompilationController>() {
+++ public void run(CompilationController parameter) throws Exception {
+++
+++ final Runnable r = new Runnable () {
+++ public void run () {
+++ listener.close();
+++ runnable.run();
+++ }
++ };
++ if (SwingUtilities.isEventDispatchThread()) {
++ r.run();
++- } else {
+++ }
+++ else {
++ SwingUtilities.invokeLater(r);
++ }
++- }, true);
+++ }
+++ }, true);
++ if (!monitor.isDone()) {
++ listener.start(monitor);
++ }
++diff --git a/java.sourceui/src/org/netbeans/modules/java/source/ui/AsyncJavaSymbolDescriptor.java b/java.sourceui/src/org/netbeans/modules/java/source/ui/AsyncJavaSymbolDescriptor.java
++index 2f49e51f0..999c06181 100644
++--- a/java.sourceui/src/org/netbeans/modules/java/source/ui/AsyncJavaSymbolDescriptor.java
+++++ b/java.sourceui/src/org/netbeans/modules/java/source/ui/AsyncJavaSymbolDescriptor.java
++@@ -75,7 +75,7 @@ import javax.tools.JavaFileObject;
++ import org.netbeans.api.annotations.common.NonNull;
++ import org.netbeans.api.annotations.common.NullAllowed;
++ import org.netbeans.api.java.source.ElementHandle;
++-import org.netbeans.api.project.ProjectInformation;
+++import org.netbeans.api.project.Project;
++ import org.netbeans.modules.java.source.ElementHandleAccessor;
++ import org.netbeans.modules.java.source.indexing.JavaIndex;
++ import org.netbeans.modules.java.source.parsing.CachingArchiveProvider;
++@@ -113,13 +113,13 @@ final class AsyncJavaSymbolDescriptor extends JavaSymbolDescriptorBase implement
++ private final AtomicBoolean initialized;
++
++ AsyncJavaSymbolDescriptor (
++- @NullAllowed final ProjectInformation projectInformation,
+++ @NullAllowed final Project project,
++ @NonNull final FileObject root,
++ @NonNull final ClassIndexImpl ci,
++ @NonNull final ElementHandle<TypeElement> owner,
++ @NonNull final String ident,
++ final boolean caseSensitive) {
++- super(owner, projectInformation, root, ci);
+++ super(owner, project, root, ci);
++ assert ident != null;
++ this.ident = ident;
++ this.listeners = new CopyOnWriteArrayList<>();
++@@ -233,7 +233,7 @@ final class AsyncJavaSymbolDescriptor extends JavaSymbolDescriptorBase implement
++ final ClassReader cr = ClassReader.instance(jt.getContext());
++ final Set<?> pkgs = new HashSet<>(getPackages(cr).keySet());
++ final Set<?> clzs = new HashSet<>(getClasses(cr).keySet());
++- final JavacElements elements = (JavacElements)jt.getElements();
+++ final JavacElements elements = jt.getElements();
++ final TypeElement te = (TypeElement) elements.getTypeElementByBinaryName(
++ ElementHandleAccessor.getInstance().getJVMSignature(getOwner())[0]);
++ if (te != null) {
++@@ -247,7 +247,6 @@ final class AsyncJavaSymbolDescriptor extends JavaSymbolDescriptorBase implement
++ AsyncJavaSymbolDescriptor.this,
++ simpleName,
++ simpleNameSuffix,
++- te.getQualifiedName().toString(),
++ kind,
++ modifiers,
++ me));
++@@ -264,7 +263,6 @@ final class AsyncJavaSymbolDescriptor extends JavaSymbolDescriptorBase implement
++ AsyncJavaSymbolDescriptor.this,
++ simpleName,
++ simpleNameSuffix,
++- te.getQualifiedName().toString(),
++ kind,
++ modifiers,
++ me));
++diff --git a/java.sourceui/src/org/netbeans/modules/java/source/ui/JavaSymbolDescriptorBase.java b/java.sourceui/src/org/netbeans/modules/java/source/ui/JavaSymbolDescriptorBase.java
++index fbe04b55c..3408382c3 100644
++--- a/java.sourceui/src/org/netbeans/modules/java/source/ui/JavaSymbolDescriptorBase.java
+++++ b/java.sourceui/src/org/netbeans/modules/java/source/ui/JavaSymbolDescriptorBase.java
++@@ -52,6 +52,7 @@ import org.netbeans.api.java.classpath.ClassPath;
++ import org.netbeans.api.java.source.ClasspathInfo;
++ import org.netbeans.api.java.source.ElementHandle;
++ import org.netbeans.api.java.source.SourceUtils;
+++import org.netbeans.api.project.Project;
++ import org.netbeans.api.project.ProjectInformation;
++ import org.netbeans.modules.java.source.parsing.FileObjects;
++ import org.netbeans.modules.java.source.usages.ClassIndexImpl;
++@@ -68,49 +69,40 @@ import org.openide.util.Exceptions;
++ abstract class JavaSymbolDescriptorBase extends SymbolDescriptor {
++
++ private final ElementHandle<TypeElement> owner;
++- private final ProjectInformation projectInformation;
+++ private final Project project;
++ private final FileObject root;
++ private final ClassIndexImpl ci;
++ private volatile FileObject cachedFo;
++ private volatile String cachedPath;
++- private volatile String ownerName;
++
++ JavaSymbolDescriptorBase(
++ @NonNull final ElementHandle<TypeElement> owner,
++- @NullAllowed final ProjectInformation projectInformation,
+++ @NullAllowed final Project project,
++ @NonNull final FileObject root,
++ @NonNull final ClassIndexImpl ci) {
++ assert owner != null;
++ assert root != null;
++ assert ci != null;
++ this.owner = owner;
++- this.projectInformation = projectInformation;
+++ this.project = project;
++ this.root = root;
++ this.ci = ci;
++ }
++
++ JavaSymbolDescriptorBase(
++- @NonNull final JavaSymbolDescriptorBase other,
++- @NullAllowed final String ownerName) {
+++ @NonNull final JavaSymbolDescriptorBase other) {
++ this.owner = other.owner;
++- this.projectInformation = other.projectInformation;
+++ this.project = other.project;
++ this.root = other.root;
++ this.ci = other.ci;
++ this.cachedFo = other.cachedFo;
++ this.cachedPath = other.cachedPath;
++- this.ownerName = ownerName != null ?
++- ownerName :
++- other.ownerName;
++ }
++
++ @Override
++ @NonNull
++ public final String getOwnerName() {
++- String on = ownerName;
++- if (on == null) {
++- ownerName = on = replace(owner.getBinaryName(), getSimpleName());
++- }
++- return on;
+++ return owner.getQualifiedName();
++ }
++
++ @Override
++@@ -166,17 +158,19 @@ abstract class JavaSymbolDescriptorBase extends SymbolDescriptor {
++ @Override
++ @NonNull
++ public final String getProjectName() {
++- return projectInformation == null ?
+++ final ProjectInformation info = getProjectInfo();
+++ return info == null ?
++ "" : //NOI18N
++- projectInformation.getDisplayName();
+++ info.getDisplayName();
++ }
++
++ @Override
++ @CheckForNull
++ public final Icon getProjectIcon() {
++- return projectInformation == null ?
+++ final ProjectInformation info = getProjectInfo();
+++ return info == null ?
++ null :
++- projectInformation.getIcon();
+++ info.getIcon();
++ }
++
++ @Override
++@@ -194,39 +188,11 @@ abstract class JavaSymbolDescriptorBase extends SymbolDescriptor {
++ final ElementHandle<TypeElement> getOwner() {
++ return owner;
++ }
++-
++- @NonNull
++- private static String replace(
++- @NonNull String name,
++- @NonNull final String simpleName) {
++- int upBound = name.length();
++- int pos = upBound - simpleName.length();
++- if ((pos == 0 || (pos > 0 && name.charAt(pos-1) == '$')) && //NOI18N
++- name.substring(pos).equalsIgnoreCase(simpleName)) {
++- upBound = pos;
++- }
++- int i = 1;
++- for (; i < upBound; i++) {
++- char c = name.charAt(i);
++- if (c == '$' && //NOI18N
++- name.charAt(i-1) != '.' && //NOI18N
++- i < name.length() - 1 && name.charAt(i+1) != '.') { //NOI18N
++- break;
++- }
++- }
++- if (i < upBound) {
++- final char[] data = name.toCharArray();
++- for (; i < upBound; i++) {
++- char c = name.charAt(i);
++- if (c == '$' && //NOI18N
++- name.charAt(i-1) != '.' && //NOI18N
++- i < name.length() - 1 && name.charAt(i+1) != '.') { //NOI18N
++- c = '.'; //NOI18N
++- }
++- data[i] = c;
++- }
++- name = new String(data);
++- }
++- return name;
+++
+++ @CheckForNull
+++ private ProjectInformation getProjectInfo() {
+++ return project == null ?
+++ null :
+++ project.getLookup().lookup(ProjectInformation.class); //Intentionally does not use ProjectUtils.getInformation() it does project icon annotation which is expensive
++ }
++ }
++diff --git a/java.sourceui/src/org/netbeans/modules/java/source/ui/JavaSymbolProvider.java b/java.sourceui/src/org/netbeans/modules/java/source/ui/JavaSymbolProvider.java
++index 816a67476..6007f6fe1 100644
++--- a/java.sourceui/src/org/netbeans/modules/java/source/ui/JavaSymbolProvider.java
+++++ b/java.sourceui/src/org/netbeans/modules/java/source/ui/JavaSymbolProvider.java
++@@ -76,7 +76,6 @@ import org.netbeans.api.java.source.ElementHandle;
++ import org.netbeans.api.java.source.SourceUtils;
++ import org.netbeans.api.project.FileOwnerQuery;
++ import org.netbeans.api.project.Project;
++-import org.netbeans.api.project.ProjectInformation;
++ import org.netbeans.modules.java.source.usages.ClassIndexImpl;
++ import org.netbeans.modules.java.source.usages.ClassIndexManager;
++ import org.netbeans.modules.java.source.usages.DocumentUtil;
++@@ -239,9 +238,6 @@ public class JavaSymbolProvider implements SymbolProvider {
++ }
++
++ final Project project = FileOwnerQuery.getOwner(root);
++- final ProjectInformation projectInfo = project == null ?
++- null :
++- project.getLookup().lookup(ProjectInformation.class); //Intentionally does not use ProjectUtils.getInformation() it does project icon annotation which is expensive
++ final ClassIndexImpl impl = manager.getUsagesQuery(root.toURL(), true);
++ if (impl != null) {
++ final Map<ElementHandle<TypeElement>,Set<String>> r = new HashMap<>();
++@@ -252,7 +248,7 @@ public class JavaSymbolProvider implements SymbolProvider {
++ for (String symbol : p.getValue()) {
++ if (matchesRestrictions(owner.getQualifiedName(), symbol, restriction, caseSensitive)) {
++ final AsyncJavaSymbolDescriptor d = new AsyncJavaSymbolDescriptor(
++- projectInfo,
+++ project,
++ root,
++ impl,
++ owner,
++diff --git a/java.sourceui/src/org/netbeans/modules/java/source/ui/JavaTypeDescription.java b/java.sourceui/src/org/netbeans/modules/java/source/ui/JavaTypeDescription.java
++index 96e9ef8e8..bcec880bd 100644
++--- a/java.sourceui/src/org/netbeans/modules/java/source/ui/JavaTypeDescription.java
+++++ b/java.sourceui/src/org/netbeans/modules/java/source/ui/JavaTypeDescription.java
++@@ -94,14 +94,12 @@ public class JavaTypeDescription extends TypeDescriptor {
++ JavaTypeDescription(
++ @NonNull final JavaTypeProvider.CacheItem cacheItem,
++ @NonNull final ElementHandle<TypeElement> handle,
++- @NullAllowed final String simpleName,
++ @NullAllowed final String relativePath) {
++ this.cacheItem = cacheItem;
++ this.handle = handle;
++ this.cachedRelPath = relativePath == null ?
++ PATH_FROM_HANDLE :
++ relativePath;
++- this.simpleName = simpleName;
++ init();
++ }
++
++@@ -212,10 +210,7 @@ public class JavaTypeDescription extends TypeDescriptor {
++ uri);
++ path = new File(rootFile,relativePath).getAbsolutePath();
++ } catch (IllegalArgumentException e) {
++- final FileObject rootFo = cacheItem.getRoot();
++- path = rootFo == null ?
++- "" : //NOI18N
++- FileUtil.getFileDisplayName(rootFo);
+++ path = FileUtil.getFileDisplayName(cacheItem.getRoot());
++ }
++ cachedPath = path;
++ }
++@@ -302,64 +297,29 @@ public class JavaTypeDescription extends TypeDescriptor {
++ private void init() {
++ final String typeName = this.handle.getBinaryName();
++ int lastDot = typeName.lastIndexOf('.'); // NOI18N
+++ int lastDollar = typeName.lastIndexOf('$'); // NOI18N
++ if ( lastDot == -1 ) {
++- final String[] nms = parseName(typeName,0,simpleName);
++- outerName = nms[0];
++- simpleName = nms[1];
++- } else {
++- packageName = typeName.substring(0, lastDot);
++- final String[] nms = parseName(typeName,lastDot+1,simpleName);
++- outerName = nms[0];
++- simpleName = nms[1];
++- }
++- icon = Icons.getElementIcon (handle.getKind(), null);
++- }
++-
++- @NonNull
++- private static String[] parseName(
++- @NonNull final String binaryName,
++- final int clzNameStart,
++- @NullAllowed final String simpleName) {
++- final String[] res = new String[2];
++- if (simpleName != null) {
++- res[1] = simpleName;
++- int index = binaryName.length() - simpleName.length() -1;
++- if (index > clzNameStart) {
++- res[0] = replace(binaryName.substring(clzNameStart, index));
+++ if ( lastDollar == -1 ) {
+++ simpleName = typeName;
++ }
++- } else {
++- final int lastDollar = binaryName.lastIndexOf('$'); // NOI18N
++- if (lastDollar == -1) {
++- res[1] = replace(binaryName.substring(clzNameStart));
++- } else {
++- res[1] = binaryName.substring(lastDollar + 1);
++- res[0] = replace(binaryName.substring(clzNameStart, lastDollar));
+++ else {
+++ simpleName = typeName.substring(lastDollar + 1);
+++ outerName = typeName.substring(0, lastDollar ).replace( '$', '.'); //NOI18N;
++ }
++ }
++- return res;
++- }
++-
++- @NonNull
++- private static String replace(@NonNull String name) {
++- int i = 1;
++- for (; i<name.length(); i++) {
++- char c = name.charAt(i);
++- if (c == '$') { //NOI18N
++- break;
+++ else {
+++ packageName = typeName.substring( 0, lastDot );
+++
+++ if (lastDollar < lastDot) {
+++ simpleName = typeName.substring( lastDot + 1 ).replace( '$', '.'); //NOI18N
++ }
++- }
++- if (i < name.length()) {
++- final char[] data = name.toCharArray();
++- for (; i<name.length(); i++) {
++- char c = name.charAt(i);
++- if (c == '$') { //NOI18N
++- c = '.'; //NOI18N
++- }
++- data[i] = c;
+++ else {
+++ simpleName = typeName.substring(lastDollar + 1);
+++ outerName = typeName.substring(lastDot + 1, lastDollar ).replace( '$', '.'); //NOI18N;
++ }
++- name = new String(data);
+++
++ }
++- return name;
+++ icon = Icons.getElementIcon (handle.getKind(), null);
++ }
++
++ private String getRelativePath(
++diff --git a/java.sourceui/src/org/netbeans/modules/java/source/ui/JavaTypeProvider.java b/java.sourceui/src/org/netbeans/modules/java/source/ui/JavaTypeProvider.java
++index 3b06bb7fe..2e80e8101 100644
++--- a/java.sourceui/src/org/netbeans/modules/java/source/ui/JavaTypeProvider.java
+++++ b/java.sourceui/src/org/netbeans/modules/java/source/ui/JavaTypeProvider.java
++@@ -485,10 +485,6 @@ public class JavaTypeProvider implements TypeProvider {
++ valid = true;
++ } else if (c == '.') { //NOI18N
++ sb.append(".*\\."); //NOI18N
++- } else if (c == '*') { //NOI18N
++- sb.append(".*"); //NOI18N
++- } else if (c == '?') { //NOI18N
++- sb.append(".?"); //NOI18N
++ }
++ }
++ final Pattern p;
++@@ -611,7 +607,6 @@ public class JavaTypeProvider implements TypeProvider {
++ return false;
++ }
++
++- @CheckForNull
++ public FileObject getRoot() {
++ synchronized (this) {
++ if (cachedRoot != null) {
++@@ -700,7 +695,7 @@ public class JavaTypeProvider implements TypeProvider {
++ typeName,
++ kind,
++ Collections.unmodifiableSet(Collections.<SearchScopeType>singleton(searchScope)),
++- DocumentUtil.declaredTypesFieldSelector(true, true),
+++ DocumentUtil.declaredTypesFieldSelector(true),
++ new JavaTypeDescriptionConvertor(this),
++ collector);
++ } catch (Index.IndexClosedException ice) {
++@@ -813,11 +808,7 @@ public class JavaTypeProvider implements TypeProvider {
++ }
++ final ElementHandle<TypeElement> eh = HANDLE_CONVERTOR.convert(p);
++ final String sourceName = SOURCE_CONVERTOR.convert(p);
++- return eh == null ? null : new JavaTypeDescription(
++- ci,
++- eh,
++- DocumentUtil.getSimpleName(p),
++- sourceName);
+++ return eh == null ? null : new JavaTypeDescription(ci, eh, sourceName);
++ }
++
++ }
++diff --git a/java.sourceui/src/org/netbeans/modules/java/source/ui/ResolvedJavaSymbolDescriptor.java b/java.sourceui/src/org/netbeans/modules/java/source/ui/ResolvedJavaSymbolDescriptor.java
++index 6ab1fa8f1..a8f223841 100644
++--- a/java.sourceui/src/org/netbeans/modules/java/source/ui/ResolvedJavaSymbolDescriptor.java
+++++ b/java.sourceui/src/org/netbeans/modules/java/source/ui/ResolvedJavaSymbolDescriptor.java
++@@ -70,11 +70,10 @@ final class ResolvedJavaSymbolDescriptor extends JavaSymbolDescriptorBase {
++ @NonNull final JavaSymbolDescriptorBase base,
++ @NonNull final String simpleName,
++ @NullAllowed final String simpleNameSuffix,
++- @NullAllowed final String ownerName,
++ @NonNull final ElementKind kind,
++ @NonNull final Set<Modifier> modifiers,
++ @NonNull final ElementHandle<?> me) {
++- super(base, ownerName);
+++ super(base);
++ assert simpleName != null;
++ assert kind != null;
++ assert modifiers != null;
++diff --git a/java.sourceui/src/org/netbeans/modules/java/source/ui/resources/Bundle.properties b/java.sourceui/src/org/netbeans/modules/java/source/ui/resources/Bundle.properties
++index 9fd54b8c4..fa4d4e28b 100644
++--- a/java.sourceui/src/org/netbeans/modules/java/source/ui/resources/Bundle.properties
+++++ b/java.sourceui/src/org/netbeans/modules/java/source/ui/resources/Bundle.properties
++@@ -1,40 +1,3 @@
++-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++-#
++-# Copyright (c) 2007, 2016 Oracle and/or its affiliates. All rights reserved.
++-#
++-# Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++-# Other names may be trademarks of their respective owners.
++-#
++-# The contents of this file are subject to the terms of either the GNU
++-# General Public License Version 2 only ("GPL") or the Common
++-# Development and Distribution License("CDDL") (collectively, the
++-# "License"). You may not use this file except in compliance with the
++-# License. You can obtain a copy of the License at
++-# http://www.netbeans.org/cddl-gplv2.html
++-# or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++-# specific language governing permissions and limitations under the
++-# License. When distributing the software, include this License Header
++-# Notice in each file and include the License file at
++-# nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
++-# particular file as subject to the "Classpath" exception as provided
++-# by Oracle in the GPL Version 2 section of the License file that
++-# accompanied this code. If applicable, add the following below the
++-# License Header, with the fields enclosed by brackets [] replaced by
++-# your own identifying information:
++-# "Portions Copyrighted [year] [name of copyright owner]"
++-#
++-# If you wish your version of this file to be governed by only the CDDL
++-# or only the GPL Version 2, indicate your decision by adding
++-# "[Contributor] elects to include this software in this distribution
++-# under the [CDDL or GPL Version 2] license." If you do not indicate a
++-# single choice of license, a recipient has the option to distribute
++-# your version of this file under either the CDDL, the GPL Version 2 or
++-# to extend the choice of license to its licensees as provided above.
++-# However, if you add GPL Version 2 code and therefore, elected the GPL
++-# Version 2 license, then the option applies only if the new code is
++-# made subject to such option by the copyright holder.
++-#
++-# Contributor(s):
++ OpenIDE-Module-Display-Category=Java
++ OpenIDE-Module-Long-Description=\
++ Provides various utility classes for creating Java Language specific GUI.
++diff --git a/java.sourceui/src/org/netbeans/modules/java/source/ui/resources/layer.xml b/java.sourceui/src/org/netbeans/modules/java/source/ui/resources/layer.xml
++index df1bccd61..c16a8a0fe 100644
++--- a/java.sourceui/src/org/netbeans/modules/java/source/ui/resources/layer.xml
+++++ b/java.sourceui/src/org/netbeans/modules/java/source/ui/resources/layer.xml
++@@ -1,43 +1,4 @@
++ <?xml version="1.0" encoding="UTF-8"?>
++-<!--
++-DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++-
++-Copyright (c) 2007, 2016 Oracle and/or its affiliates. All rights reserved.
++-
++-Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++-Other names may be trademarks of their respective owners.
++-
++-The contents of this file are subject to the terms of either the GNU
++-General Public License Version 2 only ("GPL") or the Common
++-Development and Distribution License("CDDL") (collectively, the
++-"License"). You may not use this file except in compliance with the
++-License. You can obtain a copy of the License at
++-http://www.netbeans.org/cddl-gplv2.html
++-or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++-specific language governing permissions and limitations under the
++-License. When distributing the software, include this License Header
++-Notice in each file and include the License file at
++-nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
++-particular file as subject to the "Classpath" exception as provided
++-by Oracle in the GPL Version 2 section of the License file that
++-accompanied this code. If applicable, add the following below the
++-License Header, with the fields enclosed by brackets [] replaced by
++-your own identifying information:
++-"Portions Copyrighted [year] [name of copyright owner]"
++-
++-If you wish your version of this file to be governed by only the CDDL
++-or only the GPL Version 2, indicate your decision by adding
++-"[Contributor] elects to include this software in this distribution
++-under the [CDDL or GPL Version 2] license." If you do not indicate a
++-single choice of license, a recipient has the option to distribute
++-your version of this file under either the CDDL, the GPL Version 2 or
++-to extend the choice of license to its licensees as provided above.
++-However, if you add GPL Version 2 code and therefore, elected the GPL
++-Version 2 license, then the option applies only if the new code is
++-made subject to such option by the copyright holder.
++-
++-Contributor(s):
++--->
++ <!DOCTYPE filesystem PUBLIC "-//NetBeans//DTD Filesystem 1.1//EN" "http://www.netbeans.org/dtds/filesystem-1_1.dtd">
++ <filesystem>
++ </filesystem>
diff --cc debian/patches/netbeans-javadoc.patch
index 0000000,0000000..acc9ff3
new file mode 100644
--- /dev/null
+++ b/debian/patches/netbeans-javadoc.patch
@@@ -1,0 -1,0 +1,741 @@@
++From: Markus Koschany <apo at debian.org>
++Date: Mon, 26 Dec 2016 01:39:20 +0100
++Subject: netbeans javadoc
++
++Ugly workaround for a FTBFS due to missing OpenJDK 9 classes. Module was
++replaced with the one from 8.1.
++
++Forwarded: not-needed
++---
++ javadoc/manifest.mf | 2 +-
++ javadoc/nbproject/project.properties | 1 -
++ javadoc/nbproject/project.xml | 26 +-
++ .../modules/javadoc/highlighting/Highlighting.java | 31 +-
++ .../netbeans/modules/javadoc/hints/Analyzer.java | 1 -
++ .../netbeans/modules/javadoc/hints/HtmlTag.java | 468 +++++++++++++++++++++
++ .../modules/javadoc/resources/javadoc-default.xml | 39 --
++ .../netbeans/modules/javadoc/search/package.html | 39 --
++ 8 files changed, 487 insertions(+), 120 deletions(-)
++ create mode 100644 javadoc/src/org/netbeans/modules/javadoc/hints/HtmlTag.java
++
++diff --git a/javadoc/manifest.mf b/javadoc/manifest.mf
++index aa4322feb..821116361 100644
++--- a/javadoc/manifest.mf
+++++ b/javadoc/manifest.mf
++@@ -1,6 +1,6 @@
++ Manifest-Version: 1.0
++ OpenIDE-Module: org.netbeans.modules.javadoc/1
++-OpenIDE-Module-Implementation-Version: 2
+++OpenIDE-Module-Specification-Version: 1.53.1
++ OpenIDE-Module-Install: org/netbeans/modules/javadoc/JavadocModule.class
++ OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javadoc/Bundle.properties
++ OpenIDE-Module-Layer: org/netbeans/modules/javadoc/resources/mf-layer.xml
++diff --git a/javadoc/nbproject/project.properties b/javadoc/nbproject/project.properties
++index 7dff114b5..c2463e20d 100644
++--- a/javadoc/nbproject/project.properties
+++++ b/javadoc/nbproject/project.properties
++@@ -46,7 +46,6 @@ javac.source=1.7
++ # requires nb.javac for compiling of tests on Mac
++ requires.nb.javac=true
++
++-spec.version.base=1.55.1
++ test.config.stableBTD.includes=\
++ **/hints/AnalyzerTest.class,\
++ **/search/*Test.class
++diff --git a/javadoc/nbproject/project.xml b/javadoc/nbproject/project.xml
++index 98c7a9a68..ab45b42ea 100644
++--- a/javadoc/nbproject/project.xml
+++++ b/javadoc/nbproject/project.xml
++@@ -76,15 +76,6 @@ made subject to such option by the copyright holder.
++ </run-dependency>
++ </dependency>
++ <dependency>
++- <code-name-base>org.netbeans.libs.javacimpl</code-name-base>
++- <build-prerequisite/>
++- <compile-dependency/>
++- <run-dependency>
++- <release-version>1</release-version>
++- <implementation-version/>
++- </run-dependency>
++- </dependency>
++- <dependency>
++ <code-name-base>org.netbeans.modules.editor.bracesmatching</code-name-base>
++ <build-prerequisite/>
++ <compile-dependency/>
++@@ -139,13 +130,6 @@ made subject to such option by the copyright holder.
++ </run-dependency>
++ </dependency>
++ <dependency>
++- <code-name-base>org.netbeans.modules.java.editor</code-name-base>
++- <run-dependency>
++- <release-version>1</release-version>
++- <specification-version>2.66</specification-version>
++- </run-dependency>
++- </dependency>
++- <dependency>
++ <code-name-base>org.netbeans.modules.java.lexer</code-name-base>
++ <build-prerequisite/>
++ <compile-dependency/>
++@@ -270,7 +254,7 @@ made subject to such option by the copyright holder.
++ </run-dependency>
++ </dependency>
++ <dependency>
++- <code-name-base>org.openide.util</code-name-base>
+++ <code-name-base>org.openide.util.ui</code-name-base>
++ <build-prerequisite/>
++ <compile-dependency/>
++ <run-dependency>
++@@ -278,19 +262,19 @@ made subject to such option by the copyright holder.
++ </run-dependency>
++ </dependency>
++ <dependency>
++- <code-name-base>org.openide.util.lookup</code-name-base>
+++ <code-name-base>org.openide.util</code-name-base>
++ <build-prerequisite/>
++ <compile-dependency/>
++ <run-dependency>
++- <specification-version>8.0</specification-version>
+++ <specification-version>9.3</specification-version>
++ </run-dependency>
++ </dependency>
++ <dependency>
++- <code-name-base>org.openide.util.ui</code-name-base>
+++ <code-name-base>org.openide.util.lookup</code-name-base>
++ <build-prerequisite/>
++ <compile-dependency/>
++ <run-dependency>
++- <specification-version>9.3</specification-version>
+++ <specification-version>8.0</specification-version>
++ </run-dependency>
++ </dependency>
++ <dependency>
++diff --git a/javadoc/src/org/netbeans/modules/javadoc/highlighting/Highlighting.java b/javadoc/src/org/netbeans/modules/javadoc/highlighting/Highlighting.java
++index cda0c50c1..71e9e1671 100644
++--- a/javadoc/src/org/netbeans/modules/javadoc/highlighting/Highlighting.java
+++++ b/javadoc/src/org/netbeans/modules/javadoc/highlighting/Highlighting.java
++@@ -80,32 +80,27 @@ public class Highlighting extends AbstractHighlightsContainer implements TokenHi
++
++ public static final String LAYER_ID = "org.netbeans.modules.javadoc.highlighting"; //NOI18N
++
++- private final AttributeSet fontColor;
+++ private AttributeSet fontColor;
++
++- private final Document document;
+++ private Document document;
++ private TokenHierarchy<? extends Document> hierarchy = null;
++ private long version = 0;
++
++ /** Creates a new instance of Highlighting */
++ public Highlighting(Document doc) {
++- AttributeSet firstLineFontColor = MimeLookup.getLookup(MimePath.get("text/x-java")).lookup(FontColorSettings.class).getTokenFontColors("javadoc-first-sentence"); //NOI18N
++- AttributeSet commentFontColor = MimeLookup.getLookup(MimePath.get("text/x-java")).lookup(FontColorSettings.class).getTokenFontColors("comment"); //NOI18N
++- if(firstLineFontColor != null && commentFontColor != null) {
++- Collection<Object> attrs = new LinkedList<Object>();
++- for (Enumeration<?> e = firstLineFontColor.getAttributeNames(); e.hasMoreElements(); ) {
++- Object key = e.nextElement();
++- Object value = firstLineFontColor.getAttribute(key);
++-
++- if (!commentFontColor.containsAttribute(key, value)) {
++- attrs.add(key);
++- attrs.add(value);
++- }
+++ AttributeSet firstLineFontColor = MimeLookup.getLookup(MimePath.get("text/x-java")).lookup(FontColorSettings.class).getTokenFontColors("javadoc-first-sentence");
+++ AttributeSet commentFontColor = MimeLookup.getLookup(MimePath.get("text/x-java")).lookup(FontColorSettings.class).getTokenFontColors("comment");
+++ Collection<Object> attrs = new LinkedList<Object>();
+++ for (Enumeration<?> e = firstLineFontColor.getAttributeNames(); e.hasMoreElements(); ) {
+++ Object key = e.nextElement();
+++ Object value = firstLineFontColor.getAttribute(key);
+++
+++ if (!commentFontColor.containsAttribute(key, value)) {
+++ attrs.add(key);
+++ attrs.add(value);
++ }
++- fontColor = AttributesUtilities.createImmutable(attrs.toArray());
++- } else {
++- fontColor = AttributesUtilities.createImmutable();
++- LOG.warning("FontColorSettings for javadoc-first-sentence or comment are not available."); //NOI18N
++ }
+++ fontColor = AttributesUtilities.createImmutable(attrs.toArray());
++ this.document = doc;
++ hierarchy = TokenHierarchy.get(document);
++ if (hierarchy != null) {
++diff --git a/javadoc/src/org/netbeans/modules/javadoc/hints/Analyzer.java b/javadoc/src/org/netbeans/modules/javadoc/hints/Analyzer.java
++index b7c2a4a37..40c0246d3 100644
++--- a/javadoc/src/org/netbeans/modules/javadoc/hints/Analyzer.java
+++++ b/javadoc/src/org/netbeans/modules/javadoc/hints/Analyzer.java
++@@ -85,7 +85,6 @@ import com.sun.source.util.DocSourcePositions;
++ import com.sun.source.util.DocTreePath;
++ import com.sun.source.util.DocTreePathScanner;
++ import com.sun.source.util.TreePath;
++-import com.sun.tools.doclint.HtmlTag;
++ import java.util.ArrayList;
++ import java.util.Collections;
++ import java.util.Deque;
++diff --git a/javadoc/src/org/netbeans/modules/javadoc/hints/HtmlTag.java b/javadoc/src/org/netbeans/modules/javadoc/hints/HtmlTag.java
++new file mode 100644
++index 000000000..302980de4
++--- /dev/null
+++++ b/javadoc/src/org/netbeans/modules/javadoc/hints/HtmlTag.java
++@@ -0,0 +1,468 @@
+++/*
+++ * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
+++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+++ *
+++ * This code is free software; you can redistribute it and/or modify it
+++ * under the terms of the GNU General Public License version 2 only, as
+++ * published by the Free Software Foundation. Oracle designates this
+++ * particular file as subject to the "Classpath" exception as provided
+++ * by Oracle in the LICENSE file that accompanied this code.
+++ *
+++ * This code is distributed in the hope that it will be useful, but WITHOUT
+++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+++ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+++ * version 2 for more details (a copy is included in the LICENSE file that
+++ * accompanied this code).
+++ *
+++ * You should have received a copy of the GNU General Public License version
+++ * 2 along with this work; if not, write to the Free Software Foundation,
+++ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+++ *
+++ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+++ * or visit www.oracle.com if you need additional information or have any
+++ * questions.
+++ */
+++
+++package org.netbeans.modules.javadoc.hints;
+++
+++import java.util.Set;
+++import java.util.Collections;
+++import java.util.EnumMap;
+++import java.util.EnumSet;
+++import java.util.HashMap;
+++import java.util.Locale;
+++import java.util.Map;
+++
+++import javax.lang.model.element.Name;
+++
+++import static org.netbeans.modules.javadoc.hints.HtmlTag.Attr.*;
+++
+++/**
+++ * Copy of com.sun.tools.doclint.HtmlTag.
+++ *
+++ * Enum representing HTML tags.
+++ *
+++ * The intent of this class is to embody the semantics of W3C HTML 4.01
+++ * to the extent supported/used by javadoc.
+++ * In time, we may wish to transition javadoc and doclint to using HTML 5.
+++ *
+++ * This is derivative of com.sun.tools.doclets.formats.html.markup.HtmlTag.
+++ * Eventually, these two should be merged back together, and possibly made
+++ * public.
+++ *
+++ * @see <a href="http://www.w3.org/TR/REC-html40/">HTML 4.01 Specification</a>
+++ * @see <a href="http://www.w3.org/TR/html5/">HTML 5 Specification</a>
+++ * @author Bhavesh Patel
+++ * @author Jonathan Gibbons (revised)
+++ */
+++public enum HtmlTag {
+++ A(BlockType.INLINE, EndKind.REQUIRED,
+++ attrs(AttrKind.OK, HREF, TARGET, NAME)),
+++
+++ B(BlockType.INLINE, EndKind.REQUIRED,
+++ EnumSet.of(Flag.EXPECT_CONTENT, Flag.NO_NEST)),
+++
+++ BIG(BlockType.INLINE, EndKind.REQUIRED,
+++ EnumSet.of(Flag.EXPECT_CONTENT)),
+++
+++ BLOCKQUOTE(BlockType.BLOCK, EndKind.REQUIRED,
+++ EnumSet.of(Flag.ACCEPTS_BLOCK, Flag.ACCEPTS_INLINE)),
+++
+++ BODY(BlockType.OTHER, EndKind.REQUIRED),
+++
+++ BR(BlockType.INLINE, EndKind.NONE,
+++ attrs(AttrKind.USE_CSS, CLEAR)),
+++
+++ CAPTION(BlockType.TABLE_ITEM, EndKind.REQUIRED,
+++ EnumSet.of(Flag.ACCEPTS_INLINE, Flag.EXPECT_CONTENT)),
+++
+++ CENTER(BlockType.BLOCK, EndKind.REQUIRED,
+++ EnumSet.of(Flag.ACCEPTS_BLOCK, Flag.ACCEPTS_INLINE)),
+++
+++ CITE(BlockType.INLINE, EndKind.REQUIRED,
+++ EnumSet.of(Flag.EXPECT_CONTENT, Flag.NO_NEST)),
+++
+++ CODE(BlockType.INLINE, EndKind.REQUIRED,
+++ EnumSet.of(Flag.EXPECT_CONTENT, Flag.NO_NEST)),
+++
+++ DD(BlockType.LIST_ITEM, EndKind.OPTIONAL,
+++ EnumSet.of(Flag.ACCEPTS_BLOCK, Flag.ACCEPTS_INLINE, Flag.EXPECT_CONTENT)),
+++
+++ DFN(BlockType.INLINE, EndKind.REQUIRED,
+++ EnumSet.of(Flag.EXPECT_CONTENT, Flag.NO_NEST)),
+++
+++ DIV(BlockType.BLOCK, EndKind.REQUIRED,
+++ EnumSet.of(Flag.ACCEPTS_BLOCK, Flag.ACCEPTS_INLINE)),
+++
+++ DL(BlockType.BLOCK, EndKind.REQUIRED,
+++ EnumSet.of(Flag.EXPECT_CONTENT),
+++ attrs(AttrKind.USE_CSS, COMPACT)) {
+++ @Override
+++ public boolean accepts(HtmlTag t) {
+++ return (t == DT) || (t == DD);
+++ }
+++ },
+++
+++ DT(BlockType.LIST_ITEM, EndKind.OPTIONAL,
+++ EnumSet.of(Flag.ACCEPTS_INLINE, Flag.EXPECT_CONTENT)),
+++
+++ EM(BlockType.INLINE, EndKind.REQUIRED,
+++ EnumSet.of(Flag.NO_NEST)),
+++
+++ FONT(BlockType.INLINE, EndKind.REQUIRED, // tag itself is deprecated
+++ EnumSet.of(Flag.EXPECT_CONTENT),
+++ attrs(AttrKind.USE_CSS, SIZE, COLOR, FACE)),
+++
+++ FRAME(BlockType.OTHER, EndKind.NONE),
+++
+++ FRAMESET(BlockType.OTHER, EndKind.REQUIRED),
+++
+++ H1(BlockType.BLOCK, EndKind.REQUIRED),
+++ H2(BlockType.BLOCK, EndKind.REQUIRED),
+++ H3(BlockType.BLOCK, EndKind.REQUIRED),
+++ H4(BlockType.BLOCK, EndKind.REQUIRED),
+++ H5(BlockType.BLOCK, EndKind.REQUIRED),
+++ H6(BlockType.BLOCK, EndKind.REQUIRED),
+++
+++ HEAD(BlockType.OTHER, EndKind.REQUIRED),
+++
+++ HR(BlockType.BLOCK, EndKind.NONE,
+++ attrs(AttrKind.OK, WIDTH)), // OK in 4.01; not allowed in 5
+++
+++ HTML(BlockType.OTHER, EndKind.REQUIRED),
+++
+++ I(BlockType.INLINE, EndKind.REQUIRED,
+++ EnumSet.of(Flag.EXPECT_CONTENT, Flag.NO_NEST)),
+++
+++ IMG(BlockType.INLINE, EndKind.NONE,
+++ attrs(AttrKind.OK, SRC, ALT, HEIGHT, WIDTH),
+++ attrs(AttrKind.OBSOLETE, NAME),
+++ attrs(AttrKind.USE_CSS, ALIGN, HSPACE, VSPACE, BORDER)),
+++
+++ LI(BlockType.LIST_ITEM, EndKind.OPTIONAL,
+++ EnumSet.of(Flag.ACCEPTS_BLOCK, Flag.ACCEPTS_INLINE),
+++ attrs(AttrKind.OK, VALUE)),
+++
+++ LINK(BlockType.OTHER, EndKind.NONE),
+++
+++ MENU(BlockType.BLOCK, EndKind.REQUIRED) {
+++ @Override
+++ public boolean accepts(HtmlTag t) {
+++ return (t == LI);
+++ }
+++ },
+++
+++ META(BlockType.OTHER, EndKind.NONE),
+++
+++ NOFRAMES(BlockType.OTHER, EndKind.REQUIRED),
+++
+++ NOSCRIPT(BlockType.BLOCK, EndKind.REQUIRED),
+++
+++ OL(BlockType.BLOCK, EndKind.REQUIRED,
+++ EnumSet.of(Flag.EXPECT_CONTENT),
+++ attrs(AttrKind.OK, START, TYPE)) {
+++ @Override
+++ public boolean accepts(HtmlTag t) {
+++ return (t == LI);
+++ }
+++ },
+++
+++ P(BlockType.BLOCK, EndKind.OPTIONAL,
+++ EnumSet.of(Flag.EXPECT_CONTENT),
+++ attrs(AttrKind.USE_CSS, ALIGN)),
+++
+++ PRE(BlockType.BLOCK, EndKind.REQUIRED,
+++ EnumSet.of(Flag.EXPECT_CONTENT)) {
+++ @Override
+++ public boolean accepts(HtmlTag t) {
+++ switch (t) {
+++ case IMG: case BIG: case SMALL: case SUB: case SUP:
+++ return false;
+++ default:
+++ return (t.blockType == BlockType.INLINE);
+++ }
+++ }
+++ },
+++
+++ SCRIPT(BlockType.OTHER, EndKind.REQUIRED),
+++
+++ SMALL(BlockType.INLINE, EndKind.REQUIRED,
+++ EnumSet.of(Flag.EXPECT_CONTENT)),
+++
+++ SPAN(BlockType.INLINE, EndKind.REQUIRED,
+++ EnumSet.of(Flag.EXPECT_CONTENT)),
+++
+++ STRONG(BlockType.INLINE, EndKind.REQUIRED,
+++ EnumSet.of(Flag.EXPECT_CONTENT)),
+++
+++ SUB(BlockType.INLINE, EndKind.REQUIRED,
+++ EnumSet.of(Flag.EXPECT_CONTENT, Flag.NO_NEST)),
+++
+++ SUP(BlockType.INLINE, EndKind.REQUIRED,
+++ EnumSet.of(Flag.EXPECT_CONTENT, Flag.NO_NEST)),
+++
+++ TABLE(BlockType.BLOCK, EndKind.REQUIRED,
+++ EnumSet.of(Flag.EXPECT_CONTENT),
+++ attrs(AttrKind.OK, SUMMARY, Attr.FRAME, RULES, BORDER,
+++ CELLPADDING, CELLSPACING, WIDTH), // width OK in 4.01; not allowed in 5
+++ attrs(AttrKind.USE_CSS, ALIGN, BGCOLOR)) {
+++ @Override
+++ public boolean accepts(HtmlTag t) {
+++ switch (t) {
+++ case CAPTION:
+++ case THEAD: case TBODY: case TFOOT:
+++ case TR: // HTML 3.2
+++ return true;
+++ default:
+++ return false;
+++ }
+++ }
+++ },
+++
+++ TBODY(BlockType.TABLE_ITEM, EndKind.REQUIRED,
+++ EnumSet.of(Flag.EXPECT_CONTENT),
+++ attrs(AttrKind.OK, ALIGN, CHAR, CHAROFF, VALIGN)) {
+++ @Override
+++ public boolean accepts(HtmlTag t) {
+++ return (t == TR);
+++ }
+++ },
+++
+++ TD(BlockType.TABLE_ITEM, EndKind.OPTIONAL,
+++ EnumSet.of(Flag.ACCEPTS_BLOCK, Flag.ACCEPTS_INLINE),
+++ attrs(AttrKind.OK, COLSPAN, ROWSPAN, HEADERS, SCOPE, ABBR, AXIS,
+++ ALIGN, CHAR, CHAROFF, VALIGN),
+++ attrs(AttrKind.USE_CSS, WIDTH, BGCOLOR, HEIGHT, NOWRAP)),
+++
+++ TFOOT(BlockType.TABLE_ITEM, EndKind.REQUIRED,
+++ attrs(AttrKind.OK, ALIGN, CHAR, CHAROFF, VALIGN)) {
+++ @Override
+++ public boolean accepts(HtmlTag t) {
+++ return (t == TR);
+++ }
+++ },
+++
+++ TH(BlockType.TABLE_ITEM, EndKind.OPTIONAL,
+++ EnumSet.of(Flag.ACCEPTS_BLOCK, Flag.ACCEPTS_INLINE),
+++ attrs(AttrKind.OK, COLSPAN, ROWSPAN, HEADERS, SCOPE, ABBR, AXIS,
+++ ALIGN, CHAR, CHAROFF, VALIGN),
+++ attrs(AttrKind.USE_CSS, WIDTH, BGCOLOR, HEIGHT, NOWRAP)),
+++
+++ THEAD(BlockType.TABLE_ITEM, EndKind.REQUIRED,
+++ attrs(AttrKind.OK, ALIGN, CHAR, CHAROFF, VALIGN)) {
+++ @Override
+++ public boolean accepts(HtmlTag t) {
+++ return (t == TR);
+++ }
+++ },
+++
+++ TITLE(BlockType.OTHER, EndKind.REQUIRED),
+++
+++ TR(BlockType.TABLE_ITEM, EndKind.OPTIONAL,
+++ attrs(AttrKind.OK, ALIGN, CHAR, CHAROFF, VALIGN),
+++ attrs(AttrKind.USE_CSS, BGCOLOR)) {
+++ @Override
+++ public boolean accepts(HtmlTag t) {
+++ return (t == TH) || (t == TD);
+++ }
+++ },
+++
+++ TT(BlockType.INLINE, EndKind.REQUIRED,
+++ EnumSet.of(Flag.EXPECT_CONTENT, Flag.NO_NEST)),
+++
+++ U(BlockType.INLINE, EndKind.REQUIRED,
+++ EnumSet.of(Flag.EXPECT_CONTENT, Flag.NO_NEST)),
+++
+++ UL(BlockType.BLOCK, EndKind.REQUIRED,
+++ EnumSet.of(Flag.EXPECT_CONTENT),
+++ attrs(AttrKind.OK, COMPACT, TYPE)) { // OK in 4.01; not allowed in 5
+++ @Override
+++ public boolean accepts(HtmlTag t) {
+++ return (t == LI);
+++ }
+++ },
+++
+++ VAR(BlockType.INLINE, EndKind.REQUIRED);
+++
+++ /**
+++ * Enum representing the type of HTML element.
+++ */
+++ public static enum BlockType {
+++ BLOCK,
+++ INLINE,
+++ LIST_ITEM,
+++ TABLE_ITEM,
+++ OTHER;
+++ }
+++
+++ /**
+++ * Enum representing HTML end tag requirement.
+++ */
+++ public static enum EndKind {
+++ NONE,
+++ OPTIONAL,
+++ REQUIRED;
+++ }
+++
+++ public static enum Flag {
+++ ACCEPTS_BLOCK,
+++ ACCEPTS_INLINE,
+++ EXPECT_CONTENT,
+++ NO_NEST
+++ }
+++
+++ public static enum Attr {
+++ ABBR,
+++ ALIGN,
+++ ALT,
+++ AXIS,
+++ BGCOLOR,
+++ BORDER,
+++ CELLSPACING,
+++ CELLPADDING,
+++ CHAR,
+++ CHAROFF,
+++ CLEAR,
+++ CLASS,
+++ COLOR,
+++ COLSPAN,
+++ COMPACT,
+++ FACE,
+++ FRAME,
+++ HEADERS,
+++ HEIGHT,
+++ HREF,
+++ HSPACE,
+++ ID,
+++ NAME,
+++ NOWRAP,
+++ REVERSED,
+++ ROWSPAN,
+++ RULES,
+++ SCOPE,
+++ SIZE,
+++ SPACE,
+++ SRC,
+++ START,
+++ STYLE,
+++ SUMMARY,
+++ TARGET,
+++ TYPE,
+++ VALIGN,
+++ VALUE,
+++ VSPACE,
+++ WIDTH;
+++
+++ public String getText() {
+++ return toLowerCase(name());
+++ }
+++
+++ static final Map<String,Attr> index = new HashMap<String,Attr>();
+++ static {
+++ for (Attr t: values()) {
+++ index.put(t.getText(), t);
+++ }
+++ }
+++ }
+++
+++ public static enum AttrKind {
+++ INVALID,
+++ OBSOLETE,
+++ USE_CSS,
+++ OK
+++ }
+++
+++ // This class exists to avoid warnings from using parameterized vararg type
+++ // Map<Attr,AttrKind> in signature of HtmlTag constructor.
+++ private static class AttrMap extends EnumMap<Attr,AttrKind> {
+++ private static final long serialVersionUID = 0;
+++ AttrMap() {
+++ super(Attr.class);
+++ }
+++ }
+++
+++
+++ public final BlockType blockType;
+++ public final EndKind endKind;
+++ public final Set<Flag> flags;
+++ private final Map<Attr,AttrKind> attrs;
+++
+++ HtmlTag(BlockType blockType, EndKind endKind, AttrMap... attrMaps) {
+++ this(blockType, endKind, Collections.<Flag>emptySet(), attrMaps);
+++ }
+++
+++ HtmlTag(BlockType blockType, EndKind endKind, Set<Flag> flags, AttrMap... attrMaps) {
+++ this.blockType = blockType;
+++ this.endKind = endKind;
+++ this.flags = flags;
+++ this.attrs = new EnumMap<Attr,AttrKind>(Attr.class);
+++ for (Map<Attr,AttrKind> m: attrMaps)
+++ this.attrs.putAll(m);
+++ attrs.put(Attr.CLASS, AttrKind.OK);
+++ attrs.put(Attr.ID, AttrKind.OK);
+++ attrs.put(Attr.STYLE, AttrKind.OK);
+++ }
+++
+++ public boolean accepts(HtmlTag t) {
+++ if (flags.contains(Flag.ACCEPTS_BLOCK) && flags.contains(Flag.ACCEPTS_INLINE)) {
+++ return (t.blockType == BlockType.BLOCK) || (t.blockType == BlockType.INLINE);
+++ } else if (flags.contains(Flag.ACCEPTS_BLOCK)) {
+++ return (t.blockType == BlockType.BLOCK);
+++ } else if (flags.contains(Flag.ACCEPTS_INLINE)) {
+++ return (t.blockType == BlockType.INLINE);
+++ } else
+++ switch (blockType) {
+++ case BLOCK:
+++ case INLINE:
+++ return (t.blockType == BlockType.INLINE);
+++ case OTHER:
+++ // OTHER tags are invalid in doc comments, and will be
+++ // reported separately, so silently accept/ignore any content
+++ return true;
+++ default:
+++ // any combination which could otherwise arrive here
+++ // ought to have been handled in an overriding method
+++ throw new AssertionError(this + ":" + t);
+++ }
+++ }
+++
+++ public boolean acceptsText() {
+++ // generally, anywhere we can put text we can also put inline tag
+++ // so check if a typical inline tag is allowed
+++ return accepts(B);
+++ }
+++
+++ public String getText() {
+++ return toLowerCase(name());
+++ }
+++
+++ public Attr getAttr(Name attrName) {
+++ return Attr.index.get(toLowerCase(attrName.toString()));
+++ }
+++
+++ public AttrKind getAttrKind(Name attrName) {
+++ AttrKind k = attrs.get(getAttr(attrName)); // null-safe
+++ return (k == null) ? AttrKind.INVALID : k;
+++ }
+++
+++ private static AttrMap attrs(AttrKind k, Attr... attrs) {
+++ AttrMap map = new AttrMap();
+++ for (Attr a: attrs) map.put(a, k);
+++ return map;
+++ }
+++
+++ private static final Map<String,HtmlTag> index = new HashMap<String,HtmlTag>();
+++ static {
+++ for (HtmlTag t: values()) {
+++ index.put(t.getText(), t);
+++ }
+++ }
+++
+++ static HtmlTag get(Name tagName) {
+++ return index.get(toLowerCase(tagName.toString()));
+++ }
+++
+++ private static String toLowerCase(String s) {
+++ return s.toLowerCase(Locale.US);
+++ }
+++}
++diff --git a/javadoc/src/org/netbeans/modules/javadoc/resources/javadoc-default.xml b/javadoc/src/org/netbeans/modules/javadoc/resources/javadoc-default.xml
++index e2dc93796..491724c40 100644
++--- a/javadoc/src/org/netbeans/modules/javadoc/resources/javadoc-default.xml
+++++ b/javadoc/src/org/netbeans/modules/javadoc/resources/javadoc-default.xml
++@@ -1,42 +1,3 @@
++-<!--
++-DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++-
++-Copyright (c) 2002, 2016 Oracle and/or its affiliates. All rights reserved.
++-
++-Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++-Other names may be trademarks of their respective owners.
++-
++-The contents of this file are subject to the terms of either the GNU
++-General Public License Version 2 only ("GPL") or the Common
++-Development and Distribution License("CDDL") (collectively, the
++-"License"). You may not use this file except in compliance with the
++-License. You can obtain a copy of the License at
++-http://www.netbeans.org/cddl-gplv2.html
++-or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++-specific language governing permissions and limitations under the
++-License. When distributing the software, include this License Header
++-Notice in each file and include the License file at
++-nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
++-particular file as subject to the "Classpath" exception as provided
++-by Oracle in the GPL Version 2 section of the License file that
++-accompanied this code. If applicable, add the following below the
++-License Header, with the fields enclosed by brackets [] replaced by
++-your own identifying information:
++-"Portions Copyrighted [year] [name of copyright owner]"
++-
++-If you wish your version of this file to be governed by only the CDDL
++-or only the GPL Version 2, indicate your decision by adding
++-"[Contributor] elects to include this software in this distribution
++-under the [CDDL or GPL Version 2] license." If you do not indicate a
++-single choice of license, a recipient has the option to distribute
++-your version of this file under either the CDDL, the GPL Version 2 or
++-to extend the choice of license to its licensees as provided above.
++-However, if you add GPL Version 2 code and therefore, elected the GPL
++-Version 2 license, then the option applies only if the new code is
++-made subject to such option by the copyright holder.
++-
++-Contributor(s):
++--->
++ <!DOCTYPE Javadoc PUBLIC "-//NetBeans IDE//DTD JavadocLibrary//EN" "http://www.netbeans.org/dtds/JavadocLibrary-1_0.dtd">
++ <Javadoc>
++ <Folder name="javadoc"/>
++diff --git a/javadoc/src/org/netbeans/modules/javadoc/search/package.html b/javadoc/src/org/netbeans/modules/javadoc/search/package.html
++index 726497423..252eaf5c2 100644
++--- a/javadoc/src/org/netbeans/modules/javadoc/search/package.html
+++++ b/javadoc/src/org/netbeans/modules/javadoc/search/package.html
++@@ -1,42 +1,3 @@
++-<!--
++-DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++-
++-Copyright (c) 2003, 2016 Oracle and/or its affiliates. All rights reserved.
++-
++-Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++-Other names may be trademarks of their respective owners.
++-
++-The contents of this file are subject to the terms of either the GNU
++-General Public License Version 2 only ("GPL") or the Common
++-Development and Distribution License("CDDL") (collectively, the
++-"License"). You may not use this file except in compliance with the
++-License. You can obtain a copy of the License at
++-http://www.netbeans.org/cddl-gplv2.html
++-or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++-specific language governing permissions and limitations under the
++-License. When distributing the software, include this License Header
++-Notice in each file and include the License file at
++-nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
++-particular file as subject to the "Classpath" exception as provided
++-by Oracle in the GPL Version 2 section of the License file that
++-accompanied this code. If applicable, add the following below the
++-License Header, with the fields enclosed by brackets [] replaced by
++-your own identifying information:
++-"Portions Copyrighted [year] [name of copyright owner]"
++-
++-If you wish your version of this file to be governed by only the CDDL
++-or only the GPL Version 2, indicate your decision by adding
++-"[Contributor] elects to include this software in this distribution
++-under the [CDDL or GPL Version 2] license." If you do not indicate a
++-single choice of license, a recipient has the option to distribute
++-your version of this file under either the CDDL, the GPL Version 2 or
++-to extend the choice of license to its licensees as provided above.
++-However, if you add GPL Version 2 code and therefore, elected the GPL
++-Version 2 license, then the option applies only if the new code is
++-made subject to such option by the copyright holder.
++-
++-Contributor(s):
++--->
++ <h2>Search JavaDoc Package</h2>
++
++ <h3>Entry Points</h3>
diff --cc debian/patches/netbeans-refactoring-java.patch
index 0000000,0000000..360497b
new file mode 100644
--- /dev/null
+++ b/debian/patches/netbeans-refactoring-java.patch
@@@ -1,0 -1,0 +1,4854 @@@
++From: Markus Koschany <apo at debian.org>
++Date: Sun, 25 Dec 2016 23:15:35 +0100
++Subject: netbeans refactoring java
++
++Ugly workaround for a FTBFS due to missing OpenJDK 9 classes. Module was
++replaced with the one from 8.1.
++
++Forwarded: not-needed
++---
++ .../org-netbeans-modules-refactoring-java.sig | 9 +-
++ refactoring.java/nbproject/project.properties | 41 +---
++ refactoring.java/nbproject/project.xml | 43 +----
++ .../modules/refactoring/java/RefactoringUtils.java | 20 +-
++ .../modules/refactoring/java/WhereUsedElement.java | 2 +-
++ .../java/api/InvertBooleanRefactoring.java | 9 +-
++ .../modules/refactoring/java/api/MemberInfo.java | 3 -
++ .../ReplaceConstructorWithFactoryRefactoring.java | 9 +-
++ .../refactoring/java/callhierarchy/Call.java | 4 +-
++ .../java/callhierarchy/CallHierarchyTasks.java | 9 +-
++ .../callhierarchy/CallHierarchyTopComponent.form | 16 +-
++ .../callhierarchy/CallHierarchyTopComponent.java | 8 +-
++ .../java/callhierarchy/CallOccurrence.java | 6 +-
++ .../refactoring/java/plugins/Bundle.properties | 1 +
++ .../java/plugins/ChangeParametersPlugin.java | 12 +-
++ .../java/plugins/ChangeParamsTransformer.java | 61 +++---
++ .../java/plugins/CopyClassesRefactoringPlugin.java | 2 +-
++ .../plugins/EncapsulateFieldRefactoringPlugin.java | 32 ++-
++ .../java/plugins/EncapsulateFieldsPlugin.java | 3 +-
++ .../ExtractSuperclassRefactoringPlugin.java | 124 ++++++------
++ .../java/plugins/FindSubtypesVisitor.java | 2 +-
++ .../java/plugins/FindUsagesVisitor.java | 2 +-
++ .../java/plugins/InlineMethodTransformer.java | 36 ++--
++ .../java/plugins/InlineRefactoringPlugin.java | 11 +-
++ .../java/plugins/InnerToOuterTransformer.java | 41 +---
++ .../java/plugins/InstantRefactoringPerformer.java | 6 +-
++ .../IntroduceLocalExtensionTransformer.java | 53 +++--
++ .../java/plugins/IntroduceParameterPlugin.java | 46 ++---
++ .../plugins/InvertBooleanRefactoringPlugin.java | 11 +-
++ .../refactoring/java/plugins/JavaPluginUtils.java | 6 -
++ .../java/plugins/JavaWhereUsedQueryPlugin.java | 214 +++++++++++----------
++ .../java/plugins/MoveClassTransformer.java | 2 +-
++ .../java/plugins/MoveFileRefactoringPlugin.java | 13 +-
++ .../java/plugins/MoveMembersTransformer.java | 48 ++---
++ .../refactoring/java/plugins/MoveTransformer.java | 2 +-
++ .../java/plugins/OperatorPrecedence.java | 2 +-
++ .../java/plugins/PullUpTransformer.java | 4 +-
++ .../java/plugins/PushDownTransformer.java | 15 +-
++ .../plugins/RenamePropertyRefactoringPlugin.java | 92 +++------
++ .../java/plugins/RenameRefactoringPlugin.java | 8 +-
++ .../java/plugins/RenameTransformer.java | 7 +-
++ .../ReplaceConstructorWithBuilderPlugin.java | 26 +--
++ .../ReplaceConstructorWithFactoryPlugin.java | 18 +-
++ .../refactoring/java/plugins/VarUsageVisitor.java | 5 +-
++ .../refactoring/java/resources/mf-layer.xml | 4 +-
++ .../refactoring/java/ui/ChangeParametersPanel.form | 11 +-
++ .../refactoring/java/ui/ChangeParametersPanel.java | 58 ++----
++ .../refactoring/java/ui/ChangeParametersUI.java | 2 +-
++ .../refactoring/java/ui/ContextAnalyzer.java | 2 +-
++ .../refactoring/java/ui/EncapsulateFieldPanel.java | 33 +---
++ .../refactoring/java/ui/EncapsulateFieldUI.java | 147 +++++++-------
++ .../refactoring/java/ui/InlineRefactoringUI.java | 11 +-
++ .../java/ui/IntroduceParameterPanel.java | 25 +--
++ .../refactoring/java/ui/InvertBooleanAction.java | 12 +-
++ .../java/ui/InvertBooleanRefactoringPanel.java | 9 +-
++ .../java/ui/InvertBooleanRefactoringUI.java | 12 +-
++ .../java/ui/JavaRefactoringActionsProvider.java | 23 +--
++ .../refactoring/java/ui/JavaRenameProperties.java | 9 -
++ .../refactoring/java/ui/MoveMembersPanel.java | 40 ++--
++ .../java/ui/RefactoringActionsProvider.java | 11 +-
++ .../ui/ReplaceConstructorWithBuilderAction.java | 4 +-
++ .../java/ui/ReplaceConstructorWithBuilderUI.java | 2 +-
++ .../ui/ReplaceConstructorWithFactoryAction.java | 12 +-
++ .../ui/ReplaceConstructorWithFactoryPanel.java | 9 +-
++ .../java/ui/ReplaceConstructorWithFactoryUI.java | 11 +-
++ .../modules/refactoring/java/ui/UIUtilities.java | 14 --
++ .../refactoring/java/ui/WhereUsedPanelClass.form | 4 +-
++ .../refactoring/java/ui/WhereUsedPanelClass.java | 2 +-
++ .../refactoring/java/ui/WhereUsedPanelMethod.form | 4 +-
++ .../refactoring/java/ui/WhereUsedPanelMethod.java | 2 +-
++ .../refactoring/java/ui/WhereUsedPanelPackage.form | 4 +-
++ .../refactoring/java/ui/WhereUsedPanelPackage.java | 2 +-
++ .../java/ui/WhereUsedPanelVariable.form | 4 +-
++ .../java/ui/WhereUsedPanelVariable.java | 2 +-
++ .../refactoring/java/ui/WhereUsedQueryUI.java | 3 +-
++ .../RefactoringTest/nbproject/build-impl.xml | 2 +-
++ .../refactoring/ConvertAnonymousToMemberTest.java | 126 ++++++++++++
++ .../test/refactoring/EncapsulateFieldTest.java | 42 ++++
++ .../operators/EncapsulateFieldOperator.java | 40 ++++
++ .../data/SimpleJ2SEApp/nbproject/build-impl.xml | 2 +-
++ .../SimpleJ2SEAppChild/nbproject/build-impl.xml | 2 +-
++ .../java/test/ChangeParametersTest.java | 86 ---------
++ .../refactoring/java/test/CopyClassTest.java | 9 +-
++ .../refactoring/java/test/FindUsagesPerfTest.java | 3 +-
++ .../modules/refactoring/java/test/InlineTest.java | 56 +-----
++ .../refactoring/java/test/InnerToOutterTest.java | 53 +----
++ .../java/test/IntroduceLocalExtensionTest.java | 119 +++---------
++ .../java/test/IntroduceParameterTest.java | 39 ----
++ .../java/test/{MoveBase.java => MoveBaseTest.java} | 4 +-
++ .../refactoring/java/test/MoveClassTest.java | 2 +-
++ .../refactoring/java/test/MoveFieldTest.java | 2 +-
++ .../refactoring/java/test/MoveJavaFileTest.java | 2 +-
++ .../refactoring/java/test/MoveMethodTest.java | 2 +-
++ .../modules/refactoring/java/test/RefTestBase.java | 9 +-
++ .../refactoring/java/test/RefactoringTestBase.java | 9 +-
++ .../modules/refactoring/java/test/RenameTest.java | 27 ---
++ .../test/ReplaceConstructorWithBuilderTest.java | 9 +-
++ .../test/ReplaceConstructorWithFactoryTest.java | 9 +-
++ 98 files changed, 860 insertions(+), 1366 deletions(-)
++ rename refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/{MoveBase.java => MoveBaseTest.java} (99%)
++
++diff --git a/refactoring.java/nbproject/org-netbeans-modules-refactoring-java.sig b/refactoring.java/nbproject/org-netbeans-modules-refactoring-java.sig
++index 817bd6df0..829e8a633 100644
++--- a/refactoring.java/nbproject/org-netbeans-modules-refactoring-java.sig
+++++ b/refactoring.java/nbproject/org-netbeans-modules-refactoring-java.sig
++@@ -1,5 +1,5 @@
++ #Signature file v4.1
++-#Version 1.57.1
+++#Version 1.51.0
++
++ CLSS public abstract interface com.sun.source.doctree.DocTreeVisitor<%0 extends java.lang.Object, %1 extends java.lang.Object>
++ meth public abstract {com.sun.source.doctree.DocTreeVisitor%0} visitAttribute(com.sun.source.doctree.AttributeTree,{com.sun.source.doctree.DocTreeVisitor%1})
++@@ -639,7 +639,6 @@ meth protected final org.netbeans.modules.refactoring.api.Problem createAndAddEl
++ meth protected final org.netbeans.modules.refactoring.api.Problem createAndAddElements(java.util.Set<org.openide.filesystems.FileObject>,org.netbeans.api.java.source.CancellableTask<org.netbeans.api.java.source.WorkingCopy>,org.netbeans.modules.refactoring.spi.RefactoringElementsBag,org.netbeans.modules.refactoring.api.AbstractRefactoring,org.netbeans.api.java.source.ClasspathInfo)
++ meth protected final org.netbeans.modules.refactoring.api.Problem createProblemAndLog(org.netbeans.modules.refactoring.api.Problem,java.lang.Throwable)
++ meth protected final void queryFiles(java.util.Set<org.openide.filesystems.FileObject>,org.netbeans.api.java.source.CancellableTask<? extends org.netbeans.api.java.source.CompilationController>) throws java.io.IOException
++-meth protected final void queryFiles(java.util.Set<org.openide.filesystems.FileObject>,org.netbeans.api.java.source.CancellableTask<? extends org.netbeans.api.java.source.CompilationController>,org.netbeans.api.java.source.ClasspathInfo) throws java.io.IOException
++ meth protected org.netbeans.api.java.source.ClasspathInfo getClasspathInfo(org.netbeans.modules.refactoring.api.AbstractRefactoring)
++ meth protected org.netbeans.modules.refactoring.api.Problem checkParameters(org.netbeans.api.java.source.CompilationController) throws java.io.IOException
++ meth protected org.netbeans.modules.refactoring.api.Problem fastCheckParameters(org.netbeans.api.java.source.CompilationController) throws java.io.IOException
++@@ -653,7 +652,7 @@ meth public static org.netbeans.modules.refactoring.spi.Transaction createTransa
++ anno 1 org.netbeans.api.annotations.common.NonNull()
++ meth public void cancelRequest()
++ supr org.netbeans.modules.refactoring.spi.ProgressProviderAdapter
++-hfds EMPTY_PATH,currentTask,workingTask
+++hfds currentTask,workingTask
++ hcls WorkingTask
++
++ CLSS protected final static !enum org.netbeans.modules.refactoring.java.spi.JavaRefactoringPlugin$Phase
++@@ -676,12 +675,8 @@ supr java.lang.Object
++ hfds treePathHandle,visitor
++
++ CLSS public final !enum org.netbeans.modules.refactoring.java.spi.JavaWhereUsedFilters
++-fld public final static org.netbeans.modules.refactoring.java.spi.JavaWhereUsedFilters BINARYFILE
++ fld public final static org.netbeans.modules.refactoring.java.spi.JavaWhereUsedFilters COMMENT
++-fld public final static org.netbeans.modules.refactoring.java.spi.JavaWhereUsedFilters DEPENDENCY
++ fld public final static org.netbeans.modules.refactoring.java.spi.JavaWhereUsedFilters IMPORT
++-fld public final static org.netbeans.modules.refactoring.java.spi.JavaWhereUsedFilters PLATFORM
++-fld public final static org.netbeans.modules.refactoring.java.spi.JavaWhereUsedFilters SOURCEFILE
++ fld public final static org.netbeans.modules.refactoring.java.spi.JavaWhereUsedFilters TESTFILE
++ innr public final static !enum ReadWrite
++ meth public java.lang.String getKey()
++diff --git a/refactoring.java/nbproject/project.properties b/refactoring.java/nbproject/project.properties
++index c386d7dc6..8544507bf 100644
++--- a/refactoring.java/nbproject/project.properties
+++++ b/refactoring.java/nbproject/project.properties
++@@ -1,45 +1,8 @@
++-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++-#
++-# Copyright (c) 2006, 2016 Oracle and/or its affiliates. All rights reserved.
++-#
++-# Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++-# Other names may be trademarks of their respective owners.
++-#
++-# The contents of this file are subject to the terms of either the GNU
++-# General Public License Version 2 only ("GPL") or the Common
++-# Development and Distribution License("CDDL") (collectively, the
++-# "License"). You may not use this file except in compliance with the
++-# License. You can obtain a copy of the License at
++-# http://www.netbeans.org/cddl-gplv2.html
++-# or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++-# specific language governing permissions and limitations under the
++-# License. When distributing the software, include this License Header
++-# Notice in each file and include the License file at
++-# nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
++-# particular file as subject to the "Classpath" exception as provided
++-# by Oracle in the GPL Version 2 section of the License file that
++-# accompanied this code. If applicable, add the following below the
++-# License Header, with the fields enclosed by brackets [] replaced by
++-# your own identifying information:
++-# "Portions Copyrighted [year] [name of copyright owner]"
++-#
++-# If you wish your version of this file to be governed by only the CDDL
++-# or only the GPL Version 2, indicate your decision by adding
++-# "[Contributor] elects to include this software in this distribution
++-# under the [CDDL or GPL Version 2] license." If you do not indicate a
++-# single choice of license, a recipient has the option to distribute
++-# your version of this file under either the CDDL, the GPL Version 2 or
++-# to extend the choice of license to its licensees as provided above.
++-# However, if you add GPL Version 2 code and therefore, elected the GPL
++-# Version 2 license, then the option applies only if the new code is
++-# made subject to such option by the copyright holder.
++-#
++-# Contributor(s):
++-javac.source=1.8
+++javac.source=1.7
++ javadoc.arch=${basedir}/arch.xml
++ javadoc.apichanges=${basedir}/apichanges.xml
++
++-spec.version.base=1.59.1
+++spec.version.base=1.57.1
++ #test configs
++ test.config.find.includes=\
++ **/FindUsagesSuite.class
++diff --git a/refactoring.java/nbproject/project.xml b/refactoring.java/nbproject/project.xml
++index c46c921e9..8cae00e85 100644
++--- a/refactoring.java/nbproject/project.xml
+++++ b/refactoring.java/nbproject/project.xml
++@@ -1,43 +1,4 @@
++ <?xml version="1.0" encoding="UTF-8"?>
++-<!--
++-DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++-
++-Copyright (c) 2006, 2016 Oracle and/or its affiliates. All rights reserved.
++-
++-Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++-Other names may be trademarks of their respective owners.
++-
++-The contents of this file are subject to the terms of either the GNU
++-General Public License Version 2 only ("GPL") or the Common
++-Development and Distribution License("CDDL") (collectively, the
++-"License"). You may not use this file except in compliance with the
++-License. You can obtain a copy of the License at
++-http://www.netbeans.org/cddl-gplv2.html
++-or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++-specific language governing permissions and limitations under the
++-License. When distributing the software, include this License Header
++-Notice in each file and include the License file at
++-nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
++-particular file as subject to the "Classpath" exception as provided
++-by Oracle in the GPL Version 2 section of the License file that
++-accompanied this code. If applicable, add the following below the
++-License Header, with the fields enclosed by brackets [] replaced by
++-your own identifying information:
++-"Portions Copyrighted [year] [name of copyright owner]"
++-
++-If you wish your version of this file to be governed by only the CDDL
++-or only the GPL Version 2, indicate your decision by adding
++-"[Contributor] elects to include this software in this distribution
++-under the [CDDL or GPL Version 2] license." If you do not indicate a
++-single choice of license, a recipient has the option to distribute
++-your version of this file under either the CDDL, the GPL Version 2 or
++-to extend the choice of license to its licensees as provided above.
++-However, if you add GPL Version 2 code and therefore, elected the GPL
++-Version 2 license, then the option applies only if the new code is
++-made subject to such option by the copyright holder.
++-
++-Contributor(s):
++--->
++ <project xmlns="http://www.netbeans.org/ns/project/1">
++ <type>org.netbeans.modules.apisupport.project</type>
++ <configuration>
++@@ -93,7 +54,7 @@ Contributor(s):
++ <build-prerequisite/>
++ <compile-dependency/>
++ <run-dependency>
++- <specification-version>8.15</specification-version>
+++ <specification-version>8.4</specification-version>
++ </run-dependency>
++ </dependency>
++ <dependency>
++@@ -216,7 +177,7 @@ Contributor(s):
++ <build-prerequisite/>
++ <compile-dependency/>
++ <run-dependency>
++- <specification-version>2.12</specification-version>
+++ <specification-version>2.9</specification-version>
++ </run-dependency>
++ </dependency>
++ <dependency>
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/RefactoringUtils.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/RefactoringUtils.java
++index 83ee5540c..3e46b04b1 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/RefactoringUtils.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/RefactoringUtils.java
++@@ -860,9 +860,6 @@ public class RefactoringUtils {
++ @Deprecated
++ public static @NullUnknown
++ TreePath findEnclosingClass(CompilationInfo javac, TreePath path, boolean isClass, boolean isInterface, boolean isEnum, boolean isAnnotation, boolean isAnonymous) {
++- if (path == null) {
++- return null;
++- }
++ Tree selectedTree = path.getLeaf();
++ TreeUtilities utils = javac.getTreeUtilities();
++ while (true) {
++@@ -960,9 +957,7 @@ public class RefactoringUtils {
++ return null;
++ }
++ Element var = info.getTrees().getElement(tp);
++- if (var != null) {
++- lookup.scan(scopeBlok, var);
++- }
+++ lookup.scan(scopeBlok, var);
++
++ if (lookup.hasRefernces()) {
++ return NbBundle.getMessage(RefactoringUtils.class, "MSG_LocVariableClash",newName);
++@@ -1104,19 +1099,6 @@ public class RefactoringUtils {
++ }
++ return false;
++ }
++-
++- /**
++- * Checks if the element is a method or constructor. Returns {@code false} for {@code null} input.
++- * @param e element to check
++- * @return true iff the element is a constructor or method.
++- */
++- public static boolean isExecutableElement(Element e) {
++- if (e == null) {
++- return false;
++- }
++- ElementKind ek = e.getKind();
++- return ek == ElementKind.CONSTRUCTOR || ek == ElementKind.METHOD;
++- }
++
++ private RefactoringUtils() {
++ }
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/WhereUsedElement.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/WhereUsedElement.java
++index 806f5fe71..4ba22871b 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/WhereUsedElement.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/WhereUsedElement.java
++@@ -279,7 +279,7 @@ public class WhereUsedElement extends SimpleRefactoringElementImplementation imp
++ Tree varTree = varTreePath.getLeaf();
++ Trees trees = compiler.getTrees();
++ Element element = trees.getElement(varTreePath);
++- if (element != null && varTree.getKind() == Tree.Kind.VARIABLE && element.getKind() == ElementKind.ENUM_CONSTANT) {
+++ if (varTree.getKind() == Tree.Kind.VARIABLE && element.getKind() == ElementKind.ENUM_CONSTANT) {
++ int[] pos = treeUtils.findNameSpan((VariableTree)varTree);
++ if (pos == null) {
++ //#121084 hotfix
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/api/InvertBooleanRefactoring.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/api/InvertBooleanRefactoring.java
++index bc3884b8a..98c91054b 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/api/InvertBooleanRefactoring.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/api/InvertBooleanRefactoring.java
++@@ -1,10 +1,7 @@
++ /*
++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++ *
++- * Copyright 2010 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
+++ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
++ *
++ * The contents of this file are subject to the terms of either the GNU
++ * General Public License Version 2 only ("GPL") or the Common
++@@ -16,9 +13,9 @@
++ * specific language governing permissions and limitations under the
++ * License. When distributing the software, include this License Header
++ * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
+++ * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
++ * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
+++ * by Sun in the GPL Version 2 section of the License file that
++ * accompanied this code. If applicable, add the following below the
++ * License Header, with the fields enclosed by brackets [] replaced by
++ * your own identifying information:
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/api/MemberInfo.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/api/MemberInfo.java
++index 90c37e8be..5a8739e0f 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/api/MemberInfo.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/api/MemberInfo.java
++@@ -163,9 +163,6 @@ public final class MemberInfo<H> {
++ String format = ElementHeaders.NAME;
++ Group g = null;
++ Element el = c.getTrees().getElement(tpath);
++- if (el == null) {
++- return null;
++- }
++ if (el.getKind() == ElementKind.FIELD) {
++ format += " : " + ElementHeaders.TYPE; // NOI18N
++ g=Group.FIELD;
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/api/ReplaceConstructorWithFactoryRefactoring.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/api/ReplaceConstructorWithFactoryRefactoring.java
++index 6eca1fcb7..b6a8c604c 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/api/ReplaceConstructorWithFactoryRefactoring.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/api/ReplaceConstructorWithFactoryRefactoring.java
++@@ -1,10 +1,7 @@
++ /*
++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++ *
++- * Copyright 2010 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
+++ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
++ *
++ * The contents of this file are subject to the terms of either the GNU
++ * General Public License Version 2 only ("GPL") or the Common
++@@ -16,9 +13,9 @@
++ * specific language governing permissions and limitations under the
++ * License. When distributing the software, include this License Header
++ * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
+++ * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
++ * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
+++ * by Sun in the GPL Version 2 section of the License file that
++ * accompanied this code. If applicable, add the following below the
++ * License Header, with the fields enclosed by brackets [] replaced by
++ * your own identifying information:
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/callhierarchy/Call.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/callhierarchy/Call.java
++index 14f10fe32..d67fef6b4 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/callhierarchy/Call.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/callhierarchy/Call.java
++@@ -55,7 +55,6 @@ import org.netbeans.api.java.source.ElementHandle;
++ import org.netbeans.api.java.source.TreePathHandle;
++ import org.netbeans.api.java.source.ui.ElementHeaders;
++ import org.netbeans.api.java.source.ui.ElementIcons;
++-import org.netbeans.modules.refactoring.java.RefactoringUtils;
++ import org.netbeans.modules.refactoring.java.api.JavaRefactoringUtils;
++ import org.openide.awt.StatusDisplayer;
++ import org.openide.cookies.EditorCookie;
++@@ -271,8 +270,9 @@ final class Call implements CallDescriptor {
++ }
++
++ private static boolean isLeaf(Element elm, ElementHandle handle, Call parent, boolean isCallerGraph, boolean[] recursion) {
+++ ElementKind kind = elm.getKind();
++ recursion[0] = false;
++- if (!RefactoringUtils.isExecutableElement(elm)) {
+++ if (kind != ElementKind.METHOD && kind != ElementKind.CONSTRUCTOR) {
++ return true;
++ }
++ if (!isCallerGraph && elm.getModifiers().contains(Modifier.ABSTRACT)) {
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/callhierarchy/CallHierarchyTasks.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/callhierarchy/CallHierarchyTasks.java
++index a9ff7cb5e..3a613c039 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/callhierarchy/CallHierarchyTasks.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/callhierarchy/CallHierarchyTasks.java
++@@ -235,7 +235,7 @@ final class CallHierarchyTasks {
++ Kind kind = tpath.getLeaf().getKind();
++ if (kind == Kind.METHOD || kind == Kind.METHOD_INVOCATION || kind == Kind.MEMBER_SELECT || kind == Kind.NEW_CLASS) {
++ method = ScanUtils.checkElement(javac, javac.getTrees().getElement(tpath));
++- if (RefactoringUtils.isExecutableElement(method)) {
+++ if (method != null && (method.getKind() == ElementKind.METHOD || method.getKind() == ElementKind.CONSTRUCTOR)) {
++ break;
++ }
++ method = null;
++@@ -398,7 +398,7 @@ final class CallHierarchyTasks {
++ // initializer
++ Element enclosing = javac.getTrees().getElement(declarationPath.getParentPath());
++ BlockTree block = (BlockTree) declarationPath.getLeaf();
++- elm = enclosing == null ? null : new InitializerElement(enclosing, block.isStatic());
+++ elm = new InitializerElement(enclosing, block.isStatic());
++ }
++
++ if (elm == null) {
++@@ -589,8 +589,9 @@ final class CallHierarchyTasks {
++ incomplete = true;
++ return;
++ }
++- if (RefactoringUtils.isExecutableElement(resolved)
++- && !javac.getElementUtilities().isSynthetic(resolved)) {
+++ if (resolved != null
+++ && !javac.getElementUtilities().isSynthetic(resolved)
+++ && (resolved.getKind() == ElementKind.METHOD || resolved.getKind() == ElementKind.CONSTRUCTOR)) {
++ addRef(resolved, tpath);
++ }
++ }
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/callhierarchy/CallHierarchyTopComponent.form b/refactoring.java/src/org/netbeans/modules/refactoring/java/callhierarchy/CallHierarchyTopComponent.form
++index 41f9f208c..32e0aa920 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/callhierarchy/CallHierarchyTopComponent.form
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/callhierarchy/CallHierarchyTopComponent.form
++@@ -106,8 +106,8 @@
++ </Component>
++ <Component class="javax.swing.JButton" name="jBtnCancel">
++ <Properties>
++- <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
++- <Connection code="org.openide.util.ImageUtilities.loadImageIcon("/org/netbeans/modules/refactoring/java/resources/cancel.png", false)" type="code"/>
+++ <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
+++ <Image iconType="3" name="/org/netbeans/modules/refactoring/java/resources/cancel.png"/>
++ </Property>
++ <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
++ <ResourceString bundle="org/netbeans/modules/refactoring/java/callhierarchy/Bundle.properties" key="CallHierarchyTopComponent.jBtnCancel.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
++@@ -125,8 +125,8 @@
++ </Component>
++ <Component class="javax.swing.JToggleButton" name="jTogBtnCaller">
++ <Properties>
++- <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
++- <Connection code="org.openide.util.ImageUtilities.loadImageIcon("/org/netbeans/modules/refactoring/java/resources/who_is_called.png", false)" type="code"/>
+++ <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
+++ <Image iconType="3" name="/org/netbeans/modules/refactoring/java/resources/who_is_called.png"/>
++ </Property>
++ <Property name="selected" type="boolean" value="true"/>
++ <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
++@@ -140,8 +140,8 @@
++ </Component>
++ <Component class="javax.swing.JToggleButton" name="jTogBtnCallee">
++ <Properties>
++- <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
++- <Connection code="org.openide.util.ImageUtilities.loadImageIcon("/org/netbeans/modules/refactoring/java/resources/who_calls.png", false)" type="code"/>
+++ <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
+++ <Image iconType="3" name="/org/netbeans/modules/refactoring/java/resources/who_calls.png"/>
++ </Property>
++ <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
++ <ResourceString bundle="org/netbeans/modules/refactoring/java/callhierarchy/Bundle.properties" key="CallHierarchyTopComponent.jTogBtnCallee.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
++@@ -156,8 +156,8 @@
++ </Component>
++ <Component class="javax.swing.JToggleButton" name="jTogBtnScope">
++ <Properties>
++- <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
++- <Connection code="org.openide.util.ImageUtilities.loadImageIcon("/org/netbeans/modules/refactoring/java/resources/filter.png", false)" type="code"/>
+++ <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
+++ <Image iconType="3" name="/org/netbeans/modules/refactoring/java/resources/filter.png"/>
++ </Property>
++ <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
++ <ResourceString bundle="org/netbeans/modules/refactoring/java/callhierarchy/Bundle.properties" key="CallHierarchyTopComponent.jTogBtnScope.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/callhierarchy/CallHierarchyTopComponent.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/callhierarchy/CallHierarchyTopComponent.java
++index 1a0fe50bf..b042e95e0 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/callhierarchy/CallHierarchyTopComponent.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/callhierarchy/CallHierarchyTopComponent.java
++@@ -206,7 +206,7 @@ final class CallHierarchyTopComponent extends TopComponent implements ExplorerMa
++ jBtnRefresh.addActionListener(formListener);
++ jToolBar.add(jBtnRefresh);
++
++- jBtnCancel.setIcon(org.openide.util.ImageUtilities.loadImageIcon("/org/netbeans/modules/refactoring/java/resources/cancel.png", false)); // NOI18N
+++ jBtnCancel.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/netbeans/modules/refactoring/java/resources/cancel.png"))); // NOI18N
++ jBtnCancel.setToolTipText(org.openide.util.NbBundle.getMessage(CallHierarchyTopComponent.class, "CallHierarchyTopComponent.jBtnCancel.toolTipText")); // NOI18N
++ jBtnCancel.setEnabled(false);
++ jBtnCancel.setFocusable(false);
++@@ -216,21 +216,21 @@ final class CallHierarchyTopComponent extends TopComponent implements ExplorerMa
++ jToolBar.add(jBtnCancel);
++ jToolBar.add(jSeparator1);
++
++- jTogBtnCaller.setIcon(org.openide.util.ImageUtilities.loadImageIcon("/org/netbeans/modules/refactoring/java/resources/who_is_called.png", false)); // NOI18N
+++ jTogBtnCaller.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/netbeans/modules/refactoring/java/resources/who_is_called.png"))); // NOI18N
++ jTogBtnCaller.setSelected(true);
++ jTogBtnCaller.setToolTipText(org.openide.util.NbBundle.getMessage(CallHierarchyTopComponent.class, "CallHierarchyTopComponent.jTogBtnCaller.toolTipText")); // NOI18N
++ jTogBtnCaller.setFocusable(false);
++ jTogBtnCaller.addActionListener(formListener);
++ jToolBar.add(jTogBtnCaller);
++
++- jTogBtnCallee.setIcon(org.openide.util.ImageUtilities.loadImageIcon("/org/netbeans/modules/refactoring/java/resources/who_calls.png", false)); // NOI18N
+++ jTogBtnCallee.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/netbeans/modules/refactoring/java/resources/who_calls.png"))); // NOI18N
++ jTogBtnCallee.setToolTipText(org.openide.util.NbBundle.getMessage(CallHierarchyTopComponent.class, "CallHierarchyTopComponent.jTogBtnCallee.toolTipText")); // NOI18N
++ jTogBtnCallee.setFocusable(false);
++ jTogBtnCallee.addActionListener(formListener);
++ jToolBar.add(jTogBtnCallee);
++ jToolBar.add(jSeparator2);
++
++- jTogBtnScope.setIcon(org.openide.util.ImageUtilities.loadImageIcon("/org/netbeans/modules/refactoring/java/resources/filter.png", false)); // NOI18N
+++ jTogBtnScope.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/netbeans/modules/refactoring/java/resources/filter.png"))); // NOI18N
++ jTogBtnScope.setToolTipText(org.openide.util.NbBundle.getMessage(CallHierarchyTopComponent.class, "CallHierarchyTopComponent.jTogBtnScope.toolTipText")); // NOI18N
++ jTogBtnScope.setFocusable(false);
++ jTogBtnScope.addItemListener(formListener);
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/callhierarchy/CallOccurrence.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/callhierarchy/CallOccurrence.java
++index 1d203b09a..eda0e0055 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/callhierarchy/CallOccurrence.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/callhierarchy/CallOccurrence.java
++@@ -84,16 +84,14 @@ final class CallOccurrence implements CallDescriptor {
++
++ @Override
++ public void open() {
++- if(occurrence != null) {
++- Call.doOpen(occurrence.getFileObject(), selectionBounds);
++- }
+++ Call.doOpen(occurrence.getFileObject(), selectionBounds);
++ }
++
++ public static CallOccurrence createOccurrence(
++ CompilationInfo javac, TreePath selection, Call parent) {
++ WhereUsedElement wue = WhereUsedElement.create(javac, selection, false);
++ CallOccurrence c = new CallOccurrence();
++- if(javac.getTreeUtilities().isSynthetic(selection)) {
+++ if(!javac.getTreeUtilities().isSynthetic(selection)) {
++ selection = getEnclosingTree(selection);
++ if (javac.getTreeUtilities().isSynthetic(selection)) {
++ selection = getEnclosingTree(selection.getParentPath());
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/Bundle.properties b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/Bundle.properties
++index 411102e05..1c34eee90 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/Bundle.properties
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/Bundle.properties
++@@ -221,6 +221,7 @@ ERR_CannotMovePackageToSubpackage=A package cannot be moved into one of its subp
++ ERR_DefaultPackageCannotBeMoved=Default package cannot be moved.
++ ERR_CannotMoveFile=Cannot move file from library: "{0}".
++ ERR_MissingProjectDeps=There are references in project "{0}" to moved files, but source project "{0}" does not depend on target project "{1}". Projects need not compile.
+++ERR_ClasspathNotFound=No classpath defined for {0}.
++ ERR_MemberMissingProjectDeps=Source project "{0}" does not depend on target project "{1}", but there are references in project "{0}" to moved members. Projects will not compile.
++
++ # encapsulate field error messages
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/ChangeParametersPlugin.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/ChangeParametersPlugin.java
++index 215c78122..7b3b5302c 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/ChangeParametersPlugin.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/ChangeParametersPlugin.java
++@@ -269,7 +269,7 @@ public class ChangeParametersPlugin extends JavaRefactoringPlugin {
++ return preCheckProblem;
++ }
++ Element el = treePathHandle.resolveElement(info);
++- if (!RefactoringUtils.isExecutableElement(el)) {
+++ if (!(el.getKind() == ElementKind.METHOD || el.getKind() == ElementKind.CONSTRUCTOR)) {
++ preCheckProblem = createProblem(preCheckProblem, true, NbBundle.getMessage(ChangeParametersPlugin.class, "ERR_ChangeParamsWrongType")); // NOI18N
++ return preCheckProblem;
++ }
++@@ -539,7 +539,7 @@ public class ChangeParametersPlugin extends JavaRefactoringPlugin {
++ TreePath path = javac.getTrees().getPath(javac.getCompilationUnit(), vt);
++ Element element = javac.getTrees().getElement(path);
++
++- return vt.getName().contentEquals(p) && (element == null || !element.equals(parameterElement));
+++ return vt.getName().contentEquals(p) && !element.equals(parameterElement);
++ }
++
++ @Override
++@@ -625,13 +625,9 @@ public class ChangeParametersPlugin extends JavaRefactoringPlugin {
++ for (int j = 0; j < exMethod.getParameters().size(); j++) {
++ TypeMirror exType = ((VariableElement) exMethod.getParameters().get(j)).asType();
++ String type = paramTable[j].getType();
++- if (type == null || type.length() == 0) {
+++ TypeMirror paramType = javac.getTreeUtilities().parseType(type, enclosingTypeElement);
+++ if (!javac.getTypes().isSameType(exType, paramType)) {
++ sameParameters = false;
++- } else {
++- TypeMirror paramType = javac.getTreeUtilities().parseType(type, enclosingTypeElement);
++- if (!javac.getTypes().isSameType(exType, paramType)) {
++- sameParameters = false;
++- }
++ }
++ }
++ if (sameParameters) {
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/ChangeParamsTransformer.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/ChangeParamsTransformer.java
++index 484ab324a..c4284af3b 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/ChangeParamsTransformer.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/ChangeParamsTransformer.java
++@@ -79,7 +79,6 @@ import javax.lang.model.util.Types;
++ import org.netbeans.api.java.source.ClassIndex.NameKind;
++ import org.netbeans.api.java.source.*;
++ import org.netbeans.modules.refactoring.api.Problem;
++-import org.netbeans.modules.refactoring.java.RefactoringUtils;
++ import org.netbeans.modules.refactoring.java.api.ChangeParametersRefactoring.ParameterInfo;
++ import org.netbeans.modules.refactoring.java.api.JavaRefactoringUtils;
++ import org.netbeans.modules.refactoring.java.spi.RefactoringVisitor;
++@@ -166,36 +165,28 @@ public class ChangeParamsTransformer extends RefactoringVisitor {
++ }
++
++ private void checkNewModifier(TreePath tree, Element p) throws MissingResourceException {
++- if (newModifiers == null || newModifiers.contains(Modifier.PUBLIC)) {
++- return;
++- }
++ ClassTree classTree = (ClassTree) JavaRefactoringUtils.findEnclosingClass(workingCopy, tree, true, true, true, true, false).getLeaf();
++- if (problemClasses.contains(classTree)) {
++- // Only give one warning for every file
++- return;
++- }
++- Element el = workingCopy.getTrees().getElement(workingCopy.getTrees().getPath(workingCopy.getCompilationUnit(), classTree));
++- if (el == null || p == null) {
++- return;
++- }
++- TypeElement enclosingTypeElement1 = workingCopy.getElementUtilities().outermostTypeElement(el);
++- TypeElement enclosingTypeElement2 = workingCopy.getElementUtilities().outermostTypeElement(p);
++- if(!workingCopy.getTypes().isSameType(enclosingTypeElement1.asType(), enclosingTypeElement2.asType())) {
++- if(newModifiers.contains(Modifier.PRIVATE)) {
++- problem = MoveTransformer.createProblem(problem, false, NbBundle.getMessage(ChangeParamsTransformer.class, "ERR_StrongAccMod", Modifier.PRIVATE, enclosingTypeElement1)); //NOI18N
++- problemClasses.add(classTree);
++- } else {
++- PackageElement package1 = workingCopy.getElements().getPackageOf(el);
++- PackageElement package2 = workingCopy.getElements().getPackageOf(p);
++- if(!package1.getQualifiedName().equals(package2.getQualifiedName())) {
++- if(newModifiers.contains(Modifier.PROTECTED)) {
++- if(!workingCopy.getTypes().isSubtype(enclosingTypeElement1.asType(), enclosingTypeElement2.asType())) {
++- problem = MoveTransformer.createProblem(problem, false, NbBundle.getMessage(ChangeParamsTransformer.class, "ERR_StrongAccMod", Modifier.PROTECTED, enclosingTypeElement1)); //NOI18N
+++ if(!problemClasses.contains(classTree) && !newModifiers.contains(Modifier.PUBLIC)) { // Only give one warning for every file
+++ Element el = workingCopy.getTrees().getElement(workingCopy.getTrees().getPath(workingCopy.getCompilationUnit(), classTree));
+++ TypeElement enclosingTypeElement1 = workingCopy.getElementUtilities().outermostTypeElement(el);
+++ TypeElement enclosingTypeElement2 = workingCopy.getElementUtilities().outermostTypeElement(p);
+++ if(!workingCopy.getTypes().isSameType(enclosingTypeElement1.asType(), enclosingTypeElement2.asType())) {
+++ if(newModifiers.contains(Modifier.PRIVATE)) {
+++ problem = MoveTransformer.createProblem(problem, false, NbBundle.getMessage(ChangeParamsTransformer.class, "ERR_StrongAccMod", Modifier.PRIVATE, enclosingTypeElement1)); //NOI18N
+++ problemClasses.add(classTree);
+++ } else {
+++ PackageElement package1 = workingCopy.getElements().getPackageOf(el);
+++ PackageElement package2 = workingCopy.getElements().getPackageOf(p);
+++ if(!package1.getQualifiedName().equals(package2.getQualifiedName())) {
+++ if(newModifiers.contains(Modifier.PROTECTED)) {
+++ if(!workingCopy.getTypes().isSubtype(enclosingTypeElement1.asType(), enclosingTypeElement2.asType())) {
+++ problem = MoveTransformer.createProblem(problem, false, NbBundle.getMessage(ChangeParamsTransformer.class, "ERR_StrongAccMod", Modifier.PROTECTED, enclosingTypeElement1)); //NOI18N
+++ problemClasses.add(classTree);
+++ }
+++ } else {
+++ problem = MoveTransformer.createProblem(problem, false, NbBundle.getMessage(ChangeParamsTransformer.class, "ERR_StrongAccMod", "<default>", enclosingTypeElement1)); //NOI18N
++ problemClasses.add(classTree);
++ }
++- } else {
++- problem = MoveTransformer.createProblem(problem, false, NbBundle.getMessage(ChangeParamsTransformer.class, "ERR_StrongAccMod", "<default>", enclosingTypeElement1)); //NOI18N
++- problemClasses.add(classTree);
++ }
++ }
++ }
++@@ -502,7 +493,9 @@ public class ChangeParamsTransformer extends RefactoringVisitor {
++ ExecutableElement method = (ExecutableElement) p;
++ Element el = workingCopy.getTrees().getElement(getCurrentPath());
++ if (isMethodMatch(el, method)) {
++- checkNewModifier(getCurrentPath(), method);
+++ if(newModifiers != null) {
+++ checkNewModifier(getCurrentPath(), method);
+++ }
++ boolean passThrough = false;
++ TreePath enclosingMethod = JavaPluginUtils.findMethod(getCurrentPath());
++ if(enclosingMethod != null) {
++@@ -536,7 +529,9 @@ public class ChangeParamsTransformer extends RefactoringVisitor {
++ ExecutableElement method = (ExecutableElement) p;
++ TypeMirror tm = workingCopy.getTrees().getTypeMirror(path);
++ if (tm != null && workingCopy.getTypes().isSameType(tm, method.getEnclosingElement().asType())) {
++- checkNewModifier(path, method);
+++ if(newModifiers != null) {
+++ checkNewModifier(path, method);
+++ }
++ List<VariableTree> params = getNewParameters(tree.getParameters(), path);
++ LambdaExpressionTree nju = make.LambdaExpression(params, tree.getBody());
++ rewrite(tree, nju);
++@@ -777,12 +772,12 @@ public class ChangeParamsTransformer extends RefactoringVisitor {
++ }
++
++ private boolean isMethodMatch(Element method, Element p) {
++- if (!RefactoringUtils.isExecutableElement(method)) {
+++ if(method == null) {
++ return false;
++ }
++ if(compatible) {
++- return method == p;
++- } else if (allMethods !=null) {
+++ return (method.getKind() == ElementKind.METHOD || method.getKind() == ElementKind.CONSTRUCTOR) && method == p;
+++ } else if ((method.getKind() == ElementKind.METHOD || method.getKind() == ElementKind.CONSTRUCTOR) && allMethods !=null) {
++ for (ElementHandle<ExecutableElement> mh: allMethods) {
++ ExecutableElement baseMethod = mh.resolve(workingCopy);
++ if (baseMethod==null) {
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/CopyClassesRefactoringPlugin.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/CopyClassesRefactoringPlugin.java
++index e97be62be..13bfe1b8c 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/CopyClassesRefactoringPlugin.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/CopyClassesRefactoringPlugin.java
++@@ -193,7 +193,7 @@ public class CopyClassesRefactoringPlugin extends JavaRefactoringPlugin {
++ FileObject newOne = null;
++ for (FileObject fileObject : fileObjects) {
++ String orig = (String) fileObject.getAttribute("originalFile"); //NOI18N
++- if(fileObject.isValid() && source.getNameExt().equals(orig)) {
+++ if(source.getNameExt().equals(orig)) {
++ newOne = fileObject;
++ break;
++ }
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/EncapsulateFieldRefactoringPlugin.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/EncapsulateFieldRefactoringPlugin.java
++index 812caa844..27ae460ee 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/EncapsulateFieldRefactoringPlugin.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/EncapsulateFieldRefactoringPlugin.java
++@@ -65,6 +65,7 @@ import org.netbeans.modules.refactoring.java.api.EncapsulateFieldRefactoring;
++ import org.netbeans.modules.refactoring.java.spi.JavaRefactoringPlugin;
++ import org.netbeans.modules.refactoring.java.spi.RefactoringVisitor;
++ import org.netbeans.modules.refactoring.java.spi.ToPhaseException;
+++import org.netbeans.modules.refactoring.java.ui.EncapsulateFieldPanel.InsertPoint;
++ import org.netbeans.modules.refactoring.java.ui.EncapsulateFieldPanel.Javadoc;
++ import org.netbeans.modules.refactoring.java.ui.EncapsulateFieldPanel.SortBy;
++ import org.netbeans.modules.refactoring.spi.RefactoringElementsBag;
++@@ -405,7 +406,7 @@ public final class EncapsulateFieldRefactoringPlugin extends JavaRefactoringPlug
++
++ Encapsulator encapsulator = new Encapsulator(
++ Collections.singletonList(desc), desc.p,
++- refactoring.getContext().lookup(Integer.class),
+++ refactoring.getContext().lookup(InsertPoint.class),
++ refactoring.getContext().lookup(SortBy.class),
++ refactoring.getContext().lookup(Javadoc.class));
++
++@@ -499,7 +500,7 @@ public final class EncapsulateFieldRefactoringPlugin extends JavaRefactoringPlug
++ static final class Encapsulator extends RefactoringVisitor {
++
++ private final FileObject sourceFile;
++- private final Integer insertPoint;
+++ private final InsertPoint insertPoint;
++ private final SortBy sortBy;
++ private final Javadoc javadocType;
++ private Problem problem;
++@@ -507,12 +508,12 @@ public final class EncapsulateFieldRefactoringPlugin extends JavaRefactoringPlug
++ private Map<VariableElement, EncapsulateDesc> fields;
++ private boolean setterUsed;
++
++- public Encapsulator(List<EncapsulateDesc> descs, Problem problem, Integer ip, SortBy sortBy, Javadoc jd) {
+++ public Encapsulator(List<EncapsulateDesc> descs, Problem problem, InsertPoint ip, SortBy sortBy, Javadoc jd) {
++ assert descs != null && descs.size() > 0;
++ this.sourceFile = descs.get(0).fieldHandle.getFileObject();
++ this.descs = descs;
++ this.problem = problem;
++- this.insertPoint = ip == null ? Integer.MIN_VALUE : ip;
+++ this.insertPoint = ip == null ? InsertPoint.DEFAULT : ip;
++ this.sortBy = sortBy == null ? SortBy.PAIRS : sortBy;
++ this.javadocType = jd == null ? Javadoc.NONE : jd;
++ }
++@@ -608,21 +609,17 @@ public final class EncapsulateFieldRefactoringPlugin extends JavaRefactoringPlug
++ if (sortBy == SortBy.ALPHABETICALLY) {
++ Collections.sort(newMembers, new SortMethodsByNameComparator());
++ }
++- if (insertPoint < 0) {
++- if(insertPoint > Integer.MIN_VALUE) {
++- nct = GeneratorUtilities.get(workingCopy).insertClassMembers(node, newMembers, Math.abs(insertPoint));
++- } else {
++- nct = GeneratorUtilities.get(workingCopy).insertClassMembers(node, newMembers);
++- }
+++ if (insertPoint == InsertPoint.DEFAULT) {
+++ nct = GeneratorUtilities.get(workingCopy).insertClassMembers(node, newMembers);
++ } else {
++ List<? extends Tree> members = node.getMembers();
++- if (insertPoint >= members.size()) {
+++ if (insertPoint.getIndex() >= members.size()) {
++ // last method
++ for (Tree mt : newMembers) {
++ nct = make.addClassMember(nct, mt);
++ }
++ } else {
++- int idx = insertPoint;
+++ int idx = insertPoint.getIndex();
++ for (Tree mt : newMembers) {
++ nct = make.insertClassMember(nct, idx++, mt);
++ }
++@@ -710,7 +707,7 @@ public final class EncapsulateFieldRefactoringPlugin extends JavaRefactoringPlug
++ public Tree visitVariable(VariableTree node, Element field) {
++ if (sourceFile == workingCopy.getFileObject()) {
++ Element el = workingCopy.getTrees().getElement(getCurrentPath());
++- EncapsulateDesc desc = el == null ? null : fields.get(el);
+++ EncapsulateDesc desc = fields.get(el);
++ if (desc != null) {
++ resolveFieldDeclaration(node, desc);
++ return node;
++@@ -838,7 +835,7 @@ public final class EncapsulateFieldRefactoringPlugin extends JavaRefactoringPlug
++ t = ((ArrayAccessTree) t).getExpression();
++ }
++ Element el = workingCopy.getTrees().getElement(new TreePath(getCurrentPath(), t));
++- EncapsulateDesc desc = el == null ? null : fields.get(el);
+++ EncapsulateDesc desc = fields.get(el);
++ if (desc != null && desc.useAccessors
++ && desc.refactoring.getGetterName() != null
++ && (isArrayOrImmutable || checkAssignmentInsideExpression())
++@@ -879,7 +876,7 @@ public final class EncapsulateFieldRefactoringPlugin extends JavaRefactoringPlug
++ @Override
++ public Tree visitMemberSelect(MemberSelectTree node, Element field) {
++ Element el = workingCopy.getTrees().getElement(getCurrentPath());
++- EncapsulateDesc desc = el == null ? null : fields.get(el);
+++ EncapsulateDesc desc = fields.get(el);
++ if (desc != null && desc.useAccessors && !isInConstructorOfFieldClass(getCurrentPath(), desc.field)
++ && !isInGetterSetter(getCurrentPath(), desc.currentGetter, desc.currentSetter)) {
++ ExpressionTree nodeNew = createGetterInvokation(node, desc.refactoring.getGetterName());
++@@ -891,7 +888,7 @@ public final class EncapsulateFieldRefactoringPlugin extends JavaRefactoringPlug
++ @Override
++ public Tree visitIdentifier(IdentifierTree node, Element field) {
++ Element el = workingCopy.getTrees().getElement(getCurrentPath());
++- EncapsulateDesc desc = el == null ? null : fields.get(el);
+++ EncapsulateDesc desc = fields.get(el);
++ if (desc != null && desc.useAccessors && !isInConstructorOfFieldClass(getCurrentPath(), desc.field)
++ && !isInGetterSetter(getCurrentPath(), desc.currentGetter, desc.currentSetter)) {
++ ExpressionTree nodeNew = createGetterInvokation(node, desc.refactoring.getGetterName());
++@@ -1170,9 +1167,6 @@ public final class EncapsulateFieldRefactoringPlugin extends JavaRefactoringPlug
++ return false;
++ }
++ Element m = workingCopy.getTrees().getElement(path);
++- if (m == null) {
++- return false;
++- }
++ boolean result = m.getKind() == ElementKind.CONSTRUCTOR && (m.getEnclosingElement() == field.getEnclosingElement() || isSubclassOf((TypeElement) m.getEnclosingElement(), (TypeElement) field.getEnclosingElement()));
++ if (m.getKind() == ElementKind.CONSTRUCTOR
++ && m.getEnclosingElement() != field.getEnclosingElement()
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/EncapsulateFieldsPlugin.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/EncapsulateFieldsPlugin.java
++index 2a1f41f71..ea1f2caff 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/EncapsulateFieldsPlugin.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/EncapsulateFieldsPlugin.java
++@@ -59,6 +59,7 @@ import org.netbeans.modules.refactoring.java.api.JavaRefactoringUtils;
++ import org.netbeans.modules.refactoring.java.plugins.EncapsulateFieldRefactoringPlugin.EncapsulateDesc;
++ import org.netbeans.modules.refactoring.java.plugins.EncapsulateFieldRefactoringPlugin.Encapsulator;
++ import org.netbeans.modules.refactoring.java.spi.JavaRefactoringPlugin;
+++import org.netbeans.modules.refactoring.java.ui.EncapsulateFieldPanel.InsertPoint;
++ import org.netbeans.modules.refactoring.java.ui.EncapsulateFieldPanel.Javadoc;
++ import org.netbeans.modules.refactoring.java.ui.EncapsulateFieldPanel.SortBy;
++ import org.netbeans.modules.refactoring.java.ui.EncapsulateFieldsRefactoring;
++@@ -206,7 +207,7 @@ public final class EncapsulateFieldsPlugin extends JavaRefactoringPlugin {
++ }
++
++ Encapsulator encapsulator = new Encapsulator(descs, problem,
++- refactoring.getContext().lookup(Integer.class),
+++ refactoring.getContext().lookup(InsertPoint.class),
++ refactoring.getContext().lookup(SortBy.class),
++ refactoring.getContext().lookup(Javadoc.class)
++ );
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/ExtractSuperclassRefactoringPlugin.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/ExtractSuperclassRefactoringPlugin.java
++index 40fdab94a..c3237931f 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/ExtractSuperclassRefactoringPlugin.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/ExtractSuperclassRefactoringPlugin.java
++@@ -419,25 +419,23 @@ public final class ExtractSuperclassRefactoringPlugin extends JavaRefactoringPlu
++ @Override
++ public Tree visitVariable(VariableTree variableTree, Element p) {
++ Element current = workingCopy.getTrees().getElement(getCurrentPath());
++- if (current != null) {
++- for (MemberInfo<ElementHandle<? extends Element>> memberInfo : refactoring.getMembers()) {
++- if (memberInfo.getGroup() == MemberInfo.Group.FIELD
++- && memberInfo.getElementHandle().resolve(workingCopy) == current) {
++- GeneratorUtilities genUtils = GeneratorUtilities.get(workingCopy);
++- members2Remove.add(variableTree);
++- VariableTree copy = genUtils.importComments(variableTree, workingCopy.getCompilationUnit());
++- copy = genUtils.importFQNs(copy);
++- ModifiersTree modifiers = copy.getModifiers();
++- if (modifiers.getFlags().contains(Modifier.PRIVATE)) {
++- modifiers = make.removeModifiersModifier(modifiers, Modifier.PRIVATE);
++- modifiers = make.addModifiersModifier(modifiers, Modifier.PROTECTED);
++- copy = make.Variable(modifiers, copy.getName(), copy.getType(), copy.getInitializer());
++- genUtils.copyComments(variableTree, copy, false);
++- genUtils.copyComments(variableTree, copy, true);
++- }
++- members.add(copy);
++- break;
+++ for (MemberInfo<ElementHandle<? extends Element>> memberInfo : refactoring.getMembers()) {
+++ if (memberInfo.getGroup() == MemberInfo.Group.FIELD
+++ && memberInfo.getElementHandle().resolve(workingCopy) == current) {
+++ GeneratorUtilities genUtils = GeneratorUtilities.get(workingCopy);
+++ members2Remove.add(variableTree);
+++ VariableTree copy = genUtils.importComments(variableTree, workingCopy.getCompilationUnit());
+++ copy = genUtils.importFQNs(copy);
+++ ModifiersTree modifiers = copy.getModifiers();
+++ if (modifiers.getFlags().contains(Modifier.PRIVATE)) {
+++ modifiers = make.removeModifiersModifier(modifiers, Modifier.PRIVATE);
+++ modifiers = make.addModifiersModifier(modifiers, Modifier.PROTECTED);
+++ copy = make.Variable(modifiers, copy.getName(), copy.getType(), copy.getInitializer());
+++ genUtils.copyComments(variableTree, copy, false);
+++ genUtils.copyComments(variableTree, copy, true);
++ }
+++ members.add(copy);
+++ break;
++ }
++ }
++ return variableTree;
++@@ -447,53 +445,51 @@ public final class ExtractSuperclassRefactoringPlugin extends JavaRefactoringPlu
++ public Tree visitMethod(final MethodTree methodTree, Element p) {
++ final Trees trees = workingCopy.getTrees();
++ Element current = trees.getElement(getCurrentPath());
++- if (current != null) {
++- for (MemberInfo<ElementHandle<? extends Element>> memberInfo : refactoring.getMembers()) {
++- if (memberInfo.getGroup() == MemberInfo.Group.METHOD
++- && memberInfo.getElementHandle().resolve(workingCopy) == current) {
++- if(!memberInfo.isMakeAbstract()) {
++- members2Remove.add(methodTree);
++- }
++- GeneratorUtilities genUtils = GeneratorUtilities.get(workingCopy);
++- MethodTree newMethod = genUtils.importComments(methodTree, workingCopy.getCompilationUnit());
++- ModifiersTree modifiers = methodTree.getModifiers();
++- if (modifiers.getFlags().contains(Modifier.PRIVATE)) {
++- modifiers = make.removeModifiersModifier(modifiers, Modifier.PRIVATE);
++- modifiers = make.addModifiersModifier(modifiers, Modifier.PROTECTED);
++- }
++- newMethod = genUtils.importFQNs(newMethod);
++- modifiers = genUtils.importFQNs(modifiers);
++- final List<? extends TypeMirror> thrownTypes = ((ExecutableElement)current).getThrownTypes();
++- List<ExpressionTree> newThrownTypes = new ArrayList<ExpressionTree>(thrownTypes.size());
++- for (TypeMirror typeMirror : thrownTypes) {
++- newThrownTypes.add((ExpressionTree) make.Type(typeMirror)); // Necessary as this is not covered by importFQNs
++- }
++- if (memberInfo.isMakeAbstract() && !current.getModifiers().contains(Modifier.ABSTRACT)) {
++- newMethod = make.Method(
++- RefactoringUtils.makeAbstract(make, modifiers),
++- newMethod.getName(),
++- newMethod.getReturnType(),
++- newMethod.getTypeParameters(),
++- newMethod.getParameters(),
++- newThrownTypes,
++- (BlockTree) null,
++- null);
++- } else {
++- newMethod = make.Method(modifiers,
++- newMethod.getName(),
++- newMethod.getReturnType(),
++- newMethod.getTypeParameters(),
++- newMethod.getParameters(),
++- newThrownTypes,
++- newMethod.getBody(),
++- (ExpressionTree) newMethod.getDefaultValue());
++- }
++- genUtils.copyComments(methodTree, newMethod, false);
++- genUtils.copyComments(methodTree, newMethod, true);
++- makeAbstract |= newMethod.getModifiers().getFlags().contains(Modifier.ABSTRACT);
++- members.add(newMethod);
++- break;
+++ for (MemberInfo<ElementHandle<? extends Element>> memberInfo : refactoring.getMembers()) {
+++ if (memberInfo.getGroup() == MemberInfo.Group.METHOD
+++ && memberInfo.getElementHandle().resolve(workingCopy) == current) {
+++ if(!memberInfo.isMakeAbstract()) {
+++ members2Remove.add(methodTree);
+++ }
+++ GeneratorUtilities genUtils = GeneratorUtilities.get(workingCopy);
+++ MethodTree newMethod = genUtils.importComments(methodTree, workingCopy.getCompilationUnit());
+++ ModifiersTree modifiers = methodTree.getModifiers();
+++ if (modifiers.getFlags().contains(Modifier.PRIVATE)) {
+++ modifiers = make.removeModifiersModifier(modifiers, Modifier.PRIVATE);
+++ modifiers = make.addModifiersModifier(modifiers, Modifier.PROTECTED);
++ }
+++ newMethod = genUtils.importFQNs(newMethod);
+++ modifiers = genUtils.importFQNs(modifiers);
+++ final List<? extends TypeMirror> thrownTypes = ((ExecutableElement)current).getThrownTypes();
+++ List<ExpressionTree> newThrownTypes = new ArrayList<ExpressionTree>(thrownTypes.size());
+++ for (TypeMirror typeMirror : thrownTypes) {
+++ newThrownTypes.add((ExpressionTree) make.Type(typeMirror)); // Necessary as this is not covered by importFQNs
+++ }
+++ if (memberInfo.isMakeAbstract() && !current.getModifiers().contains(Modifier.ABSTRACT)) {
+++ newMethod = make.Method(
+++ RefactoringUtils.makeAbstract(make, modifiers),
+++ newMethod.getName(),
+++ newMethod.getReturnType(),
+++ newMethod.getTypeParameters(),
+++ newMethod.getParameters(),
+++ newThrownTypes,
+++ (BlockTree) null,
+++ null);
+++ } else {
+++ newMethod = make.Method(modifiers,
+++ newMethod.getName(),
+++ newMethod.getReturnType(),
+++ newMethod.getTypeParameters(),
+++ newMethod.getParameters(),
+++ newThrownTypes,
+++ newMethod.getBody(),
+++ (ExpressionTree) newMethod.getDefaultValue());
+++ }
+++ genUtils.copyComments(methodTree, newMethod, false);
+++ genUtils.copyComments(methodTree, newMethod, true);
+++ makeAbstract |= newMethod.getModifiers().getFlags().contains(Modifier.ABSTRACT);
+++ members.add(newMethod);
+++ break;
++ }
++ }
++ return methodTree;
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/FindSubtypesVisitor.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/FindSubtypesVisitor.java
++index e251f7019..4b83c42d7 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/FindSubtypesVisitor.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/FindSubtypesVisitor.java
++@@ -87,7 +87,7 @@ public class FindSubtypesVisitor extends FindVisitor {
++ }
++ } else {
++ TypeElement el = (TypeElement) workingCopy.getTrees().getElement(getCurrentPath());
++- if (el != null && el.getSuperclass()!=null && types.isSameType(types.erasure(el.getSuperclass()), type2) || containsType(el.getInterfaces(), type2)) {
+++ if (el.getSuperclass()!=null && types.isSameType(types.erasure(el.getSuperclass()), type2) || containsType(el.getInterfaces(), type2)) {
++ addUsage(getCurrentPath());
++ }
++ }
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/FindUsagesVisitor.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/FindUsagesVisitor.java
++index 1137d2bf7..9ae2e9db6 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/FindUsagesVisitor.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/FindUsagesVisitor.java
++@@ -147,7 +147,7 @@ public class FindUsagesVisitor extends TreePathScanner<Tree, Element> {
++ }
++ }
++ }
++- if(RefactoringUtils.isExecutableElement(p)) {
+++ if(p.getKind() == ElementKind.METHOD || p.getKind() == ElementKind.CONSTRUCTOR) {
++ ExecutableElement method = (ExecutableElement) p;
++ methods.add(method);
++ TypeElement enclosingTypeElement = workingCopy.getElementUtilities().enclosingTypeElement(method);
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/InlineMethodTransformer.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/InlineMethodTransformer.java
++index 4a92bba90..2287ab92a 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/InlineMethodTransformer.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/InlineMethodTransformer.java
++@@ -44,7 +44,6 @@ package org.netbeans.modules.refactoring.java.plugins;
++ import com.sun.source.tree.*;
++ import static com.sun.source.tree.Tree.Kind.*;
++ import com.sun.source.util.*;
++-import com.sun.tools.javac.tree.JCTree;
++ import java.util.*;
++ import javax.lang.model.element.*;
++ import javax.lang.model.type.ArrayType;
++@@ -152,11 +151,7 @@ public class InlineMethodTransformer extends RefactoringVisitor {
++ if (stats != null) {
++ newStatementList.addAll(stats);
++ }
++- Tree tree = original2TranslatedForBlock.get(statementTree);
++- if(tree == null || tree.getKind() != EMPTY_STATEMENT ||
++- ((JCTree)tree).pos >= 0) {
++- newStatementList.add(statementTree);
++- }
+++ newStatementList.add(statementTree);
++ }
++ BlockTree newBlock = make.Block(newStatementList, node.isStatic());
++ if(!original2TranslatedForBlock.isEmpty()) {
++@@ -180,7 +175,7 @@ public class InlineMethodTransformer extends RefactoringVisitor {
++ final TreePath methodInvocationPath = getCurrentPath();
++ Element el = trees.getElement(methodInvocationPath);
++ // TypeMirror tm = workingCopy.getTrees().getTypeMirror(getCurrentPath());
++- if (el != null && el.getKind() == ElementKind.METHOD && methodElement.equals(el)) {
+++ if (el.getKind() == ElementKind.METHOD && methodElement.equals(el)) {
++ List<? extends VariableTree> parameters = methodTree.getParameters();
++ BlockTree body = methodTree.getBody();
++
++@@ -205,7 +200,7 @@ public class InlineMethodTransformer extends RefactoringVisitor {
++ Tree value = super.visitMethodInvocation(node, methodElement);
++ final TreePath methodInvocationPath = getCurrentPath();
++ Element el = trees.getElement(methodInvocationPath);
++- if (el != null && el.getKind() == ElementKind.METHOD && methodElement.equals(el)) {
+++ if (el.getKind() == ElementKind.METHOD && methodElement.equals(el)) {
++ GeneratorUtilities genUtils = GeneratorUtilities.get(workingCopy);
++ ExecutableElement method = (ExecutableElement) el;
++ List<StatementTree> newStatementList = new LinkedList<>();
++@@ -343,8 +338,7 @@ public class InlineMethodTransformer extends RefactoringVisitor {
++ }
++ }
++
++- Map<Tree, Tree> translateMap = translateQueue.size() > 0 ? translateQueue.getLast() : original2Translated;
++- lastStatement = translateLastStatement(genUtils, parent, grandparent, newStatementList, lastStatement, node, methodInvocationPath, method, translateMap);
+++ lastStatement = translateLastStatement(genUtils, parent, grandparent, newStatementList, lastStatement, node, methodInvocationPath, method);
++ Element element = workingCopy.getTrees().getElement(statementPath);
++ if (element != null && element.getKind() == ElementKind.FIELD) {
++ if (!newStatementList.isEmpty()) {
++@@ -384,6 +378,7 @@ public class InlineMethodTransformer extends RefactoringVisitor {
++ }
++ }
++ Map<Tree, List<StatementTree>> addedStatementsForBlock = newStatsQueue.getLast();
+++ Map<Tree, Tree> translateMap = translateQueue.getLast();
++ List<StatementTree> stats = addedStatementsForBlock.get(statementTree);
++ if(stats == null) {
++ addedStatementsForBlock.put(statementTree, stats = new LinkedList<>());
++@@ -394,7 +389,7 @@ public class InlineMethodTransformer extends RefactoringVisitor {
++ for (Comment comment : comments) {
++ make.addComment(lastStatement, Comment.create(comment.style(), comment.getText()), false);
++ }
++- translateMap.put(methodInvocation, lastStatement == null? make.EmptyStatement(): lastStatement);
+++ translateMap.put(methodInvocation, lastStatement);
++ }
++ }
++ return value;
++@@ -553,7 +548,7 @@ public class InlineMethodTransformer extends RefactoringVisitor {
++ TreePath path = trees.getPath(compilationUnitTree, node);
++ if (path != null) {
++ Element variable = trees.getElement(path);
++- if (variable != null && !(variable.getKind() == ElementKind.PARAMETER && p.getParameters().contains((VariableElement) variable))) {
+++ if (!(variable.getKind() == ElementKind.PARAMETER && p.getParameters().contains((VariableElement) variable))) {
++ String varName = node.getName().toString();
++ String uniqueName = JavaPluginUtils.makeNameUnique(workingCopy,
++ workingCopy.getTrees().getScope(methodInvocationPath), varName, definedIds);
++@@ -719,7 +714,7 @@ public class InlineMethodTransformer extends RefactoringVisitor {
++
++ @NbBundle.Messages(
++ "WRN_InlineChangeReturn=Unsafe -- the return expression is not used in {0}.")
++- private Tree translateLastStatement(GeneratorUtilities genUtils, Tree parent, Tree grandparent, List<StatementTree> newStatementList, Tree lastStatement, Tree node, TreePath location, Element method, Map<Tree, Tree> translateMap) {
+++ private Tree translateLastStatement(GeneratorUtilities genUtils, Tree parent, Tree grandparent, List<StatementTree> newStatementList, Tree lastStatement, Tree node, TreePath location, Element method) {
++ Tree result = lastStatement;
++ TreeDuplicator duplicator = new TreeDuplicator(make, genUtils);
++ if (parent.getKind() != Tree.Kind.EXPRESSION_STATEMENT) {
++@@ -781,13 +776,6 @@ public class InlineMethodTransformer extends RefactoringVisitor {
++ switch (grandparent.getKind()) {
++ case FOR_LOOP: {
++ ForLoopTree forLoopTree = (ForLoopTree) grandparent;
++- if(translateMap.containsKey(grandparent)) {
++- Tree newTree = translateMap.get(grandparent);
++- if(newTree.getKind() == FOR_LOOP) {
++- forLoopTree = (ForLoopTree) newTree;
++- }
++- }
++-
++ StatementTree statement = forLoopTree.getStatement();
++ if (statement == parent) {
++ addResultToStatementList(result, newStatementList);
++@@ -887,11 +875,9 @@ public class InlineMethodTransformer extends RefactoringVisitor {
++ break;
++ }
++ }
++- if(result != null) {
++- result = duplicator.duplicate(result);
++- genUtils.copyComments(lastStatement, result, true);
++- genUtils.copyComments(lastStatement, result, false);
++- }
+++ result = duplicator.duplicate(result);
+++ genUtils.copyComments(lastStatement, result, true);
+++ genUtils.copyComments(lastStatement, result, false);
++ return result;
++ }
++
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/InlineRefactoringPlugin.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/InlineRefactoringPlugin.java
++index da812e4d2..9f0f50ebe 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/InlineRefactoringPlugin.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/InlineRefactoringPlugin.java
++@@ -370,7 +370,7 @@ public class InlineRefactoringPlugin extends JavaRefactoringPlugin {
++ Element asElement = asElement(new TreePath(p, node));
++ if (element.equals(asElement)) {
++ isRecursive = true;
++- } else if (asElement != null) {
+++ } else {
++ if (asElement.getKind().equals(ElementKind.FIELD)
++ || asElement.getKind().equals(ElementKind.METHOD)
++ || asElement.getKind().equals(ElementKind.CLASS)) {
++@@ -437,7 +437,6 @@ public class InlineRefactoringPlugin extends JavaRefactoringPlugin {
++ public Tree visitIdentifier(IdentifierTree node, TreePath p) {
++ Element asElement = asElement(new TreePath(p, node));
++ if (!node.getName().contentEquals("this") &&
++- asElement != null &&
++ (asElement.getKind().equals(ElementKind.FIELD)
++ || asElement.getKind().equals(ElementKind.METHOD)
++ || asElement.getKind().equals(ElementKind.CLASS))) {
++@@ -451,9 +450,9 @@ public class InlineRefactoringPlugin extends JavaRefactoringPlugin {
++ @Override
++ public Tree visitNewClass(NewClassTree node, TreePath p) {
++ Element asElement = asElement(new TreePath(p, node));
++- if (asElement != null && (asElement.getKind().equals(ElementKind.FIELD)
+++ if (asElement.getKind().equals(ElementKind.FIELD)
++ || asElement.getKind().equals(ElementKind.METHOD)
++- || asElement.getKind().equals(ElementKind.CLASS))) {
+++ || asElement.getKind().equals(ElementKind.CLASS)) {
++ Modifier mod = getAccessSpecifier(asElement.getModifiers());
++ // accessorRightProblem = hasAccessorRightProblem(mod);
++ qualIdentProblem = hasQualIdentProblem(element, asElement);
++@@ -464,9 +463,9 @@ public class InlineRefactoringPlugin extends JavaRefactoringPlugin {
++ @Override
++ public Tree visitMemberSelect(MemberSelectTree node, TreePath p) {
++ Element asElement = asElement(new TreePath(p, node));
++- if (asElement != null && (asElement.getKind().equals(ElementKind.FIELD)
+++ if (asElement.getKind().equals(ElementKind.FIELD)
++ || asElement.getKind().equals(ElementKind.METHOD)
++- || asElement.getKind().equals(ElementKind.CLASS))) {
+++ || asElement.getKind().equals(ElementKind.CLASS)) {
++ Modifier mod = getAccessSpecifier(asElement.getModifiers());
++ // accessorRightProblem = hasAccessorRightProblem(mod);
++ qualIdentProblem = hasQualIdentProblem(element, asElement);
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/InnerToOuterTransformer.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/InnerToOuterTransformer.java
++index bc88ce35d..646fdc162 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/InnerToOuterTransformer.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/InnerToOuterTransformer.java
++@@ -53,6 +53,7 @@ import javax.lang.model.element.*;
++ import javax.lang.model.type.TypeMirror;
++ import javax.tools.JavaFileObject;
++ import org.netbeans.api.java.classpath.ClassPath;
+++import org.netbeans.api.java.source.Comment;
++ import org.netbeans.api.java.source.GeneratorUtilities;
++ import org.netbeans.api.java.source.TreeUtilities;
++ import org.netbeans.api.java.source.WorkingCopy;
++@@ -99,9 +100,6 @@ public class InnerToOuterTransformer extends RefactoringVisitor {
++ return null;
++ }
++ Element current = getCurrentElement();
++- if (current == null) {
++- return null;
++- }
++ if (inner.equals(current)) {
++ Tree newTree = make.setLabel(node, refactoring.getClassName());
++ rewrite(node, newTree);
++@@ -174,7 +172,7 @@ public class InnerToOuterTransformer extends RefactoringVisitor {
++ boolean removeEnclosingExpression = false;
++ if(enclosingExpression != null) {
++ Element enclosingElement = workingCopy.getTrees().getElement(workingCopy.getTrees().getPath(workingCopy.getCompilationUnit(), enclosingExpression));
++- if(enclosingElement != null && workingCopy.getTypes().isSameType(enclosingElement.asType(), outer.asType())) {
+++ if(workingCopy.getTypes().isSameType(enclosingElement.asType(), outer.asType())) {
++ thisString = enclosingExpression.toString();
++ removeEnclosingExpression = true;
++ }
++@@ -246,15 +244,12 @@ public class InnerToOuterTransformer extends RefactoringVisitor {
++ public Tree visitMethod(MethodTree constructor, Element element) {
++ if (constructor.getReturnType()==null) {
++ //constructor
++- if (refactoring.getReferenceName() != null && !inner.equals(getCurrentClass())) {
++- Element current = getCurrentElement();
++- if (current != null && workingCopy.getTypes().isSubtype(current.getEnclosingElement().asType(), inner.asType())) {
++- MemberSelectTree arg = make.MemberSelect(make.Identifier(getCurrentClass().getEnclosingElement().getSimpleName()), "this"); // NOI18N
++- MethodInvocationTree superCall = (MethodInvocationTree) ((ExpressionStatementTree)constructor.getBody().getStatements().get(0)).getExpression();
++- int index = hasVarArgs(constructor) ? constructor.getParameters().size() - 1 : 0;
++- MethodInvocationTree newSuperCall = make.insertMethodInvocationArgument(superCall, index, arg);
++- rewrite(superCall, newSuperCall);
++- }
+++ if (refactoring.getReferenceName() != null && !inner.equals(getCurrentClass()) && workingCopy.getTypes().isSubtype(getCurrentElement().getEnclosingElement().asType(), inner.asType())) {
+++ MemberSelectTree arg = make.MemberSelect(make.Identifier(getCurrentClass().getEnclosingElement().getSimpleName()), "this"); // NOI18N
+++ MethodInvocationTree superCall = (MethodInvocationTree) ((ExpressionStatementTree)constructor.getBody().getStatements().get(0)).getExpression();
+++ int index = hasVarArgs(constructor) ? constructor.getParameters().size() - 1 : 0;
+++ MethodInvocationTree newSuperCall = make.insertMethodInvocationArgument(superCall, index, arg);
+++ rewrite(superCall, newSuperCall);
++ }
++
++ }
++@@ -264,9 +259,6 @@ public class InnerToOuterTransformer extends RefactoringVisitor {
++ @Override
++ public Tree visitClass(ClassTree classTree, Element element) {
++ Element currentElement = workingCopy.getTrees().getElement(getCurrentPath());
++- if (currentElement == null) {
++- return super.visitClass(classTree, element);
++- }
++ GeneratorUtilities genUtils = GeneratorUtilities.get(workingCopy); // helper
++ if (currentElement!=null && currentElement == outer) {
++ Element outerouter = outer.getEnclosingElement();
++@@ -421,9 +413,6 @@ public class InnerToOuterTransformer extends RefactoringVisitor {
++ @Override
++ public Tree visitMemberSelect(MemberSelectTree memberSelect, Element element) {
++ Element current = getCurrentElement();
++- if (current == null) {
++- return super.visitMemberSelect(memberSelect, inner);
++- }
++ if (inner.equals(current)) {
++ ExpressionTree ex = memberSelect.getExpression();
++ Tree newTree;
++@@ -450,7 +439,7 @@ public class InnerToOuterTransformer extends RefactoringVisitor {
++ }
++ } else if (isThisReferenceToOuter() && isThisInInner()) {
++ if (current.getModifiers().contains(Modifier.PRIVATE)) {
++- referencedPrivateElement.add(current);
+++ referencedPrivateElement.add(getCurrentElement());
++ }
++ if (!"class".equals(memberSelect.getIdentifier().toString()) && !current.getModifiers().contains(Modifier.STATIC)) { //NOI18N)
++ if (refactoring.getReferenceName()!=null) {
++@@ -487,18 +476,6 @@ public class InnerToOuterTransformer extends RefactoringVisitor {
++ return super.visitMemberSelect(memberSelect, element);
++ }
++
++- @Override
++- public Tree visitLambdaExpression(LambdaExpressionTree node, Element p) {
++- List<? extends VariableTree> params = node.getParameters();
++- boolean skipType = params.size() > 0 && (params.get(0).getType() == null
++- || workingCopy.getTreeUtilities().isSynthetic(new TreePath(getCurrentPath(), params.get(0).getType())));
++- if(skipType) {
++- return scan(node.getBody(), p);
++- } else {
++- return super.visitLambdaExpression(node, p);
++- }
++- }
++-
++ private boolean isThisReferenceToInner() {
++ Element cur = getCurrentElement();
++ if (cur==null || cur.getKind() == ElementKind.PACKAGE) {
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/InstantRefactoringPerformer.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/InstantRefactoringPerformer.java
++index 7ae67aee6..e04242676 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/InstantRefactoringPerformer.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/InstantRefactoringPerformer.java
++@@ -94,6 +94,7 @@ import org.netbeans.api.editor.mimelookup.MimeRegistrations;
++ import org.netbeans.api.editor.settings.AttributesUtilities;
++ import org.netbeans.api.editor.settings.EditorStyleConstants;
++ import org.netbeans.api.editor.settings.FontColorSettings;
+++import org.netbeans.api.java.source.ui.ScanDialog;
++ import org.netbeans.api.progress.ProgressHandle;
++ import org.netbeans.api.progress.ProgressHandleFactory;
++ import org.netbeans.editor.BaseDocument;
++@@ -109,7 +110,6 @@ import org.netbeans.modules.refactoring.api.RefactoringSession;
++ import static org.netbeans.modules.refactoring.java.ui.ContextAnalyzer.SHOW;
++ import org.netbeans.modules.refactoring.java.ui.InstantRefactoringUI;
++ import org.netbeans.modules.refactoring.java.ui.SyncDocumentRegion;
++-import org.netbeans.modules.refactoring.java.ui.UIUtilities;
++ import org.netbeans.modules.refactoring.java.ui.instant.CompletionLayout;
++ import org.netbeans.modules.refactoring.java.ui.instant.InstantOption;
++ import org.netbeans.modules.refactoring.spi.RefactoringElementsBag;
++@@ -249,11 +249,11 @@ public final class InstantRefactoringPerformer implements DocumentListener, KeyL
++
++ @Override
++ public void run() {
++- UIUtilities.runWhenScanFinished(task, "Instant Refactoring");
+++ ScanDialog.runWhenScanFinished(task, "Instant Refactoring");
++ }
++ });
++ } else {
++- UIUtilities.runWhenScanFinished(task, "Instant Refactoring");
+++ ScanDialog.runWhenScanFinished(task, "Instant Refactoring");
++ }
++ }
++
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/IntroduceLocalExtensionTransformer.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/IntroduceLocalExtensionTransformer.java
++index 8573d9bef..47055da67 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/IntroduceLocalExtensionTransformer.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/IntroduceLocalExtensionTransformer.java
++@@ -190,26 +190,18 @@ public class IntroduceLocalExtensionTransformer extends RefactoringVisitor {
++ VariableTree variable = make.Variable(field, make.QualIdent(field));
++ members.add(0, variable);
++ } else {
++- ExecutableElement[] elements = new ExecutableElement[2];
++- MethodTree[] createdGetterAndSetter = createGetterAndSetter(field, field.getModifiers(), cs, elements);
+++ MethodTree[] createdGetterAndSetter = createGetterAndSetter(field, field.getModifiers(), cs);
++ ElementHandle<Element> fieldHandle = ElementHandle.create((Element) field);
++- MethodTree getter = createdGetterAndSetter[0];
++- MethodTree setter = createdGetterAndSetter[1];
++ getterSetterMap.put(fieldHandle, new String[]{
++- getter == null ? elements[0].getSimpleName().toString() : getter.getName().toString(),
++- setter == null ? elements[1].getSimpleName().toString() : setter.getName().toString()});
++- if(getter != null) {
++- members.add(getter);
++- }
++- if(setter != null) {
++- members.add(setter);
++- }
+++ createdGetterAndSetter[0].getName().toString(),
+++ createdGetterAndSetter[1].getName().toString()});
+++ members.addAll(Arrays.asList(createdGetterAndSetter));
++ }
++ }
++ }
++ }
++
++- private MethodTree[] createGetterAndSetter(VariableElement field, Set<Modifier> useModifiers, CodeStyle cs, ExecutableElement[] elements) {
+++ private MethodTree[] createGetterAndSetter(VariableElement field, Set<Modifier> useModifiers, CodeStyle cs) {
++ boolean staticMod = field.getModifiers().contains(Modifier.STATIC);
++ String getterName = CodeStyleUtils.computeGetterName(field.getSimpleName(), field.asType().getKind() == TypeKind.BOOLEAN, staticMod, cs);
++ String setterName = CodeStyleUtils.computeSetterName(field.getSimpleName(), staticMod, cs);
++@@ -231,12 +223,14 @@ public class IntroduceLocalExtensionTransformer extends RefactoringVisitor {
++ MethodTree[] result = new MethodTree[2];
++
++ ExecutableElement getterElm = null;
++- getterElm = EncapsulateFieldRefactoringPlugin.findMethod(
++- workingCopy,
++- (TypeElement) field.getEnclosingElement(),
++- getterName,
++- Collections.<VariableElement>emptyList(), false);
++- if (getterElm == null) {
+++ if (getterName != null) {
+++ getterElm = EncapsulateFieldRefactoringPlugin.findMethod(
+++ workingCopy,
+++ (TypeElement) field.getEnclosingElement(),
+++ getterName,
+++ Collections.<VariableElement>emptyList(), false);
+++ }
+++ if (getterElm == null && getterName != null) {
++ MethodTree getter = make.Method(
++ make.Modifiers(mods),
++ getterName,
++@@ -249,20 +243,21 @@ public class IntroduceLocalExtensionTransformer extends RefactoringVisitor {
++ result[0] = getter;
++ String jdText = null;
++ String prefix = jdText == null ? "" : jdText + "\n"; // NOI18N
++- Comment comment = Comment.create(Comment.Style.JAVADOC, -2, -2, -2,
+++ Comment comment = Comment.create(
+++ Comment.Style.JAVADOC, -2, -2, -2,
++ prefix + "@return the " + field.getSimpleName()); // NOI18N
++ make.addComment(getter, comment, true);
++- } else {
++- elements[0] = getterElm;
++ }
++
++ ExecutableElement setterElm = null;
++- setterElm = EncapsulateFieldRefactoringPlugin.findMethod(
++- workingCopy,
++- (TypeElement) field.getEnclosingElement(),
++- setterName,
++- Collections.<VariableElement>singletonList(field), false);
++- if (setterElm == null) {
+++ if (setterName != null) {
+++ setterElm = EncapsulateFieldRefactoringPlugin.findMethod(
+++ workingCopy,
+++ (TypeElement) field.getEnclosingElement(),
+++ setterName,
+++ Collections.<VariableElement>singletonList(field), false);
+++ }
+++ if (setterElm == null && setterName != null) {
++ VariableTree paramTree = make.Variable(
++ make.Modifiers(Collections.<Modifier>emptySet()), parName, fieldTree.getType(), null);
++ MethodTree setter = make.Method(
++@@ -282,8 +277,6 @@ public class IntroduceLocalExtensionTransformer extends RefactoringVisitor {
++ Comment.Style.JAVADOC, -2, -2, -2,
++ prefix + String.format("@param %s the %s to set", parName, fieldName)); // NOI18N
++ make.addComment(setter, comment, true);
++- } else {
++- elements[1] = setterElm;
++ }
++ return result;
++ }
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/IntroduceParameterPlugin.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/IntroduceParameterPlugin.java
++index 131719657..acf0af053 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/IntroduceParameterPlugin.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/IntroduceParameterPlugin.java
++@@ -118,7 +118,7 @@ public class IntroduceParameterPlugin extends JavaRefactoringPlugin {
++ super.visitVariable(vt, p);
++ TreePath path = javac.getTrees().getPath(javac.getCompilationUnit(), vt);
++ Element element = javac.getTrees().getElement(path);
++- boolean sameName = element != null && vt.getName().contentEquals(p) && !element.equals(parameterElement);
+++ boolean sameName = vt.getName().contentEquals(p) && !element.equals(parameterElement);
++
++ return sameName && element != variableElement;
++ }
++@@ -128,7 +128,7 @@ public class IntroduceParameterPlugin extends JavaRefactoringPlugin {
++ super.visitIdentifier(it, p);
++ TreePath path = javac.getTrees().getPath(javac.getCompilationUnit(), it);
++ Element element = javac.getTrees().getElement(path);
++- boolean sameName = element != null && VARIABLES.contains(element.getKind()) && it.getName().contentEquals(p) && !element.equals(parameterElement);
+++ boolean sameName = VARIABLES.contains(element.getKind()) && it.getName().contentEquals(p) && !element.equals(parameterElement);
++
++ return sameName && element != variableElement;
++ }
++@@ -150,13 +150,7 @@ public class IntroduceParameterPlugin extends JavaRefactoringPlugin {
++ };
++
++ TreePath methodPath = JavaPluginUtils.findMethod(resolved);
++- if (methodPath == null) {
++- return p;
++- }
++ final ExecutableElement method = (ExecutableElement) javac.getTrees().getElement(methodPath);
++- if (method == null) {
++- return p;
++- }
++
++ boolean isConstructor = method.getKind() == ElementKind.CONSTRUCTOR;
++
++@@ -278,19 +272,22 @@ public class IntroduceParameterPlugin extends JavaRefactoringPlugin {
++ } else {
++ sttmts = findAddPosition(workingCopy, resolved, Collections.<TreePath>emptySet());
++ }
++- if (sttmts != null) {
++- List<StatementTree> nueStatements2 = new LinkedList<StatementTree>(sttmts.getStatements());
+++ if (sttmts == null) {
+++ return;
+++ }
++
++- if (expressionStatement) {
++- nueStatements2.remove(resolved.getParentPath().getLeaf());
++- }
++- if (variableRewrite) {
++- nueStatements2.remove(resolved.getLeaf());
++- }
+++ List<StatementTree> nueStatements2 = new LinkedList<StatementTree>(sttmts.getStatements());
++
++- BlockTree nueBlock2 = make.Block(nueStatements2, false);
++- workingCopy.rewrite(sttmts, nueBlock2);
+++ if (expressionStatement) {
+++ nueStatements2.remove(resolved.getParentPath().getLeaf());
+++ }
+++ if (variableRewrite) {
+++ nueStatements2.remove(resolved.getLeaf());
++ }
+++
+++ BlockTree nueBlock2 = make.Block(nueStatements2, false);
+++ workingCopy.rewrite(sttmts, nueBlock2);
+++
++ if (!variableRewrite) {
++ Tree origParent = resolved.getParentPath().getLeaf();
++ Tree leaf = resolved.getLeaf();
++@@ -396,7 +393,7 @@ public class IntroduceParameterPlugin extends JavaRefactoringPlugin {
++ }
++
++ Element el = info.getTrees().getElement(method);
++- if (!RefactoringUtils.isExecutableElement(el)) {
+++ if (el != null && !(el.getKind() == ElementKind.METHOD || el.getKind() == ElementKind.CONSTRUCTOR)) {
++ preCheckProblem = createProblem(preCheckProblem, true, NbBundle.getMessage(IntroduceParameterPlugin.class, "ERR_ChangeParamsWrongType")); //NOI18N
++ return preCheckProblem;
++ }
++@@ -506,12 +503,7 @@ public class IntroduceParameterPlugin extends JavaRefactoringPlugin {
++ TreePath path = treePathHandle.resolve(info);
++ TreePath methodPath = JavaPluginUtils.findMethod(path);
++
++- ExecutableElement method = methodPath == null ? null : (ExecutableElement) info.getTrees().getElement(methodPath);
++- if (method == null) {
++- p = JavaPluginUtils.chainProblems(p, new Problem(true, NbBundle.getMessage(IntroduceParameterPlugin.class, "ERR_canNotResolve",
++- methodPath != null ? methodPath.getLeaf().toString() : treePathHandle)));
++- return p;
++- }
+++ ExecutableElement method = (ExecutableElement) info.getTrees().getElement(methodPath);
++ List<? extends VariableElement> parameters = method.getParameters();
++ paramTable = new ChangeParametersRefactoring.ParameterInfo[parameters.size() + 1];
++ for (int originalIndex = 0; originalIndex < parameters.size(); originalIndex++) {
++@@ -555,12 +547,12 @@ public class IntroduceParameterPlugin extends JavaRefactoringPlugin {
++ boolean variableRewrite = original.getKind() == Kind.VARIABLE;
++ ExpressionTree expression = !variableRewrite ? (ExpressionTree) original : ((VariableTree) original).getInitializer();
++
++- if (expression != null && expression.getKind() == Kind.PARENTHESIZED) { // If parenthesis are necessary, they will be added again later.
+++ if (expression.getKind() == Kind.PARENTHESIZED) { // If parenthesis are necessary, they will be added again later.
++ ParenthesizedTree parents = (ParenthesizedTree) expression;
++ expression = parents.getExpression();
++ }
++
++- paramTable[index] = new ChangeParametersRefactoring.ParameterInfo(-1, refactoring.getParameterName(), (refactoring.isFinal() ? FINAL : "") + type, expression == null ? ((VariableTree) original).getName().toString() : expression.toString());
+++ paramTable[index] = new ChangeParametersRefactoring.ParameterInfo(-1, refactoring.getParameterName(), (refactoring.isFinal() ? FINAL : "") + type, expression.toString());
++
++ TreePath resolved = treePathHandle.resolve(info);
++ TreePath meth = JavaPluginUtils.findMethod(resolved);
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/InvertBooleanRefactoringPlugin.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/InvertBooleanRefactoringPlugin.java
++index e15ddd9fe..081c0f228 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/InvertBooleanRefactoringPlugin.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/InvertBooleanRefactoringPlugin.java
++@@ -1,10 +1,7 @@
++ /*
++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++ *
++- * Copyright 2010 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
+++ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
++ *
++ * The contents of this file are subject to the terms of either the GNU
++ * General Public License Version 2 only ("GPL") or the Common
++@@ -16,9 +13,9 @@
++ * specific language governing permissions and limitations under the
++ * License. When distributing the software, include this License Header
++ * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
+++ * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
++ * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
+++ * by Sun in the GPL Version 2 section of the License file that
++ * accompanied this code. If applicable, add the following below the
++ * License Header, with the fields enclosed by brackets [] replaced by
++ * your own identifying information:
++@@ -254,7 +251,7 @@ public class InvertBooleanRefactoringPlugin implements RefactoringPlugin { //ext
++ String scriptTemplate;
++ Tree leaf = path.getLeaf();
++ TypeElement parent = (TypeElement) parameter.getTrees().getElement(path.getParentPath());
++- // XXX: parent should be checked ?
+++
++ arguments.put("newName", invertBooleanRefactoring.getNewName());
++ arguments.put("enclosing", parent.getQualifiedName().toString());
++
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/JavaPluginUtils.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/JavaPluginUtils.java
++index e012e047f..3495c660d 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/JavaPluginUtils.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/JavaPluginUtils.java
++@@ -76,10 +76,6 @@ public final class JavaPluginUtils {
++ private static final Logger LOG = Logger.getLogger(JavaPluginUtils.class.getName());
++
++ public static Problem isSourceElement(Element el, CompilationInfo info) {
++- if (el == null) {
++- // XXX: shouldn't we create a problem ? How ?
++- return null;
++- }
++ Problem preCheckProblem;
++ Element typeElement;
++ if(el.getKind() != ElementKind.PACKAGE) {
++@@ -536,8 +532,6 @@ public final class JavaPluginUtils {
++ } else {
++ List<Tree> typeDeclarations = new LinkedList<Tree>(newCompilation.getTypeDecls());
++ Tree templateClazz = typeDeclarations.remove(0); // TODO: Check for class with correct name, template could start with another type.
++- // mark the template CU as removed; any untransfered comments will be (?) lost.
++- workingCopy.getTreeMaker().asRemoved(templateClazz);
++ if (workingCopy.getTreeUtilities().getComments(typeDecl, true).isEmpty()) {
++ genUtils.copyComments(templateClazz, typeDecl, true);
++ } else if (workingCopy.getTreeUtilities().getComments(typeDecl, false).isEmpty()) {
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/JavaWhereUsedQueryPlugin.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/JavaWhereUsedQueryPlugin.java
++index 9265fadbb..22c8cb74d 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/JavaWhereUsedQueryPlugin.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/JavaWhereUsedQueryPlugin.java
++@@ -137,6 +137,101 @@ public class JavaWhereUsedQueryPlugin extends JavaRefactoringPlugin implements F
++ return null;
++ }
++
+++ private Set<FileObject> getRelevantFiles(final TreePathHandle tph) {
+++ Set<FileObject> fileSet;
+++ ClasspathInfo cp = getClasspathInfo(refactoring);
+++ fromLibrary = tph.getFileObject() == null || tph.getFileObject().getNameExt().endsWith("class"); // NOI18N
+++ if(isSearchFromBaseClass()) {
+++ TreePathHandle sourceHandle = refactoring.getContext().lookup(TreePathHandle.class);
+++ if (fromLibrary && sourceHandle != null) {
+++ cp = RefactoringUtils.getClasspathInfoFor(sourceHandle, tph);
+++ } else {
+++ cp = RefactoringUtils.getClasspathInfoFor(tph);
+++ }
+++ }
+++
+++ Scope customScope = refactoring.getContext().lookup(Scope.class);
+++ ClasspathInfo cpath;
+++ if (customScope != null) {
+++ fileSet = new TreeSet<>(new FileComparator());
+++ fileSet.addAll(customScope.getFiles());
+++ FileObject fo = null;
+++ if(fromLibrary) {
+++ fo = RefactoringUtils.getFileObject(tph);
+++ if (fo == null) {
+++ fo = tph.getFileObject();
+++ }
+++ }
+++ if (!customScope.getSourceRoots().isEmpty()) {
+++ if(isSearchFromBaseClass() && fo != null) {
+++ HashSet<FileObject> fileobjects = new HashSet<>(customScope.getSourceRoots());
+++ fileobjects.add(fo);
+++ cpath = RefactoringUtils.getClasspathInfoFor(customScope.isDependencies(), fileobjects.toArray(new FileObject[0]));
+++ } else {
+++ cpath = RefactoringUtils.getClasspathInfoFor(customScope.isDependencies(), customScope.getSourceRoots().toArray(new FileObject[0]));
+++ }
+++ Set<FileObject> relevantFiles = getRelevantFiles(tph,
+++ cpath,
+++ isFindSubclasses(),
+++ isFindDirectSubclassesOnly(),
+++ isFindOverridingMethods(),
+++ isSearchOverloadedMethods(),
+++ isFindUsages(),
+++ customScope.isDependencies(),
+++ isSearchInComments(),
+++ null, cancelRequested);
+++ fileSet.addAll(relevantFiles);
+++ }
+++ Map<FileObject, Set<NonRecursiveFolder>> folders = new HashMap<>();
+++
+++ for(NonRecursiveFolder nonRecursiveFolder : customScope.getFolders()) {
+++ FileObject folder = nonRecursiveFolder.getFolder();
+++ ClassPath classPath = ClassPath.getClassPath(folder, ClassPath.SOURCE);
+++ final FileObject sourceRoot = classPath.findOwnerRoot(folder);
+++ Set<NonRecursiveFolder> packages = folders.get(sourceRoot);
+++ if(packages == null) {
+++ packages = new HashSet<>();
+++ folders.put(sourceRoot, packages);
+++ }
+++ packages.add(nonRecursiveFolder);
+++ }
+++
+++ for (FileObject sourceRoot : folders.keySet()) {
+++ Set<NonRecursiveFolder> packages = folders.get(sourceRoot);
+++ if (packages != null && !packages.isEmpty()) {
+++ if(isSearchFromBaseClass() && fo != null) {
+++ cpath = RefactoringUtils.getClasspathInfoFor(customScope.isDependencies(), sourceRoot, fo);
+++ } else {
+++ cpath = RefactoringUtils.getClasspathInfoFor(customScope.isDependencies(), sourceRoot);
+++ }
+++ Set<FileObject> relevantFiles = getRelevantFiles(tph,
+++ cpath,
+++ isFindSubclasses(),
+++ isFindDirectSubclassesOnly(),
+++ isFindOverridingMethods(),
+++ isSearchOverloadedMethods(),
+++ isFindUsages(), customScope.isDependencies(),
+++ isSearchInComments(), packages, cancelRequested);
+++ fileSet.addAll(relevantFiles);
+++ }
+++ }
+++ return fileSet;
+++ } else {
+++ fileSet = getRelevantFiles(
+++ tph,
+++ cp,
+++ isFindSubclasses(),
+++ isFindDirectSubclassesOnly(),
+++ isFindOverridingMethods(),
+++ isSearchOverloadedMethods(),
+++ isFindUsages(),
+++ false,
+++ isSearchInComments(),
+++ null,
+++ cancelRequested);
+++ }
+++ return fileSet;
+++ }
++
++ public static Set<FileObject> getRelevantFiles(
++ final TreePathHandle tph, final ClasspathInfo cpInfo,
++@@ -165,9 +260,7 @@ public class JavaWhereUsedQueryPlugin extends JavaRefactoringPlugin implements F
++ info.toPhase(JavaSource.Phase.RESOLVED);
++ final Element el = tph.resolveElement(info);
++ if (el == null) {
++- sourceSet.clear();
++- LOG.log(Level.INFO, "#250160 #145291: Cannot resolve handle: %s\n%s", new Object[] {tph, info.getClasspathInfo()});
++- return;
+++ throw new NullPointerException(String.format("#145291: Cannot resolve handle: %s\n%s", tph, info.getClasspathInfo())); // NOI18N
++ }
++ Set<SearchScopeType> searchScopeType = new HashSet<>(1);
++ final Set<String> packageSet = new HashSet<>(packages.size());
++@@ -261,7 +354,7 @@ public class JavaWhereUsedQueryPlugin extends JavaRefactoringPlugin implements F
++ continue;
++ }
++ for (Element e : te.getEnclosedElements()) {
++- if (RefactoringUtils.isExecutableElement(e)) {
+++ if (e.getKind() == ElementKind.METHOD || e.getKind() == ElementKind.CONSTRUCTOR) {
++ for (ExecutableElement executableElement : methods) {
++ if (info.getElements().overrides((ExecutableElement) e, executableElement, te)) {
++ sourceSet.addAll(idx.getResources(ElementHandle.create(te), EnumSet.of(ClassIndex.SearchKind.METHOD_REFERENCES), searchScopeType, resourceType));
++@@ -287,6 +380,9 @@ public class JavaWhereUsedQueryPlugin extends JavaRefactoringPlugin implements F
++ }
++ Set<FileObject> result = sourceSet;
++ // filter out files that are not on source path
+++ for (FileObject fileObject : result) {
+++ LOG.fine(fileObject.getNameExt());
+++ }
++ if(!isIncludeDependencies) {
++ Set<FileObject> filteredSources = new HashSet<>(sourceSet.size());
++ ClassPath cp = cpInfo.getClassPath(ClasspathInfo.PathKind.SOURCE);
++@@ -305,7 +401,11 @@ public class JavaWhereUsedQueryPlugin extends JavaRefactoringPlugin implements F
++ return result;
++ }
++ private static final Logger LOG = Logger.getLogger(JavaWhereUsedQueryPlugin.class.getName());
++-
+++
+++ static {
+++ LOG.setLevel(Level.ALL);
+++ }
+++
++ private static Collection<FileObject> getImplementorsRecursive(ClassIndex idx, ClasspathInfo cpInfo, TypeElement el, AtomicBoolean cancel) {
++ Set<?> implementorsAsHandles = RefactoringUtils.getImplementorsAsHandles(idx, cpInfo, el, cancel);
++
++@@ -334,105 +434,15 @@ public class JavaWhereUsedQueryPlugin extends JavaRefactoringPlugin implements F
++ fireProgressListenerStart(ProgressEvent.START, -1);
++ usedAccessFilters.clear();
++ usedFilters.clear();
++-
++- final FindTask findTask = new FindTask(elements);
+++ Set<FileObject> a = getRelevantFiles(refactoring.getRefactoringSource().lookup(TreePathHandle.class));
+++ fireProgressListenerStep(a.size());
++ Problem problem = null;
++-
++- ClasspathInfo cp = getClasspathInfo(refactoring);
++- fromLibrary = refactoring.getRefactoringSource().lookup(TreePathHandle.class).getFileObject() == null || refactoring.getRefactoringSource().lookup(TreePathHandle.class).getFileObject().getNameExt().endsWith("class"); // NOI18N
++- if (isSearchFromBaseClass()) {
++- TreePathHandle sourceHandle = refactoring.getContext().lookup(TreePathHandle.class);
++- if (fromLibrary && sourceHandle != null) {
++- cp = RefactoringUtils.getClasspathInfoFor(sourceHandle, refactoring.getRefactoringSource().lookup(TreePathHandle.class));
++- } else {
++- cp = RefactoringUtils.getClasspathInfoFor(refactoring.getRefactoringSource().lookup(TreePathHandle.class));
++- }
++- }
++- Scope customScope = refactoring.getContext().lookup(Scope.class);
++- if (customScope != null) {
++-
++- // ********* 1 *********
++- if (!customScope.getFiles().isEmpty()) {
++- Set<FileObject> a = new TreeSet<>(new FileComparator());
++- a.addAll(customScope.getFiles());
++- fireProgressListenerStep(a.size());
++- try {
++- queryFiles(a, findTask, RefactoringUtils.getClasspathInfoFor(a.toArray(new FileObject[a.size()])));
++- } catch (IOException e) {
++- problem = JavaPluginUtils.chainProblems(problem, createProblemAndLog(null, e));
++- }
++- }
++-
++- // ********* 2 *********
++- FileObject fo = null;
++- if (fromLibrary) {
++- fo = RefactoringUtils.getFileObject(refactoring.getRefactoringSource().lookup(TreePathHandle.class));
++- if (fo == null) {
++- fo = refactoring.getRefactoringSource().lookup(TreePathHandle.class).getFileObject();
++- }
++- }
++- if (!customScope.getSourceRoots().isEmpty()) {
++- ClasspathInfo cpath;
++- if(isSearchFromBaseClass() && fo != null) {
++- HashSet<FileObject> fileobjects = new HashSet<>(customScope.getSourceRoots());
++- fileobjects.add(fo);
++- cpath = RefactoringUtils.getClasspathInfoFor(customScope.isDependencies(), fileobjects.toArray(new FileObject[0]));
++- } else {
++- cpath = RefactoringUtils.getClasspathInfoFor(customScope.isDependencies(), customScope.getSourceRoots().toArray(new FileObject[0]));
++- }
++- Set<FileObject> a = getRelevantFiles(refactoring.getRefactoringSource().lookup(TreePathHandle.class), cpath, isFindSubclasses(), isFindDirectSubclassesOnly(), isFindOverridingMethods(), isSearchOverloadedMethods(), isFindUsages(), customScope.isDependencies(), isSearchInComments(), null, cancelRequested);
++-
++- fireProgressListenerStep(a.size());
++- try {
++- queryFiles(a, findTask, cpath);
++- } catch (IOException e) {
++- problem = JavaPluginUtils.chainProblems(problem, createProblemAndLog(null, e));
++- }
++- }
++-
++-
++- // ********* 3n *********
++- Map<FileObject, Set<NonRecursiveFolder>> folders = new HashMap<>();
++- for(NonRecursiveFolder nonRecursiveFolder : customScope.getFolders()) {
++- FileObject folder = nonRecursiveFolder.getFolder();
++- ClassPath classPath = ClassPath.getClassPath(folder, ClassPath.SOURCE);
++- final FileObject sourceRoot = classPath.findOwnerRoot(folder);
++- Set<NonRecursiveFolder> packages = folders.get(sourceRoot);
++- if(packages == null) {
++- packages = new HashSet<>();
++- folders.put(sourceRoot, packages);
++- }
++- packages.add(nonRecursiveFolder);
++- }
++- for (FileObject sourceRoot1 : folders.keySet()) {
++- Set<NonRecursiveFolder> packages1 = folders.get(sourceRoot1);
++- if (packages1 != null && !packages1.isEmpty()) {
++- ClasspathInfo cpath;
++- if (isSearchFromBaseClass() && fo != null) {
++- cpath = RefactoringUtils.getClasspathInfoFor(customScope.isDependencies(), sourceRoot1, fo);
++- } else {
++- cpath = RefactoringUtils.getClasspathInfoFor(customScope.isDependencies(), sourceRoot1);
++- }
++- Set<FileObject> a = getRelevantFiles(refactoring.getRefactoringSource().lookup(TreePathHandle.class), cpath, isFindSubclasses(), isFindDirectSubclassesOnly(), isFindOverridingMethods(), isSearchOverloadedMethods(), isFindUsages(), customScope.isDependencies(), isSearchInComments(), packages1, cancelRequested);
++-
++- fireProgressListenerStep(a.size());
++- try {
++- queryFiles(a, findTask, cpath);
++- } catch (IOException e) {
++- problem = JavaPluginUtils.chainProblems(problem, createProblemAndLog(null, e));
++- }
++- }
++- }
++- } else {
++- Set<FileObject> a = getRelevantFiles(refactoring.getRefactoringSource().lookup(TreePathHandle.class), cp, isFindSubclasses(), isFindDirectSubclassesOnly(), isFindOverridingMethods(), isSearchOverloadedMethods(), isFindUsages(), false, isSearchInComments(), null, cancelRequested);
++- fireProgressListenerStep(a.size());
++- try {
++- queryFiles(a, findTask, cp);
++- } catch (IOException e) {
++- problem = JavaPluginUtils.chainProblems(problem, createProblemAndLog(null, e));
++- }
+++ try {
+++ final FindTask findTask = new FindTask(elements);
+++ queryFiles(a, findTask, getClasspathInfo(refactoring));
+++ } catch (IOException e) {
+++ problem = createProblemAndLog(null, e);
++ }
++-
++ fireProgressListenerStop();
++ return problem;
++ }
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/MoveClassTransformer.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/MoveClassTransformer.java
++index a4901b5c2..d5bac4665 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/MoveClassTransformer.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/MoveClassTransformer.java
++@@ -436,7 +436,7 @@ public class MoveClassTransformer extends RefactoringVisitor {
++ }
++
++ private boolean isTopLevelClass(Element el) {
++- return el != null && (el.getKind().isClass()
+++ return (el.getKind().isClass()
++ || el.getKind().isInterface())
++ && el.getEnclosingElement().getKind() == ElementKind.PACKAGE;
++ }
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/MoveFileRefactoringPlugin.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/MoveFileRefactoringPlugin.java
++index cc862c361..c5d1ae72f 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/MoveFileRefactoringPlugin.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/MoveFileRefactoringPlugin.java
++@@ -176,7 +176,6 @@ public class MoveFileRefactoringPlugin extends JavaRefactoringPlugin {
++ }
++
++ @Override
++- @NbBundle.Messages("ERR_ClasspathNotFound=No classpath defined for {0}.")
++ public Problem fastCheckParameters() {
++ if (isRenameRefactoring) {
++ //folder rename
++@@ -203,14 +202,12 @@ public class MoveFileRefactoringPlugin extends JavaRefactoringPlugin {
++ try {
++ final URL targetUrl = ((MoveRefactoring)refactoring).getTarget().lookup(URL.class);
++ if(targetUrl != null) {
++- FileObject rootFO = null;
++- try {
++- rootFO = RefactoringUtils.getRootFileObject(targetUrl);
++- } catch (IllegalArgumentException | IOException ex) {
++- // target is invalid
++- }
+++ FileObject rootFO = RefactoringUtils.getRootFileObject(targetUrl);
++ if(rootFO == null || ClassPath.getClassPath(rootFO, ClassPath.SOURCE) == null) {
++- return new Problem(true, ERR_ClasspathNotFound(rootFO));
+++ return new Problem(true, NbBundle.getMessage(
+++ MoveFileRefactoringPlugin.class,
+++ "ERR_ClasspathNotFound",
+++ rootFO));
++ }
++ for (FileObject f: filesToMove) {
++ if (!RefactoringUtils.isJavaFile(f)) {
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/MoveMembersTransformer.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/MoveMembersTransformer.java
++index 77e545b5e..0232a5ae5 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/MoveMembersTransformer.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/MoveMembersTransformer.java
++@@ -188,7 +188,7 @@ public class MoveMembersTransformer extends RefactoringVisitor {
++ ExpressionTree expression = node.getExpression();
++ TreePath enclosingClassPath = JavaRefactoringUtils.findEnclosingClass(workingCopy, currentPath, true, true, true, true, true);
++ Element enclosingElement = workingCopy.getTrees().getElement(enclosingClassPath);
++- if (target.equals(enclosingElement)) {
+++ if (enclosingElement.equals(target)) {
++ IdentifierTree newIdt = make.Identifier(node.getIdentifier());
++ rewrite(node, newIdt);
++ } else {
++@@ -199,7 +199,7 @@ public class MoveMembersTransformer extends RefactoringVisitor {
++ TreePath enclosingClassPath = JavaRefactoringUtils.findEnclosingClass(workingCopy, currentPath, true, true, true, true, false);
++ Scope scope = workingCopy.getTrees().getScope(currentPath);
++ Element enclosingElement = workingCopy.getTrees().getElement(enclosingClassPath);
++- if (target.equals(enclosingElement)
+++ if (enclosingElement.equals(target)
++ && node.getKind() == Tree.Kind.MEMBER_SELECT
++ && !scope.getEnclosingMethod().getModifiers().contains(Modifier.STATIC)) {
++ IdentifierTree newIdt = make.Identifier(((MemberSelectTree) node).getIdentifier());
++@@ -237,7 +237,7 @@ public class MoveMembersTransformer extends RefactoringVisitor {
++ IdentifierTree it = (IdentifierTree) node;
++ TreePath enclosingClassPath = JavaRefactoringUtils.findEnclosingClass(workingCopy, currentPath, true, true, true, true, true);
++ Element enclosingElement = workingCopy.getTrees().getElement(enclosingClassPath);
++- if (enclosingElement == null || !enclosingElement.equals(target)) {
+++ if (!enclosingElement.equals(target)) {
++ ExpressionTree qualIdent = make.QualIdent(target);
++ MemberSelectTree memberSelect = make.MemberSelect(qualIdent, it.getName().toString());
++ rewrite(it, memberSelect);
++@@ -304,13 +304,13 @@ public class MoveMembersTransformer extends RefactoringVisitor {
++
++ if (el.getModifiers().contains(Modifier.STATIC)) {
++ if (node.getMethodSelect().getKind() == Tree.Kind.MEMBER_SELECT) {
++- if (enclosingElement != null && enclosingElement.equals(target)) {
+++ if (enclosingElement.equals(target)) {
++ newMethodSelect = make.Identifier(((MemberSelectTree) node.getMethodSelect()).getIdentifier());
++ } else {
++ newMethodSelect = make.MemberSelect(make.QualIdent(target), ((MemberSelectTree) node.getMethodSelect()).getIdentifier().toString());
++ }
++ } else { // if (methodSelect.getKind() == Tree.Kind.IDENTIFIER) {
++- if (enclosingElement == null || !enclosingElement.equals(target)) {
+++ if (!enclosingElement.equals(target)) {
++ newMethodSelect = make.MemberSelect(make.QualIdent(target), el);
++ } else {
++ newMethodSelect = node.getMethodSelect();
++@@ -471,13 +471,11 @@ public class MoveMembersTransformer extends RefactoringVisitor {
++ ExpressionTree methodSelect = node.getMethodSelect();
++ if(methodSelect.getKind() == Tree.Kind.MEMBER_SELECT) {
++ VariableElement element = (VariableElement) workingCopy.getTrees().getElement(new TreePath(currentPath, ((MemberSelectTree)methodSelect).getExpression()));
++- if (element != null) {
++- TypeMirror asType = element.asType();
++- if(asType.getKind() == TypeKind.DECLARED) {
++- List<? extends TypeMirror> typeArguments1 = ((DeclaredType)asType).getTypeArguments();
++- for (TypeMirror typeMirror : typeArguments1) {
++- typeArguments.add((ExpressionTree)make.Type(typeMirror));
++- }
+++ TypeMirror asType = element.asType();
+++ if(asType.getKind() == TypeKind.DECLARED) {
+++ List<? extends TypeMirror> typeArguments1 = ((DeclaredType)asType).getTypeArguments();
+++ for (TypeMirror typeMirror : typeArguments1) {
+++ typeArguments.add((ExpressionTree)make.Type(typeMirror));
++ }
++ }
++ } else {
++@@ -532,16 +530,9 @@ public class MoveMembersTransformer extends RefactoringVisitor {
++ for (TreePathHandle tph : allElements) {
++
++ final TreePath resolvedPath = tph.resolve(workingCopy);
++- if (resolvedPath == null) {
++- // XXX - should report a problem ?
++- continue;
++- }
++ Tree member = resolvedPath.getLeaf();
++ Tree newMember = null;
++ Element resolvedElement = workingCopy.getTrees().getElement(resolvedPath);
++- if (resolvedElement == null) {
++- continue;
++- }
++ final GeneratorUtilities genUtils = GeneratorUtilities.get(workingCopy);
++ genUtils.importComments(member, resolvedPath.getCompilationUnit());
++ // Make a new Method tree
++@@ -578,11 +569,7 @@ public class MoveMembersTransformer extends RefactoringVisitor {
++ public Void visitIdentifier(IdentifierTree node, Void p) {
++ TreePath treePath = trees.getPath(bodyPath.getCompilationUnit(), node);
++ if(!workingCopy.getTreeUtilities().isSynthetic(treePath)) {
++- // FIXME: path may skip some intermediate types which bring the identifier.
++- Element el = trees.getElement(treePath);
++- if (el != null) {
++- fqns.put(node, make.Identifier(el));
++- }
+++ fqns.put(node, make.Identifier(trees.getElement(treePath)));
++ }
++ return super.visitIdentifier(node, p);
++ }
++@@ -683,10 +670,8 @@ public class MoveMembersTransformer extends RefactoringVisitor {
++ };
++ TreePath path = new TreePath(resolvedPath, removedParameter);
++ Element element = trees.getElement(path);
++- if (element != null) {
++- final Pair<Element, ExpressionTree> pair = Pair.of(element, workingCopy.getTreeUtilities().parseExpression("this", new SourcePositions[1])); // NOI18N
++- idScan2.scan(body, pair);
++- }
+++ final Pair<Element, ExpressionTree> pair = Pair.of(element, workingCopy.getTreeUtilities().parseExpression("this", new SourcePositions[1])); // NOI18N
+++ idScan2.scan(body, pair);
++ }
++
++ body = (BlockTree) workingCopy.getTreeUtilities().translate(body, original2Translated);
++@@ -780,19 +765,12 @@ public class MoveMembersTransformer extends RefactoringVisitor {
++ ClassTree newClassTree = classTree;
++ for (TreePathHandle tph : allElements) {
++ TreePath resolvedPath = tph.resolve(workingCopy);
++- if (resolvedPath == null) {
++- // XXX: report missing target ?
++- continue;
++- }
++ Tree member = resolvedPath.getLeaf();
++ if (delegate && member.getKind() == Tree.Kind.METHOD) {
++ MethodTree methodTree = (MethodTree) member;
++ int index = newClassTree.getMembers().indexOf(methodTree);
++ newClassTree = make.removeClassMember(newClassTree, methodTree);
++ ExecutableElement element = (ExecutableElement) workingCopy.getTrees().getElement(resolvedPath);
++- if (element == null) {
++- continue;
++- }
++ List<ExpressionTree> paramList = new ArrayList<ExpressionTree>();
++
++ for (VariableElement variableElement : element.getParameters()) {
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/MoveTransformer.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/MoveTransformer.java
++index 4e6a4ff48..a8f4330e7 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/MoveTransformer.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/MoveTransformer.java
++@@ -442,7 +442,7 @@ public class MoveTransformer extends RefactoringVisitor {
++ MemberSelectTree memberSelect = (MemberSelectTree) qualifiedIdentifier;
++ if(memberSelect.getIdentifier().contentEquals("*")) {
++ Element packageElement = workingCopy.getTrees().getElement(new TreePath(getCurrentPath(), memberSelect.getExpression()));
++- if(packageElement != null && packageElement.getKind() == ElementKind.PACKAGE) {
+++ if(packageElement.getKind() == ElementKind.PACKAGE) {
++ PackageElement pakketje = (PackageElement) packageElement;
++ if(isThisPackageMoving(pakketje)) {
++ importToRemove.add(node);
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/OperatorPrecedence.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/OperatorPrecedence.java
++index 47a979fcd..a90300c2d 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/OperatorPrecedence.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/OperatorPrecedence.java
++@@ -191,7 +191,7 @@ public class OperatorPrecedence {
++ ExpressionTree rightOperand = ((BinaryTree) parent).getRightOperand();
++ Element rightElement = trees.getElement(trees.getPath(cut, rightOperand));
++
++- if(elementToFind != null && elementToFind.equals(rightElement)) {
+++ if(elementToFind.equals(rightElement)) {
++ return true;
++ }
++ }
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/PullUpTransformer.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/PullUpTransformer.java
++index 2763251e4..b5521f84e 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/PullUpTransformer.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/PullUpTransformer.java
++@@ -151,7 +151,7 @@ public class PullUpTransformer extends RefactoringVisitor {
++ if (members[i].getGroup() == MemberInfo.Group.IMPLEMENTS) {
++ for (Tree t : njuClass.getImplementsClause()) {
++ Element currentInterface = workingCopy.getTrees().getElement(TreePath.getPath(getCurrentPath(), t));
++- if (currentInterface != null && currentInterface.equals(members[i].getElementHandle().resolve(workingCopy))) {
+++ if (currentInterface.equals(members[i].getElementHandle().resolve(workingCopy))) {
++ njuClass = make.removeClassImplementsClause(njuClass, t);
++ rewrite(tree, njuClass);
++ }
++@@ -391,7 +391,7 @@ public class PullUpTransformer extends RefactoringVisitor {
++ if (isThis.equals("super") || isThis.endsWith(".super")) { //NOI18N
++ TreePath currentPath = new TreePath(mpath, node);
++ Element el = trees.getElement(currentPath);
++- if (el != null && el.getEnclosingElement().equals(targetType)) {
+++ if (el.getEnclosingElement().equals(targetType)) {
++ original2Translated.put(node, make.Identifier(node.getIdentifier()));
++ return Boolean.TRUE;
++ }
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/PushDownTransformer.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/PushDownTransformer.java
++index 2f6edae2e..cb51e3c12 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/PushDownTransformer.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/PushDownTransformer.java
++@@ -131,13 +131,9 @@ public class PushDownTransformer extends RefactoringVisitor {
++ public Tree visitMemberSelect(MemberSelectTree node, Element source) {
++ // Check if from visitClass and return changed tree, otherwise rewrite
++ final Element el = workingCopy.getTrees().getElement(getCurrentPath());
++- if (el == null) {
++- // fail fast
++- return super.visitMemberSelect(node, source);
++- }
++ for (int i = 0; i<members.length; i++) {
++ Element member = members[i].getElementHandle().resolve(workingCopy);
++- if (el.equals(member)) {
+++ if (el != null && el.equals(member)) {
++ String isSuper = node.getExpression().toString();
++ if (isSuper.equals("super") || isSuper.endsWith(".super")) { //NOI18N
++
++@@ -341,9 +337,6 @@ public class PushDownTransformer extends RefactoringVisitor {
++ // Remove implements
++ for (Tree t: tree.getImplementsClause()) {
++ Element currentInterface = workingCopy.getTrees().getElement(TreePath.getPath(getCurrentPath(), t));
++- if (currentInterface == null) {
++- continue;
++- }
++ for (int i=0; i<members.length; i++) {
++ if (members[i].getGroup()==MemberInfo.Group.IMPLEMENTS && currentInterface.equals(members[i].getElementHandle().resolve(workingCopy))) {
++ njuClass = make.removeClassImplementsClause(njuClass, t);
++@@ -352,9 +345,9 @@ public class PushDownTransformer extends RefactoringVisitor {
++ }
++
++ for (Tree t: njuClass.getMembers()) {
++- Element current = workingCopy.getTrees().getElement(new TreePath(getCurrentPath(), t));
++ for (int i=0; i<members.length; i++) {
++- if (members[i].getGroup()!=MemberInfo.Group.IMPLEMENTS && current.equals(members[i].getElementHandle().resolve(workingCopy))) {
+++ Element current = workingCopy.getTrees().getElement(new TreePath(getCurrentPath(), t));
+++ if (members[i].getGroup()!=MemberInfo.Group.IMPLEMENTS && current!=null && current.equals(members[i].getElementHandle().resolve(workingCopy))) {
++ if (members[i].isMakeAbstract()) {
++ if (el.getKind().isClass()) {
++
++@@ -417,7 +410,7 @@ public class PushDownTransformer extends RefactoringVisitor {
++
++ private void check() throws IllegalArgumentException {
++ Element thisElement = workingCopy.getTrees().getElement(getCurrentPath());
++- if (thisElement != null && thisElement.getKind()!=ElementKind.PACKAGE && workingCopy.getElementUtilities().enclosingTypeElement(thisElement) == el.getEnclosingElement()) {
+++ if (thisElement.getKind()!=ElementKind.PACKAGE && workingCopy.getElementUtilities().enclosingTypeElement(thisElement) == el.getEnclosingElement()) {
++ Tree tree = workingCopy.getTrees().getTree(thisElement);
++ if (thisElement.getKind().isField() && tree!=null) {
++ makeProtectedIfPrivate(((VariableTree) tree).getModifiers());
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/RenamePropertyRefactoringPlugin.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/RenamePropertyRefactoringPlugin.java
++index 0dfbddb53..e940c2aee 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/RenamePropertyRefactoringPlugin.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/RenamePropertyRefactoringPlugin.java
++@@ -44,7 +44,6 @@ package org.netbeans.modules.refactoring.java.plugins;
++ import com.sun.source.util.TreePath;
++ import java.io.IOException;
++ import javax.lang.model.element.Element;
++-import javax.lang.model.element.ElementKind;
++ import javax.lang.model.element.ExecutableElement;
++ import javax.lang.model.element.Modifier;
++ import javax.lang.model.element.Name;
++@@ -54,7 +53,6 @@ import javax.lang.model.util.ElementFilter;
++ import org.netbeans.api.java.source.CodeStyle;
++ import org.netbeans.api.java.source.CodeStyleUtils;
++ import org.netbeans.api.java.source.CompilationController;
++-import org.netbeans.api.java.source.CompilationInfo;
++ import org.netbeans.api.java.source.JavaSource;
++ import org.netbeans.api.java.source.Task;
++ import org.netbeans.api.java.source.TreePathHandle;
++@@ -125,73 +123,44 @@ public class RenamePropertyRefactoringPlugin extends JavaRefactoringPlugin {
++ }
++
++ @Override
++- protected Problem fastCheckParameters(CompilationController info) throws IOException {
+++ public Problem fastCheckParameters() {
++ if (!isRenameProperty()) {
++ return null;
++ }
++ initDelegates();
++-
++- info.toPhase(JavaSource.Phase.RESOLVED);
++- Element el = property.resolveElement(info);
++- if (el == null || el.getKind() != ElementKind.FIELD) {
++- return null;
++- }
++- String oldName = el.getSimpleName().toString();
++- String bareName = RefactoringUtils.removeFieldPrefixSuffix(el, codeStyle);
++
++- boolean isStatic = el.getModifiers().contains(Modifier.STATIC);
++- String bareNewName = CodeStyleUtils.removePrefixSuffix(refactoring.getNewName(),
++- isStatic ? codeStyle.getStaticFieldNamePrefix() : codeStyle.getFieldNamePrefix(),
++- isStatic ? codeStyle.getStaticFieldNameSuffix() : codeStyle.getFieldNameSuffix());
++-
++- if (bareName.equals(bareNewName)) {
++- return null;
++- }
++-
++ Problem p = null;
++- JavaRenameProperties renameProps = refactoring.getContext().lookup(JavaRenameProperties.class);
++- boolean saveNoChange = false;
++- if (renameProps != null) {
++- saveNoChange = renameProps.isNoChangeOK();
++- renameProps.setNoChangeOK(true);
++- }
++- try {
++- if (getterDelegate != null) {
++- String gettername = CodeStyleUtils.computeGetterName(
++- refactoring.getNewName(), isBoolean, isStatic, codeStyle);
++- getterDelegate.setNewName(gettername);
++- p = JavaPluginUtils.chainProblems(p, getterDelegate.fastCheckParameters());
++- if (p != null && p.isFatal()) {
++- return p;
++- }
++- }
++- if (setterDelegate != null) {
++- String settername = CodeStyleUtils.computeSetterName(
++- refactoring.getNewName(), isStatic, codeStyle);
++- setterDelegate.setNewName(settername);
++- p = JavaPluginUtils.chainProblems(p, setterDelegate.fastCheckParameters());
++- if (p != null && p.isFatal()) {
++- return p;
++- }
+++ if (getterDelegate != null) {
+++ String gettername = CodeStyleUtils.computeGetterName(
+++ refactoring.getNewName(), isBoolean, isStatic, codeStyle);
+++ getterDelegate.setNewName(gettername);
+++ p = JavaPluginUtils.chainProblems(p, getterDelegate.fastCheckParameters());
+++ if (p != null && p.isFatal()) {
+++ return p;
++ }
++- if (parameterDelegate != null) {
++- String newParam = RefactoringUtils.addParamPrefixSuffix(
++- CodeStyleUtils.removePrefixSuffix(
++- refactoring.getNewName(),
++- isStatic ? codeStyle.getStaticFieldNamePrefix() : codeStyle.getFieldNamePrefix(),
++- isStatic ? codeStyle.getStaticFieldNameSuffix() : codeStyle.getFieldNameSuffix()), codeStyle);
++- parameterDelegate.setNewName(newParam);
++- p = JavaPluginUtils.chainProblems(p, parameterDelegate.fastCheckParameters());
++- if (p != null && p.isFatal()) {
++- return p;
++- }
+++ }
+++ if (setterDelegate != null) {
+++ String settername = CodeStyleUtils.computeSetterName(
+++ refactoring.getNewName(), isStatic, codeStyle);
+++ setterDelegate.setNewName(settername);
+++ p = JavaPluginUtils.chainProblems(p, setterDelegate.fastCheckParameters());
+++ if (p != null && p.isFatal()) {
+++ return p;
++ }
++- } finally {
++- if (renameProps != null) {
++- renameProps.setNoChangeOK(saveNoChange);
+++ }
+++ if (parameterDelegate != null) {
+++ String newParam = RefactoringUtils.addParamPrefixSuffix(
+++ CodeStyleUtils.removePrefixSuffix(
+++ refactoring.getNewName(),
+++ isStatic ? codeStyle.getStaticFieldNamePrefix() : codeStyle.getFieldNamePrefix(),
+++ isStatic ? codeStyle.getStaticFieldNameSuffix() : codeStyle.getFieldNameSuffix()), codeStyle);
+++ parameterDelegate.setNewName(newParam);
+++ p = JavaPluginUtils.chainProblems(p, parameterDelegate.fastCheckParameters());
+++ if (p != null && p.isFatal()) {
+++ return p;
++ }
++ }
++- return p = JavaPluginUtils.chainProblems(p, super.fastCheckParameters(info));
+++ return p = JavaPluginUtils.chainProblems(p, super.fastCheckParameters());
++ }
++
++ @Override
++@@ -276,8 +245,6 @@ public class RenamePropertyRefactoringPlugin extends JavaRefactoringPlugin {
++
++ @Override
++ public void run(CompilationController p) throws Exception {
++- JavaRenameProperties renameProps = refactoring.getContext().lookup(JavaRenameProperties.class);
++-
++ p.toPhase(JavaSource.Phase.RESOLVED);
++ codeStyle = RefactoringUtils.getCodeStyle(p);
++ Element propertyElement = property.resolveElement(p);
++@@ -296,14 +263,12 @@ public class RenamePropertyRefactoringPlugin extends JavaRefactoringPlugin {
++ continue;
++ } else if (RefactoringUtils.isGetter(p, el, propertyElement)) {
++ getterDelegate = new RenameRefactoring(Lookups.singleton(TreePathHandle.create(el, p)));
++- getterDelegate.getContext().add(renameProps);
++ String gettername = CodeStyleUtils.computeGetterName(
++ refactoring.getNewName(), isBoolean, isStatic, codeStyle);
++ getterDelegate.setNewName(gettername);
++ getterDelegate.setSearchInComments(refactoring.isSearchInComments());
++ } else if (RefactoringUtils.isSetter(p, el, propertyElement)) {
++ setterDelegate = new RenameRefactoring(Lookups.singleton(TreePathHandle.create(el, p)));
++- setterDelegate.getContext().add(renameProps);
++ String settername = CodeStyleUtils.computeSetterName(
++ refactoring.getNewName(), isStatic, codeStyle);
++ setterDelegate.setNewName(settername);
++@@ -314,7 +279,6 @@ public class RenamePropertyRefactoringPlugin extends JavaRefactoringPlugin {
++ parameterDelegate.getContext().add(RenamePropertyRefactoringPlugin.this);
++ parameterDelegate.setNewName(newParam);
++ parameterDelegate.setSearchInComments(refactoring.isSearchInComments());
++- parameterDelegate.getContext().add(renameProps);
++ }
++ }
++ }
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/RenameRefactoringPlugin.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/RenameRefactoringPlugin.java
++index bd922d6d0..95d263e59 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/RenameRefactoringPlugin.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/RenameRefactoringPlugin.java
++@@ -64,7 +64,6 @@ import org.netbeans.modules.refactoring.api.RenameRefactoring;
++ import org.netbeans.modules.refactoring.java.RefactoringUtils;
++ import org.netbeans.modules.refactoring.java.api.JavaRefactoringUtils;
++ import org.netbeans.modules.refactoring.java.spi.JavaRefactoringPlugin;
++-import org.netbeans.modules.refactoring.java.ui.JavaRenameProperties;
++ import org.netbeans.modules.refactoring.spi.RefactoringElementsBag;
++ import org.openide.filesystems.FileObject;
++ import org.openide.util.NbBundle;
++@@ -293,11 +292,8 @@ public class RenameRefactoringPlugin extends JavaRefactoringPlugin {
++ }
++ }
++ if (nameNotChanged) {
++- JavaRenameProperties renameProps = refactoring.getContext().lookup(JavaRenameProperties.class);
++- if (renameProps == null || !renameProps.isNoChangeOK()) {
++- fastCheckProblem = createProblem(fastCheckProblem, true, getString("ERR_NameNotChanged"));
++- return fastCheckProblem;
++- }
+++ fastCheckProblem = createProblem(fastCheckProblem, true, getString("ERR_NameNotChanged"));
+++ return fastCheckProblem;
++ }
++
++ }
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/RenameTransformer.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/RenameTransformer.java
++index 7c4b9cae5..c2b2114ac 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/RenameTransformer.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/RenameTransformer.java
++@@ -238,7 +238,7 @@ public class RenameTransformer extends RefactoringVisitor {
++ return;
++ }
++ final Name id = ((MemberSelectTree) idTree).getIdentifier();
++- if (id == null || id.contentEquals("*") || !id.contentEquals(elementToFind.getSimpleName())) { // NOI18N
+++ if (id == null || id.contentEquals("*")) { // NOI18N
++ // skip import static java.lang.Math.*
++ return;
++ }
++@@ -393,10 +393,7 @@ public class RenameTransformer extends RefactoringVisitor {
++ }
++ TreePath elementPath = path;
++ Element el = workingCopy.getTrees().getElement(elementPath);
++- if (el == null) {
++- // fail fast
++- return;
++- }
+++
++ for (Element shadow : shadowed) {
++ if (shadow.equals(el)) {
++ if (elementToFind.getModifiers().contains(Modifier.STATIC)) {
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/ReplaceConstructorWithBuilderPlugin.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/ReplaceConstructorWithBuilderPlugin.java
++index 589157f48..67f6489c9 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/ReplaceConstructorWithBuilderPlugin.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/ReplaceConstructorWithBuilderPlugin.java
++@@ -1,10 +1,7 @@
++ /*
++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++ *
++- * Copyright 2010 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
+++ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
++ *
++ * The contents of this file are subject to the terms of either the GNU
++ * General Public License Version 2 only ("GPL") or the Common
++@@ -16,9 +13,9 @@
++ * specific language governing permissions and limitations under the
++ * License. When distributing the software, include this License Header
++ * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
+++ * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
++ * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
+++ * by Sun in the GPL Version 2 section of the License file that
++ * accompanied this code. If applicable, add the following below the
++ * License Header, with the fields enclosed by brackets [] replaced by
++ * your own identifying information:
++@@ -95,7 +92,7 @@ public class ReplaceConstructorWithBuilderPlugin extends JavaRefactoringPlugin {
++ @Override
++ protected Problem preCheck(CompilationController javac) throws IOException {
++ Element constr = treePathHandle.resolveElement(javac);
++- if(constr == null || constr.getKind() != ElementKind.CONSTRUCTOR) {
+++ if(constr.getKind() != ElementKind.CONSTRUCTOR) {
++ return new Problem(true, ERR_ReplaceWrongType());
++ }
++ if(constr.getModifiers().contains(Modifier.PRIVATE)) {
++@@ -116,9 +113,6 @@ public class ReplaceConstructorWithBuilderPlugin extends JavaRefactoringPlugin {
++ Problem problem = null;
++ javac.toPhase(JavaSource.Phase.RESOLVED);
++ TreePath constrPath = treePathHandle.resolve(javac);
++- if (constrPath == null || constrPath.getLeaf().getKind() != Tree.Kind.METHOD) {
++- return new Problem(true, ERR_ReplaceWrongType());
++- }
++ TypeElement type = (TypeElement) javac.getTrees().getElement(constrPath.getParentPath());
++ for (Setter setter : refactoring.getSetters()) {
++ if(setter.isOptional()) {
++@@ -170,13 +164,7 @@ public class ReplaceConstructorWithBuilderPlugin extends JavaRefactoringPlugin {
++ public void run(WorkingCopy workingCopy) throws Exception {
++ workingCopy.toPhase(JavaSource.Phase.RESOLVED);
++ TreePath constrPath = constr.resolve(workingCopy);
++- if (constrPath == null) {
++- return;
++- }
++ ExecutableElement element = (ExecutableElement) workingCopy.getTrees().getElement(constrPath);
++- if (element == null || element.getKind() != ElementKind.CONSTRUCTOR) {
++- return;
++- }
++ MethodTree constructor = (MethodTree) constrPath.getLeaf();
++ TypeElement parent = (TypeElement) workingCopy.getTrees().getElement(constrPath.getParentPath());
++ parentSimpleName[0] = parent.getSimpleName().toString();
++@@ -334,9 +322,7 @@ public class ReplaceConstructorWithBuilderPlugin extends JavaRefactoringPlugin {
++ ruleCode[0] = rule.toString();
++ }
++ });
++- if (ruleCode[0] == null) {
++- return new Problem(true, ERR_ReplaceWrongType());
++- }
+++
++ List<ModificationResult> results = new ArrayList<ModificationResult>();
++
++ results.add(mod);
++@@ -348,7 +334,7 @@ public class ReplaceConstructorWithBuilderPlugin extends JavaRefactoringPlugin {
++ final TreeMaker make = copy.getTreeMaker();
++ Element element = copy.getTrees().getElement(occurrence.getOccurrenceRoot());
++ ExecutableElement constrElement = (ExecutableElement) constr.resolveElement(copy);
++- if(constrElement == null || !constrElement.equals(element)) {
+++ if(!constrElement.equals(element)) {
++ return;
++ }
++ Collection<? extends TreePath> modifiers = occurrence.getMultiVariables().get("$modifiers$");
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/ReplaceConstructorWithFactoryPlugin.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/ReplaceConstructorWithFactoryPlugin.java
++index 0eafefe1a..3c4dacb6a 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/ReplaceConstructorWithFactoryPlugin.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/ReplaceConstructorWithFactoryPlugin.java
++@@ -1,10 +1,7 @@
++ /*
++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++ *
++- * Copyright 2010 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
+++ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
++ *
++ * The contents of this file are subject to the terms of either the GNU
++ * General Public License Version 2 only ("GPL") or the Common
++@@ -16,9 +13,9 @@
++ * specific language governing permissions and limitations under the
++ * License. When distributing the software, include this License Header
++ * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
+++ * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
++ * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
+++ * by Sun in the GPL Version 2 section of the License file that
++ * accompanied this code. If applicable, add the following below the
++ * License Header, with the fields enclosed by brackets [] replaced by
++ * your own identifying information:
++@@ -107,11 +104,9 @@ public class ReplaceConstructorWithFactoryPlugin extends JavaRefactoringPlugin {
++ String factoryName = refactoring.getFactoryName();
++
++ if (factoryName == null || factoryName.length() == 0) {
++- // FIXME: I18N
++ return new Problem(true, "No factory method name specified.");
++ }
++ if (!SourceVersion.isIdentifier(factoryName)) {
++- // FIXME: I18N
++ return new Problem(true, factoryName + " is not an identifier.");
++ }
++ return null;
++@@ -134,9 +129,6 @@ public class ReplaceConstructorWithFactoryPlugin extends JavaRefactoringPlugin {
++ public void run(WorkingCopy parameter) throws Exception {
++ parameter.toPhase(JavaSource.Phase.RESOLVED);
++ TreePath constrPath = constr.resolve(parameter);
++- if (constrPath == null || constrPath.getLeaf().getKind() != Tree.Kind.METHOD) {
++- return;
++- }
++ MethodTree constructor = (MethodTree) constrPath.getLeaf();
++ TypeElement parent = (TypeElement) parameter.getTrees().getElement(constrPath.getParentPath());
++ TreeMaker make = parameter.getTreeMaker();
++@@ -193,9 +185,7 @@ public class ReplaceConstructorWithFactoryPlugin extends JavaRefactoringPlugin {
++ toCode[0]+=";;";
++ }
++ });
++- if (ruleCode[0] == null) {
++- return new Problem(true, ERR_ReplaceWrongType());
++- }
+++
++ List<ModificationResult> results = new ArrayList<ModificationResult>();
++
++ results.add(mod);
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/VarUsageVisitor.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/VarUsageVisitor.java
++index 025eb550a..afebc2b24 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/VarUsageVisitor.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/VarUsageVisitor.java
++@@ -194,15 +194,14 @@ class VarUsageVisitor extends RefactoringVisitor {
++ List<? extends VariableTree> parameters = node.getParameters();
++ for (VariableTree variableTree : parameters) {
++ Element var = workingCopy.getTrees().getElement(new TreePath(getCurrentPath(), variableTree));
++- ExecutableElement element = (ExecutableElement) workingCopy.getTrees().getElement(getCurrentPath());
++- if(p.equals(var) && element != null) {
++- // if var is != null then the enclosing method and class must exist as well.
+++ if(p.equals(var)) {
++ TypeElement classElement = (TypeElement) workingCopy.getTrees().getElement(JavaRefactoringUtils.findEnclosingClass(workingCopy, getCurrentPath(), true, true, true, true, false));
++ List<ExecutableElement> methods = ElementFilter.methodsIn(workingCopy.getElements().getAllMembers(classElement));
++ String methodName = node.getName().toString();
++ for (ExecutableElement method : methods) {
++ if(methodName.equals(method.getSimpleName().toString())
++ && node.getParameters().size() == method.getParameters().size()) {
+++ ExecutableElement element = (ExecutableElement) workingCopy.getTrees().getElement(getCurrentPath());
++ boolean sameParameters = true;
++ for (int j = 0; j < node.getParameters().size(); j++) {
++ TypeMirror exType = ((VariableElement)method.getParameters().get(j)).asType();
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/resources/mf-layer.xml b/refactoring.java/src/org/netbeans/modules/refactoring/java/resources/mf-layer.xml
++index d5efe44e5..8fa23c209 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/resources/mf-layer.xml
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/resources/mf-layer.xml
++@@ -21,7 +21,7 @@ License. When distributing the software, include this License Header
++ Notice in each file and include the License file at
++ nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
++ particular file as subject to the "Classpath" exception as provided
++-by Oracle in the GPL Version 2 section of the License file that
+++by Sun in the GPL Version 2 section of the License file that
++ accompanied this code. If applicable, add the following below the
++ License Header, with the fields enclosed by brackets [] replaced by
++ your own identifying information:
++@@ -56,7 +56,7 @@ made subject to such option by the copyright holder.
++ </folder>
++ </folder>
++ -->
++- </folder>
+++ </folder>
++ <folder name="Editors">
++ <folder name="text">
++ <folder name="x-java">
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ChangeParametersPanel.form b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ChangeParametersPanel.form
++index 42e215cbc..ecdf595b4 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ChangeParametersPanel.form
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ChangeParametersPanel.form
++@@ -51,12 +51,13 @@
++ <Component id="chkUpdateJavadoc" min="-2" max="-2" attributes="0"/>
++ <Component id="chkGenJavadoc" min="-2" max="-2" attributes="0"/>
++ <Component id="lblCodeGeneration" alignment="0" min="-2" max="-2" attributes="0"/>
++- <Group type="102" attributes="0">
+++ <Group type="102" alignment="0" attributes="0">
++ <EmptySpace max="-2" attributes="0"/>
++- <Group type="103" groupAlignment="0" attributes="0">
++- <Component id="rbUpdateMethod" alignment="0" min="-2" max="-2" attributes="0"/>
++- <Component id="rbOverloadMethod" alignment="0" min="-2" max="-2" attributes="0"/>
++- </Group>
+++ <Component id="rbUpdateMethod" min="-2" max="-2" attributes="0"/>
+++ </Group>
+++ <Group type="102" alignment="0" attributes="0">
+++ <EmptySpace max="-2" attributes="0"/>
+++ <Component id="rbOverloadMethod" min="-2" max="-2" attributes="0"/>
++ </Group>
++ </Group>
++ <EmptySpace min="0" pref="0" max="32767" attributes="0"/>
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ChangeParametersPanel.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ChangeParametersPanel.java
++index b2b4f437f..ba06eed5d 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ChangeParametersPanel.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ChangeParametersPanel.java
++@@ -105,16 +105,11 @@ public class ChangeParametersPanel extends JPanel implements CustomRefactoringPa
++ private static Action editAction = null;
++ private Action returnTypeAction;
++
++- @NbBundle.Messages({
++- "LBL_ModifierNoChange=<do not change>",
++- "LBL_ModifierDefault=<default>"
++- })
++ private static final String[] modifierNames = {
++ "public", // NOI18N
++ "protected", // NOI18N
++- Bundle.LBL_ModifierDefault(),
++- "private", // NOI18N
++- Bundle.LBL_ModifierNoChange(),
+++ "<default>", // NOI18N
+++ "private" // NOI18N
++ };
++ private ParameterInfo[] preConfiguration;
++ private final ReturnTypeDocListener returnTypeDocListener;
++@@ -143,7 +138,6 @@ public class ChangeParametersPanel extends JPanel implements CustomRefactoringPa
++ private static final int MOD_PROTECTED_INDEX = 1;
++ private static final int MOD_DEFAULT_INDEX = 2;
++ private static final int MOD_PRIVATE_INDEX = 3;
++- private static final int MOD_NOCHANGE_INDEX = 4;
++
++ private static final String ACTION_INLINE_EDITOR = "invokeInlineEditor"; //NOI18N
++
++@@ -304,8 +298,6 @@ public class ChangeParametersPanel extends JPanel implements CustomRefactoringPa
++ case MOD_DEFAULT_INDEX: break; /* no modifier */
++ case MOD_PROTECTED_INDEX: modifiers.add(Modifier.PROTECTED); break;
++ case MOD_PUBLIC_INDEX: modifiers.add(Modifier.PUBLIC); break;
++- case MOD_NOCHANGE_INDEX:
++- return null;
++ }
++ return modifiers;
++ }
++@@ -774,15 +766,7 @@ public class ChangeParametersPanel extends JPanel implements CustomRefactoringPa
++ List<Object[]> newModel = new LinkedList<>();
++
++ TreePath path = refactoredObj.resolve(info);
++- if (path == null) {
++- return;
++- }
++- Element e = info.getTrees().getElement(path);
++- if (!RefactoringUtils.isExecutableElement(e)) {
++- parameterSpan = new int[] { 0, 0 }; // stub information
++- return;
++- }
++- ExecutableElement method = (ExecutableElement)e;
+++ ExecutableElement method = (ExecutableElement) info.getTrees().getElement(path);
++ MethodTree tree = info.getTrees().getTree(method);
++ parameterSpan = info.getTreeUtilities().findMethodParameterSpan(tree);
++
++@@ -816,7 +800,6 @@ public class ChangeParametersPanel extends JPanel implements CustomRefactoringPa
++ parameterInfo.getName(),
++ parameterInfo.getDefaultValue() == null ? "" : parameterInfo.getDefaultValue(),
++ parameterInfo.getOriginalIndex(),
++- parameterInfo.getOriginalIndex() < 0 ? Boolean.TRUE :
++ newModel.get(parameterInfo.getOriginalIndex())[4]});
++ }
++ newModel = preModel;
++@@ -880,22 +863,25 @@ public class ChangeParametersPanel extends JPanel implements CustomRefactoringPa
++
++ private Set<Modifier> modifiers = new HashSet<Modifier>();
++ private List<String> typeParameters = new LinkedList<String>();
++- private Modifier currentModifier = null;
++-
++ private void setModifier(Set<Modifier> mods) {
++ modifiers.clear();
++ modifiers.addAll(mods);
++ modifiers.remove(Modifier.PRIVATE);
++ modifiers.remove(Modifier.PUBLIC);
++ modifiers.remove(Modifier.PROTECTED);
++- if (mods.contains(Modifier.PUBLIC)) {
++- currentModifier = Modifier.PUBLIC;
+++ // #170543: set only access modifiers
+++ if (mods.contains(Modifier.PRIVATE)) {
+++// this.modifiers.add(Modifier.PRIVATE);
+++ modifiersCombo.setSelectedIndex(MOD_PRIVATE_INDEX);
++ } else if (mods.contains(Modifier.PROTECTED)) {
++- currentModifier = Modifier.PROTECTED;
++- } else if (mods.contains(Modifier.PRIVATE)) {
++- currentModifier = Modifier.PRIVATE;
+++// this.modifiers.add(Modifier.PROTECTED);
+++ modifiersCombo.setSelectedIndex(MOD_PROTECTED_INDEX);
+++ } else if (mods.contains(Modifier.PUBLIC)) {
+++// this.modifiers.add(Modifier.PUBLIC);
+++ modifiersCombo.setSelectedIndex(MOD_PUBLIC_INDEX);
+++ } else {
+++ modifiersCombo.setSelectedIndex(MOD_DEFAULT_INDEX);
++ }
++- modifiersCombo.setSelectedIndex(MOD_NOCHANGE_INDEX);
++ }
++
++ public String genDeclarationString() {
++@@ -903,18 +889,10 @@ public class ChangeParametersPanel extends JPanel implements CustomRefactoringPa
++
++ // generate preview for modifiers
++ // access modifiers
++- String mod;
++- int idx = modifiersCombo.getSelectedIndex();
++- if (idx == MOD_NOCHANGE_INDEX) {
++- if (currentModifier != null) {
++- buf.append(currentModifier.toString()).append(' ');
++- }
++- } else {
++- buf.append(
++- idx != MOD_DEFAULT_INDEX /*default modifier?*/ ?
++- (String) modifiersCombo.getSelectedItem() + ' ' : ""
++- );
++- }
+++ String mod = modifiersCombo.getSelectedIndex() != MOD_DEFAULT_INDEX /*default modifier?*/ ?
+++ (String) modifiersCombo.getSelectedItem() + ' ' : ""; // NOI18N
+++ buf.append(mod);
+++
++ // other than access modifiers - using data provided by the element
++ for (Modifier modifier : modifiers) {
++ buf.append(modifier.toString());
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ChangeParametersUI.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ChangeParametersUI.java
++index 6d164781d..ec0341770 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ChangeParametersUI.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ChangeParametersUI.java
++@@ -121,7 +121,7 @@ public class ChangeParametersUI implements RefactoringUI, JavaRefactoringUIFacto
++
++ if(path != null && ((kind = path.getLeaf().getKind()) == Kind.METHOD_INVOCATION || kind == Kind.NEW_CLASS || kind == Kind.MEMBER_REFERENCE)) {
++ Element element = info.getTrees().getElement(path);
++- if(element == null || element.asType().getKind() == TypeKind.ERROR) {
+++ if(element.asType().getKind() == TypeKind.ERROR) {
++ return null;
++ }
++ ExecutableElement method = (ExecutableElement) element;
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ContextAnalyzer.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ContextAnalyzer.java
++index a7100df9c..48cae8677 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ContextAnalyzer.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ContextAnalyzer.java
++@@ -157,7 +157,7 @@ public final class ContextAnalyzer {
++ protected RefactoringUI createRefactoringUI(FileObject[] selectedElements, Collection<TreePathHandle> handles) {
++ if (!created) {
++ if(handles.isEmpty() && selectedElements.length > 0 && "package-info".equals(selectedElements[0].getName())) {
++- ui = factory.create(null, new TreePathHandle[]{}, selectedElements, new NonRecursiveFolder[0]);
+++ ui = factory.create(null, new TreePathHandle[]{}, selectedElements, null);
++ } else {
++ ui = factory.create(null, handles.toArray(new TreePathHandle[handles.size()]), selectedElements, pkg.toArray(new NonRecursiveFolder[pkg.size()]));
++ }
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/EncapsulateFieldPanel.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/EncapsulateFieldPanel.java
++index 7cfc81eea..310f36d40 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/EncapsulateFieldPanel.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/EncapsulateFieldPanel.java
++@@ -91,7 +91,6 @@ public final class EncapsulateFieldPanel extends javax.swing.JPanel implements C
++ private DefaultTableModel model;
++ private TreePathHandle selectedObjects;
++ private Collection<TreePathHandle> fields;
++- private int offset;
++ private ChangeListener parent;
++ private String classname;
++ private static final String[] COLUMN_NAMES = {
++@@ -110,13 +109,12 @@ public final class EncapsulateFieldPanel extends javax.swing.JPanel implements C
++ *
++ * @param selectedObjects array of selected objects
++ */
++- public EncapsulateFieldPanel(TreePathHandle selectedObject, Collection<TreePathHandle> fields, int offset, ChangeListener parent) {
+++ public EncapsulateFieldPanel(TreePathHandle selectedObject, Collection<TreePathHandle> fields, ChangeListener parent) {
++ String title = getString("LBL_TitleEncapsulateFields");
++
++ this.selectedObjects = selectedObject;
++ this.parent = parent;
++ this.fields = fields;
++- this.offset = offset;
++ model = new TabM(COLUMN_NAMES, 0);
++ initComponents();
++ setName(title);
++@@ -196,12 +194,8 @@ public final class EncapsulateFieldPanel extends javax.swing.JPanel implements C
++ boolean staticMod = field.getModifiers().contains(Modifier.STATIC);
++ String getName = CodeStyleUtils.computeGetterName(field.getSimpleName(), field.asType().getKind() == TypeKind.BOOLEAN, staticMod, cs);
++ String setName = CodeStyleUtils.computeSetterName(field.getSimpleName(), staticMod, cs);
++- MemberInfo<TreePathHandle> mi = MemberInfo.create(fieldTPath, javac);
++- if (mi == null) {
++- continue;
++- }
++ model.addRow(new Object[] {
++- mi,
+++ MemberInfo.create(fieldTPath, javac),
++ createGetter ? Boolean.TRUE : Boolean.FALSE,
++ AccessorInfo.createGetter(javac, field, getName),
++ createSetter ? Boolean.TRUE : Boolean.FALSE,
++@@ -583,19 +577,14 @@ private void jButtonSelectSettersActionPerformed(java.awt.event.ActionEvent evt)
++ * @return array of all fields in a class.
++ */
++ private List<VariableElement> initFields(TreePath selectedField, CompilationInfo javac) {
++- if (selectedField == null) {
++- return Collections.emptyList();
++- }
++ Element elm = javac.getTrees().getElement(selectedField);
++ TypeElement encloser = null;
++- if (elm != null && ElementKind.FIELD == elm.getKind()) {
+++ if (ElementKind.FIELD == elm.getKind()) {
++ encloser = (TypeElement) elm.getEnclosingElement();
++ } else {
++ encloser = (TypeElement) elm;
++ }
++- if (encloser == null) {
++- return Collections.emptyList();
++- }
+++
++ List<VariableElement> result = new ArrayList<VariableElement>();
++ for (Element member : encloser.getEnclosedElements()) {
++ if (ElementKind.FIELD == member.getKind()) {
++@@ -613,15 +602,12 @@ private void jButtonSelectSettersActionPerformed(java.awt.event.ActionEvent evt)
++ private void initInsertPoints(TreePath selectedField, CompilationInfo javac) {
++ Element elm = javac.getTrees().getElement(selectedField);
++ TypeElement encloser = null;
++- if (elm != null && ElementKind.FIELD == elm.getKind()) {
+++ if (ElementKind.FIELD == elm.getKind()) {
++ encloser = (TypeElement) elm.getEnclosingElement();
++ } else {
++ encloser = (TypeElement) elm;
++ }
++- if (encloser == null) {
++- InsertPoint.DEFAULT.index = offset;
++- return;
++- }
+++
++ List<InsertPoint> result = new ArrayList<InsertPoint>();
++ int idx = 0;
++ TreePath encloserPath = javac.getTrees().getPath(encloser);
++@@ -640,7 +626,6 @@ private void jButtonSelectSettersActionPerformed(java.awt.event.ActionEvent evt)
++ }
++ ++idx;
++ }
++- InsertPoint.DEFAULT.index = offset;
++ jComboInsertPoint.addItem(InsertPoint.DEFAULT);
++ if (!result.isEmpty()) {
++ jComboInsertPoint.addItem(new InsertPoint(result.get(0).index - 1,
++@@ -724,8 +709,8 @@ private void jButtonSelectSettersActionPerformed(java.awt.event.ActionEvent evt)
++ throw new IllegalStateException("unknown ModifierName: " + modName); // NOI18N
++ }
++
++- public Integer getInsertPoint() {
++- return ((InsertPoint) jComboInsertPoint.getSelectedItem()).getIndex();
+++ public InsertPoint getInsertPoint() {
+++ return (InsertPoint) jComboInsertPoint.getSelectedItem();
++ }
++
++ public SortBy getSortBy() {
++@@ -948,7 +933,7 @@ private void jButtonSelectSettersActionPerformed(java.awt.event.ActionEvent evt)
++
++ }
++
++- private static final class InsertPoint {
+++ public static final class InsertPoint {
++
++ public static final InsertPoint DEFAULT = new InsertPoint(Integer.MIN_VALUE,
++ getString("EncapsulateFieldPanel.jComboInsertPoint.default")); // NOI18N
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/EncapsulateFieldUI.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/EncapsulateFieldUI.java
++index 7f6d99555..eaf294485 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/EncapsulateFieldUI.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/EncapsulateFieldUI.java
++@@ -82,15 +82,32 @@ import org.openide.util.NbBundle;
++ * @author Pavel Flaska
++ * @author Jan Pokorsky
++ */
++-public final class EncapsulateFieldUI implements RefactoringUI {
+++public final class EncapsulateFieldUI implements RefactoringUI, JavaRefactoringUIFactory {
++
++ private EncapsulateFieldPanel panel;
++ private transient EncapsulateFieldsRefactoring refactoring;
++- private int offset;
++
++- private EncapsulateFieldUI(TreePathHandle sourceType, int offset) {
+++ private static EncapsulateFieldUI create(CompilationInfo info, TreePathHandle... selectedObject) {
+++ if (selectedObject.length == 1) {
+++ TreePathHandle sourceType = resolveSourceType(selectedObject[0], info);
+++
+++ if (sourceType == null) {
+++ return null;
+++ }
+++
+++ return new EncapsulateFieldUI(sourceType);
+++ } else {
+++ return new EncapsulateFieldUI(selectedObject);
+++ }
+++ }
+++
+++ private Lookup lookup;
+++
+++ private EncapsulateFieldUI(Lookup lookup) {
+++ this.lookup = lookup;
+++ }
+++ private EncapsulateFieldUI(TreePathHandle sourceType) {
++ refactoring = new EncapsulateFieldsRefactoring(sourceType);
++- this.offset = offset;
++ }
++
++ private EncapsulateFieldUI(TreePathHandle[] handles) {
++@@ -106,7 +123,7 @@ public final class EncapsulateFieldUI implements RefactoringUI {
++ public CustomRefactoringPanel getPanel(ChangeListener parent) {
++ if (panel == null) {
++ Collection selectedObjects = refactoring.getRefactoringSource().lookup(Collection.class);
++- panel = new EncapsulateFieldPanel(refactoring.getSelectedObject(), (Collection<TreePathHandle>) selectedObjects, offset, parent);
+++ panel = new EncapsulateFieldPanel(refactoring.getSelectedObject(), (Collection<TreePathHandle>) selectedObjects, parent);
++ }
++ return panel;
++ }
++@@ -173,9 +190,6 @@ public final class EncapsulateFieldUI implements RefactoringUI {
++ */
++ private static TreePathHandle resolveSourceType(TreePathHandle selectedObject, CompilationInfo javac) {
++ TreePath selectedField = selectedObject.resolve(javac);
++- if (selectedField == null) {
++- return null;
++- }
++ Element elm = javac.getTrees().getElement(selectedField);
++ TypeElement encloser = null;
++ if (elm != null && ElementKind.FIELD == elm.getKind()
++@@ -198,83 +212,60 @@ public final class EncapsulateFieldUI implements RefactoringUI {
++ }
++
++ public static JavaRefactoringUIFactory factory(Lookup lookup) {
++- return new EncapsulateFieldUIFactory(lookup);
+++ return new EncapsulateFieldUI(lookup);
++ }
++-
++- private static final class EncapsulateFieldUIFactory implements JavaRefactoringUIFactory {
++-
++- private Lookup lookup;
++-
++- private EncapsulateFieldUIFactory(Lookup lookup) {
++- this.lookup = lookup;
+++
+++ @Override
+++ public RefactoringUI create(CompilationInfo info, TreePathHandle[] handles, FileObject[] files, NonRecursiveFolder[] packages) {
+++ EditorCookie ec = lookup.lookup(EditorCookie.class);
+++ if (ec == null) {
+++ return EncapsulateFieldUI.create(info, handles);
++ }
++-
++- private static EncapsulateFieldUI create(CompilationInfo info, int offset, TreePathHandle... selectedObject) {
++- if (selectedObject.length == 1) {
++- TreePathHandle sourceType = resolveSourceType(selectedObject[0], info);
++-
++- if (sourceType == null) {
++- return null;
++- }
++-
++- return new EncapsulateFieldUI(sourceType, offset);
++- } else {
++- return new EncapsulateFieldUI(selectedObject);
++- }
+++ JEditorPane textC = NbDocument.findRecentEditorPane(ec);
+++ if (textC == null) {
+++ return EncapsulateFieldUI.create(info, handles);
++ }
+++ int startOffset = textC.getSelectionStart();
+++ int endOffset = textC.getSelectionEnd();
++
++- @Override
++- public RefactoringUI create(CompilationInfo info, TreePathHandle[] handles, FileObject[] files, NonRecursiveFolder[] packages) {
++- EditorCookie ec = lookup.lookup(EditorCookie.class);
++- if (ec == null) {
++- return create(info, -1, handles);
++- }
++- JEditorPane textC = NbDocument.findRecentEditorPane(ec);
++- if (textC == null) {
++- return create(info, -1, handles);
++- }
++- int startOffset = textC.getSelectionStart();
++- int endOffset = textC.getSelectionEnd();
++-
++- if (startOffset == endOffset) {
++- //cursor position
++- return create(info, startOffset, handles[0]);
++- }
+++ if (startOffset == endOffset) {
+++ //cursor position
+++ return EncapsulateFieldUI.create(info, handles[0]);
+++ }
++
++- //editor selection
++- TreePath path = info.getTreeUtilities().pathFor(startOffset);
++- if (path == null) {
++- return null;
++- }
++- TreePath enclosingClass = JavaRefactoringUtils.findEnclosingClass(info, path, true, true, true, true, true);
++- if (enclosingClass == null) {
++- return null;
++- }
++- Element el = info.getTrees().getElement(enclosingClass);
++- if (el == null) {
++- return null;
++- }
++- if (!(el.getKind().isClass() || el.getKind().isInterface())) {
++- el = info.getElementUtilities().enclosingTypeElement(el);
++- }
++- Collection<TreePathHandle> h = new ArrayList<TreePathHandle>();
++- for (Element e : ElementFilter.fieldsIn(el.getEnclosedElements())) {
++- // SourcePositions sourcePositions = info.getTrees().getSourcePositions();
++- Tree leaf = info.getTrees().getPath(e).getLeaf();
++- int[] namespan = info.getTreeUtilities().findNameSpan((VariableTree) leaf);
++- if (namespan != null) {
++- long start = namespan[0]; //sourcePositions.getStartPosition(info.getCompilationUnit(), leaf);
++- long end = namespan[1]; //sourcePositions.getEndPosition(info.getCompilationUnit(), leaf);
++- if ((start <= endOffset && start >= startOffset)
++- || (end <= endOffset && end >= startOffset)) {
++- h.add(TreePathHandle.create(e, info));
++- }
+++ //editor selection
+++ TreePath path = info.getTreeUtilities().pathFor(startOffset);
+++ if(path == null) {
+++ return null;
+++ }
+++ TreePath enclosingClass = JavaRefactoringUtils.findEnclosingClass(info, path, true, true, true, true, true);
+++ if(enclosingClass == null) {
+++ return null;
+++ }
+++ Element el = info.getTrees().getElement(enclosingClass);
+++ if (el == null) {
+++ return null;
+++ }
+++ if (!(el.getKind().isClass() || el.getKind().isInterface())) {
+++ el = info.getElementUtilities().enclosingTypeElement(el);
+++ }
+++ Collection<TreePathHandle> h = new ArrayList<TreePathHandle>();
+++ for (Element e : ElementFilter.fieldsIn(el.getEnclosedElements())) {
+++// SourcePositions sourcePositions = info.getTrees().getSourcePositions();
+++ Tree leaf = info.getTrees().getPath(e).getLeaf();
+++ int[] namespan = info.getTreeUtilities().findNameSpan((VariableTree) leaf);
+++ if(namespan != null) {
+++ long start = namespan[0]; //sourcePositions.getStartPosition(info.getCompilationUnit(), leaf);
+++ long end = namespan[1]; //sourcePositions.getEndPosition(info.getCompilationUnit(), leaf);
+++ if ((start <= endOffset && start >= startOffset) ||
+++ (end <= endOffset && end >= startOffset)){
+++ h.add(TreePathHandle.create(e, info));
++ }
++ }
++- if (h.isEmpty()) {
++- return create(info, startOffset, handles[0]);
++- }
++- return create(info, -1, h.toArray(new TreePathHandle[h.size()]));
++ }
+++ if (h.isEmpty()) {
+++ return EncapsulateFieldUI.create(info, handles[0]);
+++ }
+++ return EncapsulateFieldUI.create(info, h.toArray(new TreePathHandle[h.size()]));
++ }
++ }
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/InlineRefactoringUI.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/InlineRefactoringUI.java
++index 611bc337b..5a5bc3431 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/InlineRefactoringUI.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/InlineRefactoringUI.java
++@@ -142,21 +142,14 @@ public class InlineRefactoringUI implements RefactoringUI {
++ case NULL_LITERAL:
++ case STRING_LITERAL:
++ TreePath tp = selectedElement.resolve(info);
++- if (tp == null) {
++- return null;
++- }
++ TreePath parent = tp.getParentPath();
++ Element parentElement = info.getTrees().getElement(parent);
++- if (parentElement != null && parentElement.getKind() == ElementKind.LOCAL_VARIABLE) {
+++ if (parentElement.getKind() == ElementKind.LOCAL_VARIABLE) {
++ selectedElement = TreePathHandle.create(parent, info);
++ }
++ break;
++ }
++- TreePath path = selectedElement.resolve(info);
++- if(path == null || info.getTreeUtilities().isSynthetic(path)) {
++- return null;
++- }
++- Element element = info.getTrees().getElement(path);
+++ Element element = selectedElement.resolveElement(info);
++ if(element == null) {
++ return null;
++ }
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/IntroduceParameterPanel.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/IntroduceParameterPanel.java
++index fbc369372..76dae6829 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/IntroduceParameterPanel.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/IntroduceParameterPanel.java
++@@ -47,7 +47,6 @@ import com.sun.source.tree.Scope;
++ import com.sun.source.tree.Tree;
++ import com.sun.source.util.TreePath;
++ import java.awt.Component;
++-import java.awt.EventQueue;
++ import java.awt.event.ItemEvent;
++ import java.io.IOException;
++ import javax.lang.model.element.Element;
++@@ -109,30 +108,21 @@ public class IntroduceParameterPanel extends JPanel implements CustomRefactoring
++
++ @Override
++ public void insertUpdate(DocumentEvent de) {
++- postUpdate();
+++ parent.stateChanged(null);
++ }
++
++ @Override
++ public void removeUpdate(DocumentEvent de) {
++- postUpdate();
+++ parent.stateChanged(null);
++ }
++
++ @Override
++ public void changedUpdate(DocumentEvent de) {
++- postUpdate();
+++ parent.stateChanged(null);
++ }
++ };
++ ((JEditorPane) singleLineEditor[1]).getDocument().addDocumentListener(nameChangedListener);
++ }
++-
++- private void postUpdate() {
++- EventQueue.invokeLater(new Runnable() {
++- @Override
++- public void run() {
++- parent.stateChanged(null);
++- }
++- });
++- }
++
++ private boolean initialized = false;
++ @Override
++@@ -164,7 +154,7 @@ public class IntroduceParameterPanel extends JPanel implements CustomRefactoring
++
++ Element methodElement = info.getTrees().getElement(methodPath);
++ Doc javadocDoc = info.getElementUtilities().javaDocFor(methodElement);
++- if(javadocDoc != null && javadocDoc.commentText() == null || javadocDoc.getRawCommentText().equals("")) {
+++ if(javadocDoc.commentText() == null || javadocDoc.getRawCommentText().equals("")) {
++ chkGenJavadoc.setEnabled(true);
++ chkGenJavadoc.setVisible(true);
++ chkUpdateJavadoc.setVisible(false);
++@@ -180,10 +170,9 @@ public class IntroduceParameterPanel extends JPanel implements CustomRefactoring
++ }
++
++ Scope scope = null;
++- if(methodTree.getBody() != null) {
++- TreePath bodyPath = new TreePath(methodPath, methodTree.getBody());
++- scope = info.getTrees().getScope(bodyPath);
++- }
+++ TreePath bodyPath = new TreePath(methodPath, methodTree.getBody());
+++ scope = info.getTrees().getScope(bodyPath);
+++
++ CodeStyle cs;
++ Document doc = info.getDocument();
++ if(doc != null) {
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/InvertBooleanAction.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/InvertBooleanAction.java
++index d259f7505..2865839dd 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/InvertBooleanAction.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/InvertBooleanAction.java
++@@ -1,10 +1,7 @@
++ /*
++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++ *
++- * Copyright 2010-2010 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
+++ * Copyright 2010-2011 Sun Microsystems, Inc. All rights reserved.
++ *
++ * The contents of this file are subject to the terms of either the GNU
++ * General Public License Version 2 only ("GPL") or the Common
++@@ -16,9 +13,9 @@
++ * specific language governing permissions and limitations under the
++ * License. When distributing the software, include this License Header
++ * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
+++ * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
++ * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
+++ * by Sun in the GPL Version 2 section of the License file that
++ * accompanied this code. If applicable, add the following below the
++ * License Header, with the fields enclosed by brackets [] replaced by
++ * your own identifying information:
++@@ -41,6 +38,7 @@
++ */
++ package org.netbeans.modules.refactoring.java.ui;
++
+++import org.netbeans.api.java.source.ui.ScanDialog;
++ import org.netbeans.modules.refactoring.java.ui.ContextAnalyzer;
++ import org.netbeans.modules.refactoring.java.ui.JavaRefactoringGlobalAction;
++ import org.openide.awt.ActionID;
++@@ -84,6 +82,6 @@ public final class InvertBooleanAction extends JavaRefactoringGlobalAction {
++ @Override
++ public void performAction(Lookup context) {
++ Runnable task = ContextAnalyzer.createTask(context, InvertBooleanRefactoringUI.factory());
++- UIUtilities.runWhenScanFinished(task, getName());
+++ ScanDialog.runWhenScanFinished(task, getName());
++ }
++ }
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/InvertBooleanRefactoringPanel.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/InvertBooleanRefactoringPanel.java
++index 26e05d6b8..86e182d7d 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/InvertBooleanRefactoringPanel.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/InvertBooleanRefactoringPanel.java
++@@ -1,10 +1,7 @@
++ /*
++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++ *
++- * Copyright 2010 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
+++ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
++ *
++ * The contents of this file are subject to the terms of either the GNU
++ * General Public License Version 2 only ("GPL") or the Common
++@@ -16,9 +13,9 @@
++ * specific language governing permissions and limitations under the
++ * License. When distributing the software, include this License Header
++ * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
+++ * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
++ * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
+++ * by Sun in the GPL Version 2 section of the License file that
++ * accompanied this code. If applicable, add the following below the
++ * License Header, with the fields enclosed by brackets [] replaced by
++ * your own identifying information:
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/InvertBooleanRefactoringUI.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/InvertBooleanRefactoringUI.java
++index 2d30d5ffb..c36ffc31a 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/InvertBooleanRefactoringUI.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/InvertBooleanRefactoringUI.java
++@@ -1,10 +1,7 @@
++ /*
++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++ *
++- * Copyright 2010 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
+++ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
++ *
++ * The contents of this file are subject to the terms of either the GNU
++ * General Public License Version 2 only ("GPL") or the Common
++@@ -16,9 +13,9 @@
++ * specific language governing permissions and limitations under the
++ * License. When distributing the software, include this License Header
++ * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
+++ * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
++ * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
+++ * by Sun in the GPL Version 2 section of the License file that
++ * accompanied this code. If applicable, add the following below the
++ * License Header, with the fields enclosed by brackets [] replaced by
++ * your own identifying information:
++@@ -149,9 +146,6 @@ public class InvertBooleanRefactoringUI implements RefactoringUI, JavaRefactorin
++ }
++ if (p != null && treeKinds.contains(p.getLeaf().getKind())) {
++ Element selected = info.getTrees().getElement(p);
++- if (selected == null) {
++- return null;
++- }
++ TreePath selectedTree = info.getTrees().getPath(selected);
++ if (selected.getKind().isField() && ((VariableElement) selected).asType().getKind() == TypeKind.BOOLEAN) {
++ return new InvertBooleanRefactoringUI(TreePathHandle.create(selectedTree, info), ((VariableElement) selected).getSimpleName().toString());
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/JavaRefactoringActionsProvider.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/JavaRefactoringActionsProvider.java
++index dafbfa959..b8f59d270 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/JavaRefactoringActionsProvider.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/JavaRefactoringActionsProvider.java
++@@ -44,6 +44,7 @@
++
++ package org.netbeans.modules.refactoring.java.ui;
++
+++import org.netbeans.api.java.source.ui.ScanDialog;
++ import org.netbeans.modules.refactoring.java.api.ui.JavaRefactoringActionsFactory;
++ import org.netbeans.modules.refactoring.java.spi.ui.JavaActionsImplementationProvider;
++ import org.openide.util.Lookup;
++@@ -61,7 +62,7 @@ public class JavaRefactoringActionsProvider extends JavaActionsImplementationPro
++ @Override
++ public void doExtractInterface(final Lookup lookup) {
++ Runnable task = ContextAnalyzer.createTask(lookup, ExtractInterfaceRefactoringUI.factory());
++- UIUtilities.runWhenScanFinished(task, RefactoringActionsProvider.getActionName(JavaRefactoringActionsFactory.extractInterfaceAction()));
+++ ScanDialog.runWhenScanFinished(task, RefactoringActionsProvider.getActionName(JavaRefactoringActionsFactory.extractInterfaceAction()));
++ }
++
++ @Override
++@@ -72,7 +73,7 @@ public class JavaRefactoringActionsProvider extends JavaActionsImplementationPro
++ @Override
++ public void doExtractSuperclass(Lookup lookup) {
++ Runnable task = ContextAnalyzer.createTask(lookup, ExtractSuperclassRefactoringUI.factory());
++- UIUtilities.runWhenScanFinished(task, RefactoringActionsProvider.getActionName(JavaRefactoringActionsFactory.extractSuperclassAction()));
+++ ScanDialog.runWhenScanFinished(task, RefactoringActionsProvider.getActionName(JavaRefactoringActionsFactory.extractSuperclassAction()));
++ }
++
++ @Override
++@@ -83,7 +84,7 @@ public class JavaRefactoringActionsProvider extends JavaActionsImplementationPro
++ @Override
++ public void doPushDown(final Lookup lookup) {
++ Runnable task = ContextAnalyzer.createTask(lookup, PushDownRefactoringUI.factory());
++- UIUtilities.runWhenScanFinished(task, RefactoringActionsProvider.getActionName(JavaRefactoringActionsFactory.pushDownAction()));
+++ ScanDialog.runWhenScanFinished(task, RefactoringActionsProvider.getActionName(JavaRefactoringActionsFactory.pushDownAction()));
++ }
++
++ @Override
++@@ -94,7 +95,7 @@ public class JavaRefactoringActionsProvider extends JavaActionsImplementationPro
++ @Override
++ public void doPullUp(final Lookup lookup) {
++ Runnable task = ContextAnalyzer.createTask(lookup, PullUpRefactoringUI.factory());
++- UIUtilities.runWhenScanFinished(task, RefactoringActionsProvider.getActionName(JavaRefactoringActionsFactory.pullUpAction()));
+++ ScanDialog.runWhenScanFinished(task, RefactoringActionsProvider.getActionName(JavaRefactoringActionsFactory.pullUpAction()));
++ }
++
++ @Override
++@@ -110,7 +111,7 @@ public class JavaRefactoringActionsProvider extends JavaActionsImplementationPro
++ @Override
++ public void doUseSuperType(Lookup lookup) {
++ Runnable task = ContextAnalyzer.createTask(lookup, UseSuperTypeRefactoringUI.factory());
++- UIUtilities.runWhenScanFinished(task, RefactoringActionsProvider.getActionName(JavaRefactoringActionsFactory.useSuperTypeAction()));
+++ ScanDialog.runWhenScanFinished(task, RefactoringActionsProvider.getActionName(JavaRefactoringActionsFactory.useSuperTypeAction()));
++ }
++
++ @Override
++@@ -121,7 +122,7 @@ public class JavaRefactoringActionsProvider extends JavaActionsImplementationPro
++ @Override
++ public void doChangeParameters(Lookup lookup) {
++ Runnable task = ContextAnalyzer.createTask(lookup, ChangeParametersUI.factory(lookup));
++- UIUtilities.runWhenScanFinished(task, RefactoringActionsProvider.getActionName(JavaRefactoringActionsFactory.changeParametersAction()));
+++ ScanDialog.runWhenScanFinished(task, RefactoringActionsProvider.getActionName(JavaRefactoringActionsFactory.changeParametersAction()));
++ }
++
++ @Override
++@@ -132,7 +133,7 @@ public class JavaRefactoringActionsProvider extends JavaActionsImplementationPro
++ @Override
++ public void doIntroduceParameter(Lookup lookup) {
++ Runnable task = ContextAnalyzer.createTask(lookup, IntroduceParameterUI.factory(lookup));
++- UIUtilities.runWhenScanFinished(task, RefactoringActionsProvider.getActionName(JavaRefactoringActionsFactory.changeParametersAction()));
+++ ScanDialog.runWhenScanFinished(task, RefactoringActionsProvider.getActionName(JavaRefactoringActionsFactory.changeParametersAction()));
++ }
++
++ @Override
++@@ -143,7 +144,7 @@ public class JavaRefactoringActionsProvider extends JavaActionsImplementationPro
++ @Override
++ public void doInnerToOuter(Lookup lookup) {
++ Runnable task = ContextAnalyzer.createTask(lookup, InnerToOuterRefactoringUI.factory());
++- UIUtilities.runWhenScanFinished(task, RefactoringActionsProvider.getActionName(JavaRefactoringActionsFactory.innerToOuterAction()));
+++ ScanDialog.runWhenScanFinished(task, RefactoringActionsProvider.getActionName(JavaRefactoringActionsFactory.innerToOuterAction()));
++ }
++
++ @Override
++@@ -154,7 +155,7 @@ public class JavaRefactoringActionsProvider extends JavaActionsImplementationPro
++ @Override
++ public void doEncapsulateFields(Lookup lookup) {
++ Runnable task = ContextAnalyzer.createTask(lookup, EncapsulateFieldUI.factory(lookup));
++- UIUtilities.runWhenScanFinished(task, RefactoringActionsProvider.getActionName(JavaRefactoringActionsFactory.encapsulateFieldsAction()));
+++ ScanDialog.runWhenScanFinished(task, RefactoringActionsProvider.getActionName(JavaRefactoringActionsFactory.encapsulateFieldsAction()));
++ }
++
++ @Override
++@@ -165,7 +166,7 @@ public class JavaRefactoringActionsProvider extends JavaActionsImplementationPro
++ @Override
++ public void doIntroduceLocalExtension(Lookup lookup) {
++ Runnable task = ContextAnalyzer.createTask(lookup, IntroduceLocalExtensionUI.factory());
++- UIUtilities.runWhenScanFinished(task, RefactoringActionsProvider.getActionName(JavaRefactoringActionsFactory.introduceLocalExtensionAction()));
+++ ScanDialog.runWhenScanFinished(task, RefactoringActionsProvider.getActionName(JavaRefactoringActionsFactory.introduceLocalExtensionAction()));
++ }
++
++ @Override
++@@ -176,6 +177,6 @@ public class JavaRefactoringActionsProvider extends JavaActionsImplementationPro
++ @Override
++ public void doInline(Lookup lookup) {
++ Runnable task = ContextAnalyzer.createTask(lookup, InlineRefactoringUI.factory());
++- UIUtilities.runWhenScanFinished(task, RefactoringActionsProvider.getActionName(JavaRefactoringActionsFactory.inlineAction()));
+++ ScanDialog.runWhenScanFinished(task, RefactoringActionsProvider.getActionName(JavaRefactoringActionsFactory.inlineAction()));
++ }
++ }
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/JavaRenameProperties.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/JavaRenameProperties.java
++index 63a75a26e..7e1391735 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/JavaRenameProperties.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/JavaRenameProperties.java
++@@ -50,7 +50,6 @@ public final class JavaRenameProperties {
++ private boolean isRenameGettersSetters;
++ private boolean isRenameTestClass;
++ private boolean isRenameTestClassMethod;
++- private boolean noChangeOK;
++
++ public boolean isIsRenameGettersSetters() {
++ return isRenameGettersSetters;
++@@ -75,12 +74,4 @@ public final class JavaRenameProperties {
++ public void setIsRenameTestClassMethod(boolean isRenameTestClassMethod) {
++ this.isRenameTestClassMethod = isRenameTestClassMethod;
++ }
++-
++- public boolean isNoChangeOK() {
++- return noChangeOK;
++- }
++-
++- public void setNoChangeOK(boolean noChangeOK) {
++- this.noChangeOK = noChangeOK;
++- }
++ }
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/MoveMembersPanel.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/MoveMembersPanel.java
++index 569aaf8b2..5189010d4 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/MoveMembersPanel.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/MoveMembersPanel.java
++@@ -1056,38 +1056,28 @@ public class MoveMembersPanel extends javax.swing.JPanel implements CustomRefact
++ boolean inherited = isParentInherited || (null != parent && !parent.equals(e.getEnclosingElement()));
++ Description d = new Description(e.getSimpleName().toString(), ElementHandle.create(e), e.getKind(), inherited);
++
++- switch (e.getKind()) {
++- case CLASS:
++- case INTERFACE:
++- case ENUM:
++- case ANNOTATION_TYPE:
++- if(parent == null) {
++- d.setSubs(new HashSet<Description>());
++- d.setHtmlHeader(UIUtilities.createHeader((TypeElement) e, info.getElements().isDeprecated(e), d.isInherited(), true, false));
++- } else {
++- return null;
++- }
++- break;
++-
++- case ENUM_CONSTANT:
++- case FIELD:
++- d.setHtmlHeader(UIUtilities.createHeader((VariableElement) e, info.getElements().isDeprecated(e), d.isInherited(), true, false));
++- break;
++-
++- case METHOD:
++- d.setHtmlHeader(UIUtilities.createHeader((ExecutableElement) e, info.getElements().isDeprecated(e), d.isInherited(), true, false));
++- break;
++- case CONSTRUCTOR:
+++ if (e instanceof TypeElement) {
+++ if(parent == null) {
+++ d.setSubs(new HashSet<Description>());
+++ d.setHtmlHeader(UIUtilities.createHeader((TypeElement) e, info.getElements().isDeprecated(e), d.isInherited(), true, false));
+++ } else {
++ return null;
++-
++- default:
+++ }
+++ } else if (e instanceof ExecutableElement) {
+++ d.setHtmlHeader(UIUtilities.createHeader((ExecutableElement) e, info.getElements().isDeprecated(e), d.isInherited(), true, false));
+++ } else if (e instanceof VariableElement) {
+++ if (!(e.getKind() == ElementKind.FIELD)) {
++ return null;
++-
+++ }
+++ d.setHtmlHeader(UIUtilities.createHeader((VariableElement) e, info.getElements().isDeprecated(e), d.isInherited(), true, false));
++ }
+++
++ d.setModifiers(e.getModifiers());
++ d.setPos(getPosition(e, info, pos));
++ d.setCpInfo(info.getClasspathInfo());
++ d.setSelected(isSelected(e, info));
+++ d.setIsConstructor(e.getKind() == ElementKind.CONSTRUCTOR);
+++
++ return d;
++ }
++
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/RefactoringActionsProvider.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/RefactoringActionsProvider.java
++index 14a88a68f..922b33307 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/RefactoringActionsProvider.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/RefactoringActionsProvider.java
++@@ -57,6 +57,7 @@ import org.netbeans.api.java.classpath.ClassPath;
++ import org.netbeans.api.java.source.JavaSource;
++ import org.netbeans.api.java.source.SourceUtils;
++ import org.netbeans.api.java.source.TreePathHandle;
+++import org.netbeans.api.java.source.ui.ScanDialog;
++ import org.netbeans.editor.Utilities;
++ import org.netbeans.modules.refactoring.api.ui.ExplorerContext;
++ import org.netbeans.modules.refactoring.api.ui.RefactoringActionsFactory;
++@@ -146,11 +147,11 @@ public class RefactoringActionsProvider extends ActionsImplementationProvider{
++
++ @Override
++ public void run() {
++- UIUtilities.runWhenScanFinished(task, getActionName(RefactoringActionsFactory.renameAction()));
+++ ScanDialog.runWhenScanFinished(task, getActionName(RefactoringActionsFactory.renameAction()));
++ }
++ });
++ } else {
++- UIUtilities.runWhenScanFinished(task, getActionName(RefactoringActionsFactory.renameAction()));
+++ ScanDialog.runWhenScanFinished(task, getActionName(RefactoringActionsFactory.renameAction()));
++ }
++ }
++
++@@ -195,7 +196,7 @@ public class RefactoringActionsProvider extends ActionsImplementationProvider{
++ @Override
++ public void doCopy(final Lookup lookup) {
++ Runnable task = ContextAnalyzer.createTask(lookup, CopyClassRefactoringUI.factory(lookup));
++- UIUtilities.runWhenScanFinished(task, getActionName(RefactoringActionsFactory.copyAction()));
+++ ScanDialog.runWhenScanFinished(task, getActionName(RefactoringActionsFactory.copyAction()));
++ }
++
++ /**
++@@ -296,7 +297,7 @@ public class RefactoringActionsProvider extends ActionsImplementationProvider{
++ @Override
++ public void doDelete(final Lookup lookup) {
++ Runnable task = ContextAnalyzer.createTask(lookup, SafeDeleteUI.factory(lookup));
++- UIUtilities.runWhenScanFinished(task, getActionName(RefactoringActionsFactory.safeDeleteAction()));
+++ ScanDialog.runWhenScanFinished(task, getActionName(RefactoringActionsFactory.safeDeleteAction()));
++ }
++
++ public static FileObject getTarget(Lookup look) {
++@@ -438,7 +439,7 @@ public class RefactoringActionsProvider extends ActionsImplementationProvider{
++ @Override
++ public void doMove(final Lookup lookup) {
++ Runnable task = ContextAnalyzer.createTask(lookup, MoveClassUI.factory(lookup));
++- UIUtilities.runWhenScanFinished(task, getActionName(RefactoringActionsFactory.moveAction()));
+++ ScanDialog.runWhenScanFinished(task, getActionName(RefactoringActionsFactory.moveAction()));
++ }
++ private static boolean isSelectionHeterogeneous(Collection<? extends Node> nodes) {
++ boolean folderSelected = false;
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ReplaceConstructorWithBuilderAction.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ReplaceConstructorWithBuilderAction.java
++index 301bd01de..2515572ac 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ReplaceConstructorWithBuilderAction.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ReplaceConstructorWithBuilderAction.java
++@@ -41,6 +41,8 @@
++ */
++ package org.netbeans.modules.refactoring.java.ui;
++
+++import javax.lang.model.element.ElementKind;
+++import org.netbeans.api.java.source.ui.ScanDialog;
++ import org.netbeans.modules.refactoring.java.ui.ContextAnalyzer;
++ import org.netbeans.modules.refactoring.java.ui.JavaRefactoringGlobalAction;
++ import org.openide.awt.ActionID;
++@@ -82,6 +84,6 @@ public final class ReplaceConstructorWithBuilderAction extends JavaRefactoringGl
++ @Override
++ public void performAction(Lookup context) {
++ Runnable task = ContextAnalyzer.createTask(context, ReplaceConstructorWithBuilderUI.factory());
++- UIUtilities.runWhenScanFinished(task, getName());
+++ ScanDialog.runWhenScanFinished(task, getName());
++ }
++ }
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ReplaceConstructorWithBuilderUI.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ReplaceConstructorWithBuilderUI.java
++index e4cf5a189..bd51739f2 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ReplaceConstructorWithBuilderUI.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ReplaceConstructorWithBuilderUI.java
++@@ -190,7 +190,7 @@ public class ReplaceConstructorWithBuilderUI implements RefactoringUI, JavaRefac
++ }
++ if (path != null && treeKinds.contains(path.getLeaf().getKind())) {
++ Element selected = info.getTrees().getElement(path);
++- if (selected != null && selected.getKind() == ElementKind.CONSTRUCTOR &&
+++ if (selected.getKind() == ElementKind.CONSTRUCTOR &&
++ selected.getEnclosingElement().getKind() != ElementKind.ENUM) {
++ return new ReplaceConstructorWithBuilderUI(TreePathHandle.create(selected, info), info);
++ }
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ReplaceConstructorWithFactoryAction.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ReplaceConstructorWithFactoryAction.java
++index a08ad847a..82a649bc5 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ReplaceConstructorWithFactoryAction.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ReplaceConstructorWithFactoryAction.java
++@@ -1,10 +1,7 @@
++ /*
++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++ *
++- * Copyright 2010 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
+++ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
++ *
++ * The contents of this file are subject to the terms of either the GNU
++ * General Public License Version 2 only ("GPL") or the Common
++@@ -16,9 +13,9 @@
++ * specific language governing permissions and limitations under the
++ * License. When distributing the software, include this License Header
++ * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
+++ * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
++ * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
+++ * by Sun in the GPL Version 2 section of the License file that
++ * accompanied this code. If applicable, add the following below the
++ * License Header, with the fields enclosed by brackets [] replaced by
++ * your own identifying information:
++@@ -41,6 +38,7 @@
++ */
++ package org.netbeans.modules.refactoring.java.ui;
++
+++import org.netbeans.api.java.source.ui.ScanDialog;
++ import org.netbeans.modules.refactoring.java.ui.ContextAnalyzer;
++ import org.netbeans.modules.refactoring.java.ui.JavaRefactoringGlobalAction;
++ import org.openide.awt.ActionID;
++@@ -79,6 +77,6 @@ public final class ReplaceConstructorWithFactoryAction extends JavaRefactoringGl
++ @Override
++ public void performAction(Lookup context) {
++ Runnable task = ContextAnalyzer.createTask(context, ReplaceConstructorWithFactoryUI.factory());
++- UIUtilities.runWhenScanFinished(task, getName());
+++ ScanDialog.runWhenScanFinished(task, getName());
++ }
++ }
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ReplaceConstructorWithFactoryPanel.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ReplaceConstructorWithFactoryPanel.java
++index 96406900b..ecfcd865e 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ReplaceConstructorWithFactoryPanel.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ReplaceConstructorWithFactoryPanel.java
++@@ -1,10 +1,7 @@
++ /*
++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++ *
++- * Copyright 2010 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
+++ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
++ *
++ * The contents of this file are subject to the terms of either the GNU
++ * General Public License Version 2 only ("GPL") or the Common
++@@ -16,9 +13,9 @@
++ * specific language governing permissions and limitations under the
++ * License. When distributing the software, include this License Header
++ * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
+++ * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
++ * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
+++ * by Sun in the GPL Version 2 section of the License file that
++ * accompanied this code. If applicable, add the following below the
++ * License Header, with the fields enclosed by brackets [] replaced by
++ * your own identifying information:
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ReplaceConstructorWithFactoryUI.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ReplaceConstructorWithFactoryUI.java
++index 61ccb471a..312068d96 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ReplaceConstructorWithFactoryUI.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ReplaceConstructorWithFactoryUI.java
++@@ -1,10 +1,7 @@
++ /*
++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++ *
++- * Copyright 2010 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
+++ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
++ *
++ * The contents of this file are subject to the terms of either the GNU
++ * General Public License Version 2 only ("GPL") or the Common
++@@ -16,9 +13,9 @@
++ * specific language governing permissions and limitations under the
++ * License. When distributing the software, include this License Header
++ * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
+++ * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
++ * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
+++ * by Sun in the GPL Version 2 section of the License file that
++ * accompanied this code. If applicable, add the following below the
++ * License Header, with the fields enclosed by brackets [] replaced by
++ * your own identifying information:
++@@ -145,7 +142,7 @@ public class ReplaceConstructorWithFactoryUI implements RefactoringUI, JavaRefac
++ }
++ if (path != null && treeKinds.contains(path.getLeaf().getKind())) {
++ Element selected = info.getTrees().getElement(path);
++- if (selected != null && selected.getKind() == ElementKind.CONSTRUCTOR && selected.getEnclosingElement().getKind() != ElementKind.ENUM) {
+++ if (selected.getKind() == ElementKind.CONSTRUCTOR && selected.getEnclosingElement().getKind() != ElementKind.ENUM) {
++ return new ReplaceConstructorWithFactoryUI(TreePathHandle.create(selected, info), selected.getEnclosingElement().getSimpleName().toString());
++ }
++ }
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/UIUtilities.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/UIUtilities.java
++index 3485af458..3feb65a15 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/UIUtilities.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/UIUtilities.java
++@@ -62,11 +62,9 @@ import org.netbeans.api.editor.mimelookup.MimeLookup;
++ import org.netbeans.api.editor.mimelookup.MimePath;
++ import org.netbeans.api.editor.settings.FontColorSettings;
++ import org.netbeans.api.java.lexer.JavaTokenId;
++-import org.netbeans.api.java.source.ui.ScanDialog;
++ import org.netbeans.api.lexer.Token;
++ import org.netbeans.api.lexer.TokenHierarchy;
++ import org.netbeans.api.lexer.TokenSequence;
++-import org.netbeans.modules.parsing.api.ParserManager;
++ import org.netbeans.modules.refactoring.java.api.MemberInfo;
++ import org.netbeans.swing.plaf.LFCustoms;
++ import org.openide.util.Lookup;
++@@ -1201,18 +1199,6 @@ public final class UIUtilities {
++
++ return sb.toString();
++ }
++-
++- public static boolean runWhenScanFinished (final Runnable runnable, final String actionName) {
++- return ScanDialog.runWhenScanFinished(
++- () -> {
++- if (ParserManager.isParsing()) {
++- SwingUtilities.invokeLater(runnable);
++- } else {
++- runnable.run();
++- }
++- },
++- actionName);
++- }
++
++ private static String printBounds(List<? extends TypeMirror> bounds, boolean html) {
++ if (bounds.size() == 1 && "java.lang.Object".equals(bounds.get(0).toString())) {
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanelClass.form b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanelClass.form
++index dd1344eec..4ce38af38 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanelClass.form
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanelClass.form
++@@ -115,8 +115,8 @@
++ </Component>
++ <Component class="javax.swing.JLabel" name="label">
++ <Properties>
++- <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
++- <Connection code="org.openide.util.ImageUtilities.loadImageIcon("/org/netbeans/modules/refactoring/java/resources/warning_16.png", false)" type="code"/>
+++ <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
+++ <Image iconType="3" name="/org/netbeans/modules/refactoring/java/resources/warning_16.png"/>
++ </Property>
++ <Property name="text" type="java.lang.String" value="<<Element>>" noResource="true"/>
++ </Properties>
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanelClass.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanelClass.java
++index 634b82ea5..c52ec08fc 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanelClass.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanelClass.java
++@@ -102,7 +102,7 @@ public class WhereUsedPanelClass extends WhereUsedPanel.WhereUsedInnerPanel {
++ }
++ });
++
++- label.setIcon(org.openide.util.ImageUtilities.loadImageIcon("/org/netbeans/modules/refactoring/java/resources/warning_16.png", false)); // NOI18N
+++ label.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/netbeans/modules/refactoring/java/resources/warning_16.png"))); // NOI18N
++ org.openide.awt.Mnemonics.setLocalizedText(label, "<<Element>>"); // NOI18N
++
++ org.openide.awt.Mnemonics.setLocalizedText(lbl_usagesof, org.openide.util.NbBundle.getMessage(WhereUsedPanelClass.class, "LBL_UsagesOfElement")); // NOI18N
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanelMethod.form b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanelMethod.form
++index 6cd5f0454..d5763f7cb 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanelMethod.form
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanelMethod.form
++@@ -76,8 +76,8 @@
++ <SubComponents>
++ <Component class="javax.swing.JLabel" name="label">
++ <Properties>
++- <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
++- <Connection code="org.openide.util.ImageUtilities.loadImageIcon("/org/netbeans/modules/refactoring/java/resources/warning_16.png", false)" type="code"/>
+++ <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
+++ <Image iconType="3" name="/org/netbeans/modules/refactoring/java/resources/warning_16.png"/>
++ </Property>
++ <Property name="text" type="java.lang.String" value="<<Element>>" noResource="true"/>
++ </Properties>
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanelMethod.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanelMethod.java
++index ead6a4c4e..232ce70c2 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanelMethod.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanelMethod.java
++@@ -103,7 +103,7 @@ public class WhereUsedPanelMethod extends WhereUsedPanel.WhereUsedInnerPanel {
++ btn_usages_overriders = new javax.swing.JRadioButton();
++ searchOverloaded = new javax.swing.JCheckBox();
++
++- label.setIcon(org.openide.util.ImageUtilities.loadImageIcon("/org/netbeans/modules/refactoring/java/resources/warning_16.png", false)); // NOI18N
+++ label.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/netbeans/modules/refactoring/java/resources/warning_16.png"))); // NOI18N
++ label.setText("<<Element>>"); // NOI18N
++
++ searchInComments.setSelected(((Boolean) RefactoringModule.getOption("searchInComments.whereUsed", Boolean.FALSE)).booleanValue());
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanelPackage.form b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanelPackage.form
++index e86dd3e8e..f48e456be 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanelPackage.form
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanelPackage.form
++@@ -68,8 +68,8 @@
++ </Component>
++ <Component class="javax.swing.JLabel" name="label">
++ <Properties>
++- <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
++- <Connection code="org.openide.util.ImageUtilities.loadImageIcon("/org/netbeans/modules/refactoring/java/resources/warning_16.png", false)" type="code"/>
+++ <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
+++ <Image iconType="3" name="/org/netbeans/modules/refactoring/java/resources/warning_16.png"/>
++ </Property>
++ <Property name="text" type="java.lang.String" value="<<Element>>" noResource="true"/>
++ </Properties>
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanelPackage.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanelPackage.java
++index e266f7eb7..52dde663f 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanelPackage.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanelPackage.java
++@@ -90,7 +90,7 @@ public class WhereUsedPanelPackage extends WhereUsedPanel.WhereUsedInnerPanel {
++
++ org.openide.awt.Mnemonics.setLocalizedText(lbl_usagesof, org.openide.util.NbBundle.getMessage(WhereUsedPanelPackage.class, "LBL_UsagesOfElement")); // NOI18N
++
++- label.setIcon(org.openide.util.ImageUtilities.loadImageIcon("/org/netbeans/modules/refactoring/java/resources/warning_16.png", false)); // NOI18N
+++ label.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/netbeans/modules/refactoring/java/resources/warning_16.png"))); // NOI18N
++ org.openide.awt.Mnemonics.setLocalizedText(label, "<<Element>>"); // NOI18N
++
++ javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanelVariable.form b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanelVariable.form
++index 536f09af0..54b65c96c 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanelVariable.form
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanelVariable.form
++@@ -61,8 +61,8 @@
++ </Component>
++ <Component class="javax.swing.JLabel" name="label">
++ <Properties>
++- <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
++- <Connection code="org.openide.util.ImageUtilities.loadImageIcon("/org/netbeans/modules/refactoring/java/resources/warning_16.png", false)" type="code"/>
+++ <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
+++ <Image iconType="3" name="/org/netbeans/modules/refactoring/java/resources/warning_16.png"/>
++ </Property>
++ <Property name="text" type="java.lang.String" value="<<Element>>" noResource="true"/>
++ </Properties>
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanelVariable.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanelVariable.java
++index 1bc52e7e8..ed7983943 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanelVariable.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanelVariable.java
++@@ -90,7 +90,7 @@ public class WhereUsedPanelVariable extends WhereUsedPanel.WhereUsedInnerPanel {
++ }
++ });
++
++- label.setIcon(org.openide.util.ImageUtilities.loadImageIcon("/org/netbeans/modules/refactoring/java/resources/warning_16.png", false)); // NOI18N
+++ label.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/netbeans/modules/refactoring/java/resources/warning_16.png"))); // NOI18N
++ org.openide.awt.Mnemonics.setLocalizedText(label, "<<Element>>"); // NOI18N
++
++ org.openide.awt.Mnemonics.setLocalizedText(lbl_usagesof, org.openide.util.NbBundle.getMessage(WhereUsedPanelVariable.class, "LBL_UsagesOfElement")); // NOI18N
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedQueryUI.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedQueryUI.java
++index a98c50101..df8f63227 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedQueryUI.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedQueryUI.java
++@@ -67,7 +67,6 @@ import org.netbeans.modules.refactoring.api.AbstractRefactoring;
++ import org.netbeans.modules.refactoring.api.Problem;
++ import org.netbeans.modules.refactoring.api.Scope;
++ import org.netbeans.modules.refactoring.api.WhereUsedQuery;
++-import org.netbeans.modules.refactoring.java.RefactoringUtils;
++ import org.netbeans.modules.refactoring.java.api.JavaRefactoringUtils;
++ import org.netbeans.modules.refactoring.java.api.WhereUsedQueryConstants;
++ import org.netbeans.modules.refactoring.java.plugins.JavaPluginUtils;
++@@ -337,7 +336,7 @@ public class WhereUsedQueryUI implements RefactoringUI, Openable, JavaRefactorin
++ }
++ }
++ final List<Pair<Pair<String, Icon>, TreePathHandle>> classes;
++- if(RefactoringUtils.isExecutableElement(el)) {
+++ if(el.getKind() == ElementKind.CONSTRUCTOR || el.getKind() == ElementKind.METHOD) {
++ ExecutableElement method = (ExecutableElement) el;
++ classes = new LinkedList<Pair<Pair<String, Icon>, TreePathHandle>>();
++ Element enclosingElement = method.getEnclosingElement();
++diff --git a/refactoring.java/test/qa-functional/data/projects/RefactoringTest/nbproject/build-impl.xml b/refactoring.java/test/qa-functional/data/projects/RefactoringTest/nbproject/build-impl.xml
++index 95d577c60..868cabb21 100644
++--- a/refactoring.java/test/qa-functional/data/projects/RefactoringTest/nbproject/build-impl.xml
+++++ b/refactoring.java/test/qa-functional/data/projects/RefactoringTest/nbproject/build-impl.xml
++@@ -1180,7 +1180,7 @@ is divided into following sections:
++ <target depends="-profile-check" description="Profile a selected class in the IDE." if="profiler.configured" name="profile-test-with-main">
++ <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
++ <startprofiler/>
++- <antcall target="run-test-with-main"/>
+++ <antcal target="run-test-with-main"/>
++ </target>
++ <target depends="-profile-check,-profile-applet-pre72" if="profiler.configured" name="profile-applet" unless="profiler.info.jvmargs.agent">
++ <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>
++diff --git a/refactoring.java/test/qa-functional/src/org/netbeans/modules/test/refactoring/ConvertAnonymousToMemberTest.java b/refactoring.java/test/qa-functional/src/org/netbeans/modules/test/refactoring/ConvertAnonymousToMemberTest.java
++index be14d5fb0..7cb9f23c8 100644
++--- a/refactoring.java/test/qa-functional/src/org/netbeans/modules/test/refactoring/ConvertAnonymousToMemberTest.java
+++++ b/refactoring.java/test/qa-functional/src/org/netbeans/modules/test/refactoring/ConvertAnonymousToMemberTest.java
++@@ -36,6 +36,132 @@
++ * made subject to such option by the copyright holder.
++ *
++ * Contributor(s):
+++ *
+++ * Portions Copyrighted 2013 Sun Microsystems, Inc.
+++ *
+++ *//*
+++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+++ *
+++ * Copyright 2013 Oracle and/or its affiliates. All rights reserved.
+++ *
+++ * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
+++ * Other names may be trademarks of their respective owners.
+++ *
+++ * The contents of this file are subject to the terms of either the GNU
+++ * General Public License Version 2 only ("GPL") or the Common
+++ * Development and Distribution License("CDDL") (collectively, the
+++ * "License"). You may not use this file except in compliance with the
+++ * License. You can obtain a copy of the License at
+++ * http://www.netbeans.org/cddl-gplv2.html
+++ * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
+++ * specific language governing permissions and limitations under the
+++ * License. When distributing the software, include this License Header
+++ * Notice in each file and include the License file at
+++ * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
+++ * particular file as subject to the "Classpath" exception as provided
+++ * by Oracle in the GPL Version 2 section of the License file that
+++ * accompanied this code. If applicable, add the following below the
+++ * License Header, with the fields enclosed by brackets [] replaced by
+++ * your own identifying information:
+++ * "Portions Copyrighted [year] [name of copyright owner]"
+++ *
+++ * If you wish your version of this file to be governed by only the CDDL
+++ * or only the GPL Version 2, indicate your decision by adding
+++ * "[Contributor] elects to include this software in this distribution
+++ * under the [CDDL or GPL Version 2] license." If you do not indicate a
+++ * single choice of license, a recipient has the option to distribute
+++ * your version of this file under either the CDDL, the GPL Version 2 or
+++ * to extend the choice of license to its licensees as provided above.
+++ * However, if you add GPL Version 2 code and therefore, elected the GPL
+++ * Version 2 license, then the option applies only if the new code is
+++ * made subject to such option by the copyright holder.
+++ *
+++ * Contributor(s):
+++ *
+++ * Portions Copyrighted 2013 Sun Microsystems, Inc.
+++ *
+++ *//*
+++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+++ *
+++ * Copyright 2013 Oracle and/or its affiliates. All rights reserved.
+++ *
+++ * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
+++ * Other names may be trademarks of their respective owners.
+++ *
+++ * The contents of this file are subject to the terms of either the GNU
+++ * General Public License Version 2 only ("GPL") or the Common
+++ * Development and Distribution License("CDDL") (collectively, the
+++ * "License"). You may not use this file except in compliance with the
+++ * License. You can obtain a copy of the License at
+++ * http://www.netbeans.org/cddl-gplv2.html
+++ * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
+++ * specific language governing permissions and limitations under the
+++ * License. When distributing the software, include this License Header
+++ * Notice in each file and include the License file at
+++ * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
+++ * particular file as subject to the "Classpath" exception as provided
+++ * by Oracle in the GPL Version 2 section of the License file that
+++ * accompanied this code. If applicable, add the following below the
+++ * License Header, with the fields enclosed by brackets [] replaced by
+++ * your own identifying information:
+++ * "Portions Copyrighted [year] [name of copyright owner]"
+++ *
+++ * If you wish your version of this file to be governed by only the CDDL
+++ * or only the GPL Version 2, indicate your decision by adding
+++ * "[Contributor] elects to include this software in this distribution
+++ * under the [CDDL or GPL Version 2] license." If you do not indicate a
+++ * single choice of license, a recipient has the option to distribute
+++ * your version of this file under either the CDDL, the GPL Version 2 or
+++ * to extend the choice of license to its licensees as provided above.
+++ * However, if you add GPL Version 2 code and therefore, elected the GPL
+++ * Version 2 license, then the option applies only if the new code is
+++ * made subject to such option by the copyright holder.
+++ *
+++ * Contributor(s):
+++ *
+++ * Portions Copyrighted 2013 Sun Microsystems, Inc.
+++ *
+++ *//*
+++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+++ *
+++ * Copyright 2013 Oracle and/or its affiliates. All rights reserved.
+++ *
+++ * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
+++ * Other names may be trademarks of their respective owners.
+++ *
+++ * The contents of this file are subject to the terms of either the GNU
+++ * General Public License Version 2 only ("GPL") or the Common
+++ * Development and Distribution License("CDDL") (collectively, the
+++ * "License"). You may not use this file except in compliance with the
+++ * License. You can obtain a copy of the License at
+++ * http://www.netbeans.org/cddl-gplv2.html
+++ * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
+++ * specific language governing permissions and limitations under the
+++ * License. When distributing the software, include this License Header
+++ * Notice in each file and include the License file at
+++ * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
+++ * particular file as subject to the "Classpath" exception as provided
+++ * by Oracle in the GPL Version 2 section of the License file that
+++ * accompanied this code. If applicable, add the following below the
+++ * License Header, with the fields enclosed by brackets [] replaced by
+++ * your own identifying information:
+++ * "Portions Copyrighted [year] [name of copyright owner]"
+++ *
+++ * If you wish your version of this file to be governed by only the CDDL
+++ * or only the GPL Version 2, indicate your decision by adding
+++ * "[Contributor] elects to include this software in this distribution
+++ * under the [CDDL or GPL Version 2] license." If you do not indicate a
+++ * single choice of license, a recipient has the option to distribute
+++ * your version of this file under either the CDDL, the GPL Version 2 or
+++ * to extend the choice of license to its licensees as provided above.
+++ * However, if you add GPL Version 2 code and therefore, elected the GPL
+++ * Version 2 license, then the option applies only if the new code is
+++ * made subject to such option by the copyright holder.
+++ *
+++ * Contributor(s):
+++ *
+++ * Portions Copyrighted 2013 Sun Microsystems, Inc.
+++ *
++ */
++
++ package org.netbeans.modules.test.refactoring;
++diff --git a/refactoring.java/test/qa-functional/src/org/netbeans/modules/test/refactoring/EncapsulateFieldTest.java b/refactoring.java/test/qa-functional/src/org/netbeans/modules/test/refactoring/EncapsulateFieldTest.java
++index 1514b0e4f..b7c0a174c 100644
++--- a/refactoring.java/test/qa-functional/src/org/netbeans/modules/test/refactoring/EncapsulateFieldTest.java
+++++ b/refactoring.java/test/qa-functional/src/org/netbeans/modules/test/refactoring/EncapsulateFieldTest.java
++@@ -39,7 +39,49 @@
++ *
++ * Portions Copyrighted 2013 Sun Microsystems, Inc.
++ *
+++ *//*
+++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+++ *
+++ * Copyright 2013 Oracle and/or its affiliates. All rights reserved.
+++ *
+++ * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
+++ * Other names may be trademarks of their respective owners.
+++ *
+++ * The contents of this file are subject to the terms of either the GNU
+++ * General Public License Version 2 only ("GPL") or the Common
+++ * Development and Distribution License("CDDL") (collectively, the
+++ * "License"). You may not use this file except in compliance with the
+++ * License. You can obtain a copy of the License at
+++ * http://www.netbeans.org/cddl-gplv2.html
+++ * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
+++ * specific language governing permissions and limitations under the
+++ * License. When distributing the software, include this License Header
+++ * Notice in each file and include the License file at
+++ * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
+++ * particular file as subject to the "Classpath" exception as provided
+++ * by Oracle in the GPL Version 2 section of the License file that
+++ * accompanied this code. If applicable, add the following below the
+++ * License Header, with the fields enclosed by brackets [] replaced by
+++ * your own identifying information:
+++ * "Portions Copyrighted [year] [name of copyright owner]"
+++ *
+++ * If you wish your version of this file to be governed by only the CDDL
+++ * or only the GPL Version 2, indicate your decision by adding
+++ * "[Contributor] elects to include this software in this distribution
+++ * under the [CDDL or GPL Version 2] license." If you do not indicate a
+++ * single choice of license, a recipient has the option to distribute
+++ * your version of this file under either the CDDL, the GPL Version 2 or
+++ * to extend the choice of license to its licensees as provided above.
+++ * However, if you add GPL Version 2 code and therefore, elected the GPL
+++ * Version 2 license, then the option applies only if the new code is
+++ * made subject to such option by the copyright holder.
+++ *
+++ * Contributor(s):
+++ *
+++ * Portions Copyrighted 2013 Sun Microsystems, Inc.
+++ *
++ */
+++
++ package org.netbeans.modules.test.refactoring;
++
++ import java.awt.*;
++diff --git a/refactoring.java/test/qa-functional/src/org/netbeans/modules/test/refactoring/operators/EncapsulateFieldOperator.java b/refactoring.java/test/qa-functional/src/org/netbeans/modules/test/refactoring/operators/EncapsulateFieldOperator.java
++index 7e0836358..2a666bba1 100644
++--- a/refactoring.java/test/qa-functional/src/org/netbeans/modules/test/refactoring/operators/EncapsulateFieldOperator.java
+++++ b/refactoring.java/test/qa-functional/src/org/netbeans/modules/test/refactoring/operators/EncapsulateFieldOperator.java
++@@ -38,6 +38,46 @@
++ * Contributor(s):
++ *
++ * Portions Copyrighted 2013 Sun Microsystems, Inc.
+++ *//*
+++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+++ *
+++ * Copyright 2013 Oracle and/or its affiliates. All rights reserved.
+++ *
+++ * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
+++ * Other names may be trademarks of their respective owners.
+++ *
+++ * The contents of this file are subject to the terms of either the GNU
+++ * General Public License Version 2 only ("GPL") or the Common
+++ * Development and Distribution License("CDDL") (collectively, the
+++ * "License"). You may not use this file except in compliance with the
+++ * License. You can obtain x copy of the License at
+++ * http://www.netbeans.org/cddl-gplv2.html
+++ * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
+++ * specific language governing permissions and limitations under the
+++ * License. When distributing the software, include this License Header
+++ * Notice in each file and include the License file at
+++ * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
+++ * particular file as subject to the "Classpath" exception as provided
+++ * by Oracle in the GPL Version 2 section of the License file that
+++ * accompanied this code. If applicable, add the following below the
+++ * License Header, with the fields enclosed by brackets [] replaced by
+++ * your own identifying information:
+++ * "Portions Copyrighted [year] [name of copyright owner]"
+++ *
+++ * If you wish your version of this file to be governed by only the CDDL
+++ * or only the GPL Version 2, indicate your decision by adding
+++ * "[Contributor] elects to include this software in this distribution
+++ * under the [CDDL or GPL Version 2] license." If you do not indicate x
+++ * single choice of license, x recipient has the option to distribute
+++ * your version of this file under either the CDDL, the GPL Version 2 or
+++ * to extend the choice of license to its licensees as provided above.
+++ * However, if you add GPL Version 2 code and therefore, elected the GPL
+++ * Version 2 license, then the option applies only if the new code is
+++ * made subject to such option by the copyright holder.
+++ *
+++ * Contributor(s):
+++ *
+++ * Portions Copyrighted 2013 Sun Microsystems, Inc.
++ */
++ package org.netbeans.modules.test.refactoring.operators;
++
++diff --git a/refactoring.java/test/unit/data/SimpleJ2SEApp/nbproject/build-impl.xml b/refactoring.java/test/unit/data/SimpleJ2SEApp/nbproject/build-impl.xml
++index 16ef3bf94..04e73d239 100644
++--- a/refactoring.java/test/unit/data/SimpleJ2SEApp/nbproject/build-impl.xml
+++++ b/refactoring.java/test/unit/data/SimpleJ2SEApp/nbproject/build-impl.xml
++@@ -1180,7 +1180,7 @@ is divided into following sections:
++ <target depends="-profile-check" description="Profile a selected class in the IDE." if="profiler.configured" name="profile-test-with-main">
++ <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
++ <startprofiler/>
++- <antcall target="run-test-with-main"/>
+++ <antcal target="run-test-with-main"/>
++ </target>
++ <target depends="-profile-check,-profile-applet-pre72" if="profiler.configured" name="profile-applet" unless="profiler.info.jvmargs.agent">
++ <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>
++diff --git a/refactoring.java/test/unit/data/SimpleJ2SEAppChild/nbproject/build-impl.xml b/refactoring.java/test/unit/data/SimpleJ2SEAppChild/nbproject/build-impl.xml
++index 7a48b79d5..b5f7c3473 100644
++--- a/refactoring.java/test/unit/data/SimpleJ2SEAppChild/nbproject/build-impl.xml
+++++ b/refactoring.java/test/unit/data/SimpleJ2SEAppChild/nbproject/build-impl.xml
++@@ -1188,7 +1188,7 @@ is divided into following sections:
++ <target depends="-profile-check" description="Profile a selected class in the IDE." if="profiler.configured" name="profile-test-with-main">
++ <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
++ <startprofiler/>
++- <antcall target="run-test-with-main"/>
+++ <antcal target="run-test-with-main"/>
++ </target>
++ <target depends="-profile-check,-profile-applet-pre72" if="profiler.configured" name="profile-applet" unless="profiler.info.jvmargs.agent">
++ <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>
++diff --git a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/ChangeParametersTest.java b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/ChangeParametersTest.java
++index 9024e3c88..2922cb676 100644
++--- a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/ChangeParametersTest.java
+++++ b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/ChangeParametersTest.java
++@@ -72,92 +72,6 @@ public class ChangeParametersTest extends RefactoringTestBase {
++ JavacParser.DISABLE_SOURCE_LEVEL_DOWNGRADE = true;
++ }
++
++- public void testDoNotChangeModifiers258034() throws Exception {
++- writeFilesAndWaitForScan(src,
++- new File("t/A.java", "package t; public class A {\n"
++- + " /**\n"
++- + " * \n"
++- + " * @param x the value of x\n"
++- + " */\n"
++- + " protected void testMethod(int a, int x) {\n"
++- + " System.out.println(x);\n"
++- + " }\n"
++- + "\n"
++- + " public static void main(string[] args) {\n"
++- + " testMethod(2, 1);\n"
++- + " }\n"
++- + "}\n"),
++- new File("t/B.java", "package t; public class B extends A {\n"
++- + " public void testMethod(int a, int b) {\n"
++- + " int x = a;\n"
++- + " }\n"
++- + "}\n"));
++- ParameterInfo[] paramTable = new ParameterInfo[]{new ParameterInfo(0, "b", "int", null), new ParameterInfo(1, "x", "int", null)};
++- performChangeParameters(null, null, null, paramTable, Javadoc.NONE, 1, false);
++- verifyContent(src,
++- new File("t/A.java", "package t; public class A {\n"
++- + " /**\n"
++- + " * \n"
++- + " * @param x the value of x\n"
++- + " */\n"
++- + " protected void testMethod(int b, int x) {\n"
++- + " System.out.println(x);\n"
++- + " }\n"
++- + "\n"
++- + " public static void main(string[] args) {\n"
++- + " testMethod(2, 1);\n"
++- + " }\n"
++- + "}\n"),
++- new File("t/B.java", "package t; public class B extends A {\n"
++- + " public void testMethod(int a, int b) {\n"
++- + " int x = a;\n"
++- + " }\n"
++- + "}\n"));
++- }
++-
++- public void testForceChangeModifiers258034() throws Exception {
++- writeFilesAndWaitForScan(src,
++- new File("t/A.java", "package t; public class A {\n"
++- + " /**\n"
++- + " * \n"
++- + " * @param x the value of x\n"
++- + " */\n"
++- + " protected void testMethod(int a, int x) {\n"
++- + " System.out.println(x);\n"
++- + " }\n"
++- + "\n"
++- + " public static void main(string[] args) {\n"
++- + " testMethod(2, 1);\n"
++- + " }\n"
++- + "}\n"),
++- new File("t/B.java", "package t; public class B extends A {\n"
++- + " public void testMethod(int a, int b) {\n"
++- + " int x = a;\n"
++- + " }\n"
++- + "}\n"));
++- ParameterInfo[] paramTable = new ParameterInfo[]{new ParameterInfo(0, "b", "int", null), new ParameterInfo(1, "x", "int", null)};
++- performChangeParameters(EnumSet.noneOf(Modifier.class), null, null, paramTable, Javadoc.NONE, 1, false);
++- verifyContent(src,
++- new File("t/A.java", "package t; public class A {\n"
++- + " /**\n"
++- + " * \n"
++- + " * @param x the value of x\n"
++- + " */\n"
++- + " void testMethod(int b, int x) {\n"
++- + " System.out.println(x);\n"
++- + " }\n"
++- + "\n"
++- + " public static void main(string[] args) {\n"
++- + " testMethod(2, 1);\n"
++- + " }\n"
++- + "}\n"),
++- new File("t/B.java", "package t; public class B extends A {\n"
++- + " void testMethod(int a, int b) {\n"
++- + " int x = a;\n"
++- + " }\n"
++- + "}\n"));
++- }
++-
++ public void test255269() throws Exception {
++ writeFilesAndWaitForScan(src,
++ new File("t/A.java", "package t;\n"
++diff --git a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/CopyClassTest.java b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/CopyClassTest.java
++index 7e0ca7bcc..6d70c88cd 100644
++--- a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/CopyClassTest.java
+++++ b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/CopyClassTest.java
++@@ -1,10 +1,7 @@
++ /*
++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++ *
++- * Copyright 2009-2010 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
+++ * Copyright 2009-2010 Sun Microsystems, Inc. All rights reserved.
++ *
++ * The contents of this file are subject to the terms of either the GNU
++ * General Public License Version 2 only ("GPL") or the Common
++@@ -16,9 +13,9 @@
++ * specific language governing permissions and limitations under the
++ * License. When distributing the software, include this License Header
++ * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
+++ * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
++ * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
+++ * by Sun in the GPL Version 2 section of the License file that
++ * accompanied this code. If applicable, add the following below the
++ * License Header, with the fields enclosed by brackets [] replaced by
++ * your own identifying information:
++diff --git a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/FindUsagesPerfTest.java b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/FindUsagesPerfTest.java
++index 8223e2b41..ed1c72b7e 100644
++--- a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/FindUsagesPerfTest.java
+++++ b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/FindUsagesPerfTest.java
++@@ -51,7 +51,6 @@ import org.openide.filesystems.FileObject;
++ import java.io.*;
++ import javax.lang.model.element.PackageElement;
++ import junit.framework.Test;
++-import org.netbeans.api.fileinfo.NonRecursiveFolder;
++ import org.netbeans.api.java.source.*;
++ import org.netbeans.junit.Log;
++ import org.netbeans.junit.NbModuleSuite;
++@@ -114,7 +113,7 @@ public class FindUsagesPerfTest extends RefPerfTestCase {
++ public void run(CompilationController controller) throws Exception {
++ controller.toPhase(JavaSource.Phase.RESOLVED);
++
++- final RefactoringUI ui = WhereUsedQueryUI.factory().create(controller, new TreePathHandle[]{element}, null, new NonRecursiveFolder[0]);
+++ final RefactoringUI ui = WhereUsedQueryUI.factory().create(controller, new TreePathHandle[]{element}, null, null);
++ ui.getPanel(null);
++ try {
++ ui.setParameters();
++diff --git a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/InlineTest.java b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/InlineTest.java
++index fb5f44981..9216f4b9d 100644
++--- a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/InlineTest.java
+++++ b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/InlineTest.java
++@@ -71,60 +71,6 @@ public class InlineTest extends RefactoringTestBase {
++ JavacParser.DISABLE_SOURCE_LEVEL_DOWNGRADE = true;
++ }
++
++- public void test258579b() throws Exception {
++- writeFilesAndWaitForScan(src,
++- new File("t/A.java", "package t;\n"
++- + "public class A {\n"
++- + " public static void main(String[] args) {\n"
++- + " for (foo(); ; foo(), foo()) { }\n"
++- + " }\n"
++- + " private void foo() {\n"
++- + " }\n"
++- + "}\n"));
++- final InlineRefactoring[] r = new InlineRefactoring[1];
++- createInlineMethodRefactoring(src.getFileObject("t/A.java"), 2, r);
++- performRefactoring(r);
++- verifyContent(src,
++- new File("t/A.java", "package t;\n"
++- + "public class A {\n"
++- + " public static void main(String[] args) {\n"
++- + " for (; ; ) { }\n"
++- + " }\n"
++- + "}\n"));
++- }
++-
++- public void test258579a() throws Exception {
++- writeFilesAndWaitForScan(src,
++- new File("t/A.java", "package t;\n"
++- + "public class A {\n"
++- + " String greet = \"\";\n"
++- + " public static void main(String[] args) {\n"
++- + " new A().foo(\"\");\n"
++- + " }\n"
++- + " private void foo(String msg) {\n"
++- + " }\n"
++- + " private class Inner {\n"
++- + " public void bar() {\n"
++- + " foo(\"\");\n"
++- + " }\n"
++- + " }\n"
++- + "}\n"));
++- final InlineRefactoring[] r = new InlineRefactoring[1];
++- createInlineMethodRefactoring(src.getFileObject("t/A.java"), 3, r);
++- performRefactoring(r);
++- verifyContent(src,
++- new File("t/A.java", "package t;\n"
++- + "public class A {\n"
++- + " String greet = \"\";\n"
++- + " public static void main(String[] args) {\n"
++- + " }\n"
++- + " private class Inner {\n"
++- + " public void bar() {\n"
++- + " }\n"
++- + " }\n"
++- + "}\n"));
++- }
++-
++ public void test216817() throws Exception {
++ writeFilesAndWaitForScan(src,
++ new File("t/A.java", "package t;\n"
++@@ -471,6 +417,7 @@ public class InlineTest extends RefactoringTestBase {
++ new File("t/B.java", "package t;\n"
++ + "public class B {\n"
++ + " public void testMethodB(A a) {\n"
+++ + " ;\n"
++ + " }\n"
++ + "}"));
++ }
++@@ -1481,6 +1428,7 @@ public class InlineTest extends RefactoringTestBase {
++ + "public class A {\n"
++ + " public int getRating() {\n"
++ + " System.out.println(\"Less then five?\");\n"
+++ + " ;\n"
++ + " System.out.println(\"Less then five?\");\n"
++ + " return (numberOfLateDeliveries > 5) ? 2 : 1;\n"
++ + " }\n"
++diff --git a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/InnerToOutterTest.java b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/InnerToOutterTest.java
++index 0390e4810..985e9d857 100644
++--- a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/InnerToOutterTest.java
+++++ b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/InnerToOutterTest.java
++@@ -1,10 +1,7 @@
++ /*
++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++ *
++- * Copyright 2009-2010 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
+++ * Copyright 2009-2010 Sun Microsystems, Inc. All rights reserved.
++ *
++ * The contents of this file are subject to the terms of either the GNU
++ * General Public License Version 2 only ("GPL") or the Common
++@@ -16,9 +13,9 @@
++ * specific language governing permissions and limitations under the
++ * License. When distributing the software, include this License Header
++ * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
+++ * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
++ * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
+++ * by Sun in the GPL Version 2 section of the License file that
++ * accompanied this code. If applicable, add the following below the
++ * License Header, with the fields enclosed by brackets [] replaced by
++ * your own identifying information:
++@@ -61,50 +58,6 @@ public class InnerToOutterTest extends RefactoringTestBase {
++ super(name);
++ }
++
++-
++-
++- public void test259004() throws Exception {
++- String source;
++- writeFilesAndWaitForScan(src,
++- new File("t/A.java", source = "package t;\n"
++- + "\n"
++- + "import java.util.function.Consumer;\n"
++- + "\n"
++- + "public class A {\n"
++- + "\n"
++- + "public static void main(String[] args) {\n"
++- + " Consumer<F> c = f -> {};\n"
++- + "}\n"
++- + "\n"
++- + "public static final class F {}\n"
++- + "}"));
++- performInnerToOuterTest(null, source.indexOf('F') + 1);
++- verifyContent(src,
++- new File("t/A.java", source = "package t;\n"
++- + "\n"
++- + "import java.util.function.Consumer;\n"
++- + "\n"
++- + "public class A {\n"
++- + "\n"
++- + "public static void main(String[] args) {\n"
++- + " Consumer<F> c = f -> {};\n"
++- + "}\n"
++- + "\n"
++- + "}"),
++- new File("t/F.java", "/*\n"
++- + " * Refactoring License\n"
++- + " */\n"
++- + "\n"
++- + "package t;\n"
++- + "\n"
++- + "/**\n"
++- + " *\n"
++- + " * @author junit\n"
++- + " */\n"
++- + "public final class F {\n"
++- + "}\n"));
++- }
++-
++ public void test238000() throws Exception {
++ String source;
++ writeFilesAndWaitForScan(src,
++diff --git a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/IntroduceLocalExtensionTest.java b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/IntroduceLocalExtensionTest.java
++index f7bac70e2..b7be11460 100644
++--- a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/IntroduceLocalExtensionTest.java
+++++ b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/IntroduceLocalExtensionTest.java
++@@ -110,10 +110,6 @@ public class IntroduceLocalExtensionTest extends RefactoringTestBase {
++ .append("\n").append(" return 1;")
++ .append("\n").append(" }");
++ sb.append("\n").append("")
++- .append("\n").append(" public void setSomeMagicNumber(int number) {")
++- .append("\n").append(" this.someMagicNumber = number;")
++- .append("\n").append(" }");
++- sb.append("\n").append("")
++ .append("\n").append(" /**")
++ .append("\n").append(" * Returns <tt>true</tt> if this list contains no elements.")
++ .append("\n").append(" *")
++@@ -770,7 +766,6 @@ public class IntroduceLocalExtensionTest extends RefactoringTestBase {
++ + "package t;\n"
++ + "\n"
++ + "import java.io.Serializable;\n"
++- + "import java.time.Instant;\n"
++ + "import java.util.Date;\n"
++ + "\n"
++ + "/**\n"
++@@ -912,14 +907,6 @@ public class IntroduceLocalExtensionTest extends RefactoringTestBase {
++ + " return delegate.getTimezoneOffset();\n"
++ + " }\n"
++ + "\n"
++- + " public static DateExt from(Instant instnt) {\n"
++- + " return new DateExt(Date.from(instnt));\n"
++- + " }\n"
++- + "\n"
++- + " public Instant toInstant() {\n"
++- + " return delegate.toInstant();\n"
++- + " }\n"
++- + "\n"
++ + " public boolean equals(Object o) {\n"
++ + " Object target = o;\n"
++ + " if (o instanceof DateExt) {\n"
++@@ -949,16 +936,10 @@ public class IntroduceLocalExtensionTest extends RefactoringTestBase {
++ .append("\n").append("package t;")
++ .append("\n").append("")
++ .append("\n").append("import java.util.Collection;")
++- .append("\n").append("import java.util.Comparator;")
++ .append("\n").append("import java.util.Iterator;")
++ .append("\n").append("import java.util.List;")
++ .append("\n").append("import java.util.ListIterator;")
++ .append("\n").append("import java.util.Objects;")
++- .append("\n").append("import java.util.Spliterator;")
++- .append("\n").append("import java.util.function.Consumer;")
++- .append("\n").append("import java.util.function.Predicate;")
++- .append("\n").append("import java.util.function.UnaryOperator;")
++- .append("\n").append("import java.util.stream.Stream;")
++ .append("\n").append("")
++ .append("\n").append("/**")
++ .append("\n").append(" *")
++@@ -994,23 +975,14 @@ public class IntroduceLocalExtensionTest extends RefactoringTestBase {
++ .append("\n").append(" return delegate.someMagicNumber;")
++ .append("\n").append(" }");
++ sb1.append("\n").append("")
++- .append("\n").append(" public static final MyList[] wrap(SingleList... singleLists) { return Arrays.stream(singleLists).map((SingleList t) -> new t.MyList(t)).toArray(t.MyList[]::new); }");
++- sb1.append("\n").append("")
++- .append("\n").append(" @Override public void forEach(Consumer<? super E> cnsmr) {")
++- .append("\n").append(" delegate.forEach(cnsmr);")
++- .append("\n").append(" }");
++- sb1.append("\n").append("")
++- .append("\n").append(" @Override public boolean removeIf(Predicate<? super E> prdct) {")
++- .append("\n").append(" return delegate.removeIf(prdct);")
++- .append("\n").append(" }");
++- sb1.append("\n").append("")
++- .append("\n").append(" @Override public Stream<E> stream() {")
++- .append("\n").append(" return delegate.stream();")
+++ .append("\n").append(" /**")
+++ .append("\n").append(" * @param someMagicNumber the someMagicNumber to set")
+++ .append("\n").append(" */")
+++ .append("\n").append(" public void setSomeMagicNumber(int someMagicNumber) {")
+++ .append("\n").append(" this.delegate.someMagicNumber = someMagicNumber;")
++ .append("\n").append(" }");
++ sb1.append("\n").append("")
++- .append("\n").append(" @Override public Stream<E> parallelStream() {")
++- .append("\n").append(" return delegate.parallelStream();")
++- .append("\n").append(" }");
+++ .append("\n").append(" public static final MyList[] wrap(SingleList... singleLists) { return Arrays.stream(singleLists).map((SingleList t) -> new t.MyList(t)).toArray(t.MyList[]::new); }");
++ sb1.append("\n").append("")
++ .append("\n").append(" public boolean containsAll(Collection<?> clctn) {")
++ .append("\n").append(" return delegate.containsAll(clctn);")
++@@ -1028,18 +1000,6 @@ public class IntroduceLocalExtensionTest extends RefactoringTestBase {
++ .append("\n").append(" return delegate.toString();")
++ .append("\n").append(" }");
++ sb1.append("\n").append("")
++- .append("\n").append(" @Override public void replaceAll(UnaryOperator<E> uo) {")
++- .append("\n").append(" delegate.replaceAll(uo);")
++- .append("\n").append(" }");
++- sb1.append("\n").append("")
++- .append("\n").append(" @Override public void sort(Comparator<? super E> cmprtr) {")
++- .append("\n").append(" delegate.sort(cmprtr);")
++- .append("\n").append(" }");
++- sb1.append("\n").append("")
++- .append("\n").append(" @Override public Spliterator<E> spliterator() {")
++- .append("\n").append(" return delegate.spliterator();")
++- .append("\n").append(" }");
++- sb1.append("\n").append("")
++ .append("\n").append(" public Iterator<E> iterator() {")
++ .append("\n").append(" return delegate.iterator();")
++ .append("\n").append(" }");
++@@ -1065,8 +1025,6 @@ public class IntroduceLocalExtensionTest extends RefactoringTestBase {
++ .append("\n").append(" return delegate.size();")
++ .append("\n").append(" }");
++ sb1.append("\n").append("")
++- .append("\n").append(" public void setSomeMagicNumber(int number) { delegate.setSomeMagicNumber(number); } ");
++- sb1.append("\n").append("")
++ .append("\n").append(" /**")
++ .append("\n").append(" * Returns <tt>true</tt> if this list contains no elements.")
++ .append("\n").append(" *")
++@@ -1380,15 +1338,9 @@ public class IntroduceLocalExtensionTest extends RefactoringTestBase {
++ .append("\n").append("package t;")
++ .append("\n").append("")
++ .append("\n").append("import java.util.Collection;")
++- .append("\n").append("import java.util.Comparator;")
++ .append("\n").append("import java.util.Iterator;")
++ .append("\n").append("import java.util.List;")
++ .append("\n").append("import java.util.ListIterator;")
++- .append("\n").append("import java.util.Spliterator;")
++- .append("\n").append("import java.util.function.Consumer;")
++- .append("\n").append("import java.util.function.Predicate;")
++- .append("\n").append("import java.util.function.UnaryOperator;")
++- .append("\n").append("import java.util.stream.Stream;")
++ .append("\n").append("")
++ .append("\n").append("/**")
++ .append("\n").append(" *")
++@@ -1422,23 +1374,14 @@ public class IntroduceLocalExtensionTest extends RefactoringTestBase {
++ .append("\n").append(" public int getSomeMagicNumber() {")
++ .append("\n").append(" return delegate.someMagicNumber;")
++ .append("\n").append(" }");
++- sb1.append("\n").append("public static final MyList[] wrap(SingleList... singleLists) { return Arrays.stream(singleLists).map((SingleList t) -> new t.MyList(t)).toArray(t.MyList[]::new); }");
++- sb1.append("\n").append("")
++- .append("\n").append(" @Override public void forEach(Consumer<? super E> cnsmr) {")
++- .append("\n").append(" delegate.forEach(cnsmr);")
++- .append("\n").append(" }");
++- sb1.append("\n").append("")
++- .append("\n").append(" @Override public boolean removeIf(Predicate<? super E> prdct) {")
++- .append("\n").append(" return delegate.removeIf(prdct);")
++- .append("\n").append(" }");
++- sb1.append("\n").append("")
++- .append("\n").append(" @Override public Stream<E> stream() {")
++- .append("\n").append(" return delegate.stream();")
++- .append("\n").append(" }");
++ sb1.append("\n").append("")
++- .append("\n").append(" @Override public Stream<E> parallelStream() {")
++- .append("\n").append(" return delegate.parallelStream();")
+++ .append("\n").append(" /**")
+++ .append("\n").append(" * @param someMagicNumber the someMagicNumber to set")
+++ .append("\n").append(" */")
+++ .append("\n").append(" public void setSomeMagicNumber(int someMagicNumber) {")
+++ .append("\n").append(" this.delegate.someMagicNumber = someMagicNumber;")
++ .append("\n").append(" }");
+++ sb1.append("\n").append("public static final MyList[] wrap(SingleList... singleLists) { return Arrays.stream(singleLists).map((SingleList t) -> new t.MyList(t)).toArray(t.MyList[]::new); }");
++ sb1.append("\n").append("")
++ .append("\n").append(" public boolean containsAll(Collection<?> clctn) {")
++ .append("\n").append(" return delegate.containsAll(clctn);")
++@@ -1456,18 +1399,6 @@ public class IntroduceLocalExtensionTest extends RefactoringTestBase {
++ .append("\n").append(" return delegate.toString();")
++ .append("\n").append(" }");
++ sb1.append("\n").append("")
++- .append("\n").append(" @Override public void replaceAll(UnaryOperator<E> uo) {")
++- .append("\n").append(" delegate.replaceAll(uo);")
++- .append("\n").append(" }");
++- sb1.append("\n").append("")
++- .append("\n").append(" @Override public void sort(Comparator<? super E> cmprtr) {")
++- .append("\n").append(" delegate.sort(cmprtr);")
++- .append("\n").append(" }");
++- sb1.append("\n").append("")
++- .append("\n").append(" @Override public Spliterator<E> spliterator() {")
++- .append("\n").append(" return delegate.spliterator();")
++- .append("\n").append(" }");
++- sb1.append("\n").append("")
++ .append("\n").append(" public Iterator<E> iterator() {")
++ .append("\n").append(" return delegate.iterator();")
++ .append("\n").append(" }");
++@@ -1493,8 +1424,6 @@ public class IntroduceLocalExtensionTest extends RefactoringTestBase {
++ .append("\n").append(" return delegate.size();")
++ .append("\n").append(" }");
++ sb1.append("\n").append("")
++- .append("\n").append(" public void setSomeMagicNumber(int number) { delegate.setSomeMagicNumber(number); } ");
++- sb1.append("\n").append("")
++ .append("\n").append(" /**")
++ .append("\n").append(" * Returns <tt>true</tt> if this list contains no elements.")
++ .append("\n").append(" *")
++@@ -1797,8 +1726,8 @@ public class IntroduceLocalExtensionTest extends RefactoringTestBase {
++
++ public void testNameClash() throws Exception {
++ writeFilesAndWaitForScan(src,
++- new File("t/A.java", "package t; import java.util.*; public class A { public static void main(String[] args) { Exception ex = new IllegalFormatException(); } }"));
++- performIntroduceLocalExtension("IllegalFormatException", false, true, "t", IntroduceLocalExtensionRefactoring.Equality.DELEGATE);
+++ new File("t/A.java", "package t; import java.util.*; public class A { public static void main(String[] args) { List<String> lijst = new ArrayList<String>(); } }"));
+++ performIntroduceLocalExtension("ArrayList", false, true, "t", IntroduceLocalExtensionRefactoring.Equality.DELEGATE);
++ StringBuilder sb1 = new StringBuilder();
++ //<editor-fold defaultstate="collapsed" desc="Result">
++ sb1.append("/*")
++@@ -1806,18 +1735,32 @@ public class IntroduceLocalExtensionTest extends RefactoringTestBase {
++ .append("\n").append(" */")
++ .append("\n").append("package t;")
++ .append("\n").append("")
+++ .append("\n").append("import java.util.Collection;")
+++ .append("\n").append("")
++ .append("\n").append("/**")
++ .append("\n").append(" *")
++ .append("\n").append(" * @author junit")
++ .append("\n").append(" */")
++- .append("\n").append("public class IllegalFormatException extends java.util.IllegalFormatException {")
+++ .append("\n").append("public class ArrayList<E> extends java.util.ArrayList<E> {")
+++ .append("\n").append("")
+++ .append("\n").append(" public ArrayList(int arg0) {")
+++ .append("\n").append(" super(arg0);")
+++ .append("\n").append(" }")
+++ .append("\n").append("")
+++ .append("\n").append(" public ArrayList() {")
+++ .append("\n").append(" super();")
+++ .append("\n").append(" }")
+++ .append("\n").append("")
+++ .append("\n").append(" public ArrayList(Collection<? extends E> arg0) {")
+++ .append("\n").append(" super(arg0);")
+++ .append("\n").append(" }")
++ .append("\n").append("")
++ .append("\n").append("}")
++ .append("\n");
++ //</editor-fold>
++ verifyContent(src,
++- new File("t/A.java", "package t; import java.util.*; public class A { public static void main(String[] args) { Exception ex = new t.IllegalFormatException(); } }"),
++- new File("t/IllegalFormatException.java", sb1.toString()));
+++ new File("t/A.java", "package t; import java.util.*; public class A { public static void main(String[] args) { List<String> lijst = new t.ArrayList<String>(); } }"),
+++ new File("t/ArrayList.java", sb1.toString()));
++ }
++
++ private void performIntroduceLocalExtensionInterface(final String source, final String name, final boolean wrap, final boolean replace, final String packageName, final IntroduceLocalExtensionRefactoring.Equality equality, Problem... expectedProblems) throws Exception {
++diff --git a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/IntroduceParameterTest.java b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/IntroduceParameterTest.java
++index 2c2a1da89..d01f2f01f 100644
++--- a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/IntroduceParameterTest.java
+++++ b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/IntroduceParameterTest.java
++@@ -67,45 +67,6 @@ public class IntroduceParameterTest extends RefactoringTestBase {
++ super(name);
++ }
++
++- public void testAbstractMethod() throws Exception {
++- String source;
++- writeFilesAndWaitForScan(src,
++- new File("t/A.java", source = "package t;\n"
++- + "public abstract class A {\n"
++- + "public abstract int cislo(int a);\n"
++- + "public void m() {\n"
++- + " System.out.println(cislo(1));\n"
++- + "}\n"
++- + "}\n"),
++- new File("t/F.java", "package t;\n"
++- + "public class F extends A {\n"
++- + " public int cislo(int a) {\n"
++- + " return 2;\n"
++- + " }\n"
++- + " public void bar() {\n"
++- + " System.out.println(cislo(1) + 1);\n"
++- + " }\n"
++- + "}\n"));
++- performIntroduce(src.getFileObject("t/A.java"), source.lastIndexOf("int a") +4, Javadoc.NONE, false, false );
++- verifyContent(src,
++- new File("t/A.java", "package t;\n"
++- + "public abstract class A {\n"
++- + "public abstract int cislo(int a, int introduced);\n"
++- + "public void m() {\n"
++- + " System.out.println(cislo(1, 1));\n"
++- + "}\n"
++- + "}\n"),
++- new File("t/F.java", "package t;\n"
++- + "public class F extends A {\n"
++- + " public int cislo(int a, int introduced) {\n"
++- + " return 2;\n"
++- + " }\n"
++- + " public void bar() {\n"
++- + " System.out.println(cislo(1, 1) + 1);\n"
++- + " }\n"
++- + "}\n"));
++- }
++-
++ public void test238154() throws Exception {
++ String source;
++ writeFilesAndWaitForScan(src,
++diff --git a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/MoveBase.java b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/MoveBaseTest.java
++similarity index 99%
++rename from refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/MoveBase.java
++rename to refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/MoveBaseTest.java
++index 2dca75574..ce2cfbab0 100644
++--- a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/MoveBase.java
+++++ b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/MoveBaseTest.java
++@@ -67,9 +67,9 @@ import org.openide.util.lookup.Lookups;
++ *
++ * @author Ralph Ruijs <ralphbenjamin at netbeans.org>
++ */
++-public class MoveBase extends RefactoringTestBase {
+++public class MoveBaseTest extends RefactoringTestBase {
++
++- public MoveBase(String name) {
+++ public MoveBaseTest(String name) {
++ super(name);
++ }
++
++diff --git a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/MoveClassTest.java b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/MoveClassTest.java
++index d0b2a0977..2da3239a9 100644
++--- a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/MoveClassTest.java
+++++ b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/MoveClassTest.java
++@@ -48,7 +48,7 @@ import org.netbeans.modules.refactoring.api.Problem;
++ *
++ * @author Ralph Ruijs <ralphbenjamin at netbeans.org>
++ */
++-public class MoveClassTest extends MoveBase {
+++public class MoveClassTest extends MoveBaseTest {
++
++ public MoveClassTest(String name) {
++ super(name);
++diff --git a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/MoveFieldTest.java b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/MoveFieldTest.java
++index 6e71a6dfa..535fcabd1 100644
++--- a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/MoveFieldTest.java
+++++ b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/MoveFieldTest.java
++@@ -48,7 +48,7 @@ import org.netbeans.modules.refactoring.java.api.JavaMoveMembersProperties.Visib
++ *
++ * @author Ralph Ruijs
++ */
++-public class MoveFieldTest extends MoveBase {
+++public class MoveFieldTest extends MoveBaseTest {
++
++ public MoveFieldTest(String name) {
++ super(name);
++diff --git a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/MoveJavaFileTest.java b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/MoveJavaFileTest.java
++index 4475b8322..ba7b2b9ce 100644
++--- a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/MoveJavaFileTest.java
+++++ b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/MoveJavaFileTest.java
++@@ -165,7 +165,7 @@ public class MoveJavaFileTest extends RefactoringTestBase {
++ performMoveClass(Lookups.singleton(src.getFileObject("u/B.java")), new URL(src.getURL(), "t/"));
++ verifyContent(src,
++ new File("t/package-info.java", "package t;"),
++- new File("A.java", "import t.B; public class A { public void foo() { int d = B.c; } }"),
+++ new File("A.java", " import t.B; public class A { public void foo() { int d = B.c; } }"),
++ new File("t/B.java", "package t; public class B { public static int c = 5; }"));
++ }
++
++diff --git a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/MoveMethodTest.java b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/MoveMethodTest.java
++index f9a1a520f..f865b74f8 100644
++--- a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/MoveMethodTest.java
+++++ b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/MoveMethodTest.java
++@@ -48,7 +48,7 @@ import org.netbeans.modules.refactoring.java.api.JavaMoveMembersProperties.Visib
++ *
++ * @author Ralph Ruijs
++ */
++-public class MoveMethodTest extends MoveBase {
+++public class MoveMethodTest extends MoveBaseTest {
++
++ public MoveMethodTest(String name) {
++ super(name);
++diff --git a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/RefTestBase.java b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/RefTestBase.java
++index 396521716..5a859d31f 100644
++--- a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/RefTestBase.java
+++++ b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/RefTestBase.java
++@@ -1,10 +1,7 @@
++ /*
++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++ *
++- * Copyright 2009-2010 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
+++ * Copyright 2009-2010 Sun Microsystems, Inc. All rights reserved.
++ *
++ * The contents of this file are subject to the terms of either the GNU
++ * General Public License Version 2 only ("GPL") or the Common
++@@ -16,9 +13,9 @@
++ * specific language governing permissions and limitations under the
++ * License. When distributing the software, include this License Header
++ * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
+++ * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
++ * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
+++ * by Sun in the GPL Version 2 section of the License file that
++ * accompanied this code. If applicable, add the following below the
++ * License Header, with the fields enclosed by brackets [] replaced by
++ * your own identifying information:
++diff --git a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/RefactoringTestBase.java b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/RefactoringTestBase.java
++index 31a198e71..babac6c47 100644
++--- a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/RefactoringTestBase.java
+++++ b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/RefactoringTestBase.java
++@@ -1,10 +1,7 @@
++ /*
++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++ *
++- * Copyright 2009-2010 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
+++ * Copyright 2009-2010 Sun Microsystems, Inc. All rights reserved.
++ *
++ * The contents of this file are subject to the terms of either the GNU
++ * General Public License Version 2 only ("GPL") or the Common
++@@ -16,9 +13,9 @@
++ * specific language governing permissions and limitations under the
++ * License. When distributing the software, include this License Header
++ * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
+++ * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
++ * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
+++ * by Sun in the GPL Version 2 section of the License file that
++ * accompanied this code. If applicable, add the following below the
++ * License Header, with the fields enclosed by brackets [] replaced by
++ * your own identifying information:
++diff --git a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/RenameTest.java b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/RenameTest.java
++index 579af3935..a6d856c0c 100644
++--- a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/RenameTest.java
+++++ b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/RenameTest.java
++@@ -70,33 +70,6 @@ public class RenameTest extends RefactoringTestBase {
++ super(name);
++ }
++
++- public void testStaticImportDoubled() throws Exception {
++- writeFilesAndWaitForScan(src, new File("Test.java", "import static java.util.Objects.requireNonNull;\n"
++- + "\n"
++- + "public class Test {\n"
++- + "\n"
++- + "final int number;\n"
++- + "\n"
++- + "public Test(final Integer number) {\n"
++- + " this.number = requireNonNull(number);\n"
++- + "}\n"
++- + "\n"
++- + "}"));
++- JavaRenameProperties props = new JavaRenameProperties();
++- performRename(src.getFileObject("Test.java"), 0, -1, "getal", props, true);
++- verifyContent(src, new File("Test.java", "import static java.util.Objects.requireNonNull;\n"
++- + "\n"
++- + "public class Test {\n"
++- + "\n"
++- + "final int getal;\n"
++- + "\n"
++- + "public Test(final Integer number) {\n"
++- + " this.getal = requireNonNull(number);\n"
++- + "}\n"
++- + "\n"
++- + "}"));
++- }
++-
++ public void testMethodChainInTest() throws Exception {
++ writeFilesAndWaitForScan(src,
++ new File("t/SampleClass.java", "package t;\n"
++diff --git a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/ReplaceConstructorWithBuilderTest.java b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/ReplaceConstructorWithBuilderTest.java
++index 41f0a9d5c..c114d4dd2 100644
++--- a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/ReplaceConstructorWithBuilderTest.java
+++++ b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/ReplaceConstructorWithBuilderTest.java
++@@ -1,10 +1,7 @@
++ /*
++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++ *
++- * Copyright 2010 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
+++ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
++ *
++ * The contents of this file are subject to the terms of either the GNU
++ * General Public License Version 2 only ("GPL") or the Common
++@@ -16,9 +13,9 @@
++ * specific language governing permissions and limitations under the
++ * License. When distributing the software, include this License Header
++ * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
+++ * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
++ * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
+++ * by Sun in the GPL Version 2 section of the License file that
++ * accompanied this code. If applicable, add the following below the
++ * License Header, with the fields enclosed by brackets [] replaced by
++ * your own identifying information:
++diff --git a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/ReplaceConstructorWithFactoryTest.java b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/ReplaceConstructorWithFactoryTest.java
++index 996fff666..e0ae9426d 100644
++--- a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/ReplaceConstructorWithFactoryTest.java
+++++ b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/ReplaceConstructorWithFactoryTest.java
++@@ -1,10 +1,7 @@
++ /*
++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++ *
++- * Copyright 2010 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
+++ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
++ *
++ * The contents of this file are subject to the terms of either the GNU
++ * General Public License Version 2 only ("GPL") or the Common
++@@ -16,9 +13,9 @@
++ * specific language governing permissions and limitations under the
++ * License. When distributing the software, include this License Header
++ * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
+++ * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
++ * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
+++ * by Sun in the GPL Version 2 section of the License file that
++ * accompanied this code. If applicable, add the following below the
++ * License Header, with the fields enclosed by brackets [] replaced by
++ * your own identifying information:
diff --cc debian/patches/netbeans-spi.java.hints-1.patch
index 0000000,0000000..96cc947
new file mode 100644
--- /dev/null
+++ b/debian/patches/netbeans-spi.java.hints-1.patch
@@@ -1,0 -1,0 +1,43 @@@
++From: Markus Koschany <apo at debian.org>
++Date: Sun, 25 Dec 2016 22:48:08 +0100
++Subject: netbeans spi.java.hints
++
++Ugly workaround for a FTBFS due to missing OpenJDK 9 classes. Module was
++replaced with the one from 8.1.
++
++Forwarded: not-needed
++---
++ .../src/org/netbeans/modules/java/hints/spiimpl/Utilities.java | 6 ++----
++ 1 file changed, 2 insertions(+), 4 deletions(-)
++
++diff --git a/spi.java.hints/src/org/netbeans/modules/java/hints/spiimpl/Utilities.java b/spi.java.hints/src/org/netbeans/modules/java/hints/spiimpl/Utilities.java
++index ef23abdb9..925217ef6 100644
++--- a/spi.java.hints/src/org/netbeans/modules/java/hints/spiimpl/Utilities.java
+++++ b/spi.java.hints/src/org/netbeans/modules/java/hints/spiimpl/Utilities.java
++@@ -76,7 +76,6 @@ import com.sun.tools.javac.api.JavacTrees;
++ import com.sun.tools.javac.code.Flags;
++ import com.sun.tools.javac.code.Symtab;
++ import com.sun.tools.javac.code.Type;
++-import com.sun.tools.javac.comp.ArgumentAttr;
++ import com.sun.tools.javac.comp.Attr;
++ import com.sun.tools.javac.comp.AttrContext;
++ import com.sun.tools.javac.comp.Enter;
++@@ -658,8 +657,8 @@ public class Utilities {
++ resolve.disableAccessibilityChecks();
++ Enter enter = Enter.instance(jti.getContext());
++ enter.shadowTypeEnvs(true);
++- ArgumentAttr argumentAttr = ArgumentAttr.instance(jti.getContext());
++- ArgumentAttr.LocalCacheContext cacheContext = argumentAttr.withLocalCacheContext();
+++ //ArgumentAttr argumentAttr = ArgumentAttr.instance(jti.getContext());
+++ //ArgumentAttr.LocalCacheContext cacheContext = argumentAttr.withLocalCacheContext();
++ try {
++ Attr attr = Attr.instance(jti.getContext());
++ Env<AttrContext> env = ((JavacScope) scope).getEnv();
++@@ -667,7 +666,6 @@ public class Utilities {
++ return attr.attribExpr((JCTree) tree,env, Type.noType);
++ return attr.attribStat((JCTree) tree,env);
++ } finally {
++- cacheContext.leave();
++ log.useSource(prev);
++ log.popDiagnosticHandler(discardHandler);
++ resolve.restoreAccessbilityChecks();
diff --cc debian/patches/series
index a34d693,0000000..d374d93
mode 100644,000000..100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@@ -1,36 -1,0 +1,46 @@@
+netbeans-platform-disable-net.java-modules.patch
+netbeans-platform-empty-binaries-list.patch
+netbeans-platform-jemmy.patch
+netbeans-platform-junitlib.patch
+netbeans-platform-nbi.patch
+netbeans-platform-nojnabinaries.patch
+netbeans-platform-o.n.html.ko4j.patch
+netbeans-platform-properties.patch
+netbeans-empty-binaries-list.patch
+antlr-3.5.2.patch
+db.dataview-setRowFilter-method.patch
+javaewah-version.patch
+netbeans-build.patch
+netbeans-cluster-properties.patch
+netbeans-CommandLineParser.patch
+netbeans-commons-net.patch
+netbeans-com.sun.tools.hc.patch
+netbeans-dlight.nativeexecution.patch
+netbeans-ide-launcher.patch
+netbeans-javacc.patch
+netbeans-libs.jaxb.patch
+netbeans-nocopy.patch
+netbeans-o.apache.tools.ant.module.patch
+netbeans-o.n.bootstrap.patch
+netbeans-slf4j.dummy.patch
+netbeans-small-ide.patch
+netbeans-spi.java.hints.patch
+netbeans-updatecenters.patch
+netbeans-wildUpperBound.patch
+netbeans-xml.jaxb.api.patch
+netbeans-xsl-httpserver.patch
+osgi-update.patch
+reproducible-build.patch
+netbeans-extexecution.patch
+netbeans-svnclientadapter.patch
+netbeans-lib.nbjavac.patch
++netbeans-java.source.patch
++netbeans-java.source.base.patch
++netbeans-java.completion.patch
++netbeans-java.sourceui.patch
++netbeans-spi.java.hints-1.patch
++netbeans-refactoring-java.patch
++netbeans-java.editor.patch
++netbeans-java.debug.patch
++netbeans-java.hints.patch
++netbeans-javadoc.patch
diff --cc debian/rules
index 9216cb6,0000000..c9eeeef
mode 100755,000000..100755
--- a/debian/rules
+++ b/debian/rules
@@@ -1,200 -1,0 +1,200 @@@
+#!/usr/bin/make -f
+
+export JAVA_HOME=/usr/lib/jvm/default-java
+export TZ=UTC
+
+# Included clusters
+pkg-nb := netbeans
+base-apisupport := apisupport3
+base-ide := ide14
+base-java := java5
+base-nb := nb
+base-platform := platform18
+
+pkg-apisupport := libnb-$(base-apisupport)-java
+pkg-ide := libnb-$(base-ide)-java
+pkg-java := libnb-$(base-java)-java
+
+
+NBDIR := /usr/share/netbeans
+export JAVADIR := /usr/share/java
+
+JH_JAR := jhall.jar
+JSEARCH_JAR := jsearch.jar
+NB_JH_JAR := jhall-2.0_05.jar
+NB_JSEARCH_JAR := jsearch-2.0_05.jar
+
+NB_INSTALL_DIR := usr/share/netbeans
+
+
+INSTALL := dh_install -p
+LINK := dh_link -p
+
+DEB_UPSTREAM_VERSION = $(shell dpkg-parsechangelog | \
+ grep -e '^Version' | \
+ perl -pi -e 's/^Version:\s+(.*)\+dfsg\d+-\d+.*$$/$$1/')
+
+BUILDSTAMP := $(shell date --utc --date="`dpkg-parsechangelog -SDate`" "+%Y%m%d")
+BUILD_DATE := $(shell dpkg-parsechangelog --show-field=Date)
+
+# Defined function to be used to create symlinks
+define symlink
+ mkdir -p $(dir $(2))
+ ln -sf $(1) $(2)
+endef
+
+%:
+ dh $@ --with javahelper
+
+
+override_dh_auto_build:
+ # w3c-sgml-lib: needed for xml validation, otherwise FTBFS
+ mkdir -p nbbuild/external/xhtml1-dtds
+ ln -sf /usr/share/xml/w3c-sgml-lib/schema/dtd/REC-xhtml1-20020801/xhtml* nbbuild/external/xhtml1-dtds
+ ln -sf /usr/share/xml/w3c-sgml-lib/schema/dtd/REC-xhtml-modularization-20100729/xhtml* nbbuild/external/xhtml1-dtds
+ # link Debian's system jars
+ $(shell awk 'NF==4 {printf("ln -sf %s %s/%s;\n",$$1,$$2,$$4)}' debian/linked-jars)
+ # ReproducibleBuilds TimestampsInZip
+ # https://wiki.debian.org/ReproducibleBuilds/TimestampsInZip
+ find '$(CURDIR)' -newermt '$(BUILD_DATE)' -print0 | \
+ xargs -0r touch --no-dereference --date='$(BUILD_DATE)'
+ ################################################################
+ # Build the IDE. DISPLAY must be unset to avoid build failures.
+ unset DISPLAY; ant \
+ -Dbuildstamp=$(BUILDSTAMP) \
+ -Dhg.id=debian-$(DEB_UPSTREAM_VERSION) \
+ -Dpermit.jdk8.builds=true \
+ -Dbuild.compiler.deprecation=false \
+ -Dbuild.compiler.debug=false \
+ -Dext.binaries.downloaded=true \
+ -Dverify.checkout=false \
+ -Dcluster.config=basic \
+ -f nbbuild/build.xml build-nozip
+ # Convert the *.icns hicolor icon into a png icon
+ icns2png -x -s 128x128 -d 32 ide.branding/release/netbeans.icns
+
+
+
+override_dh_auto_install:
+ # recreate links
+ $(shell awk 'NF==4 {printf("ln -sf %s nbbuild/netbeans/%s/%s;\n",$$1,$$3,$$4)}' debian/linked-jars)
+ # Install libraries
+ mh_installjar -plibnb-absolutelayout-java -l debian/pom/AbsoluteLayout.xml \
+ nbbuild/netbeans/java/modules/ext/AbsoluteLayout.jar
+ mh_installpom -plibnb-absolutelayout-java debian/pom/AbsoluteLayout.xml
+ #
+ # Install IDE package files
+ echo > nbbuild/netbeans/ide/.noautoupdate
+ echo > nbbuild/netbeans/ide/.lastModified
+ $(INSTALL)$(pkg-ide) nbbuild/netbeans/ide/* $(NB_INSTALL_DIR)/$(base-ide)
+ $(INSTALL)$(pkg-ide) nbbuild/netbeans/ide/.noautoupdate $(NB_INSTALL_DIR)/$(base-ide)
+ $(INSTALL)$(pkg-ide) nbbuild/netbeans/ide/.lastModified $(NB_INSTALL_DIR)/$(base-ide)
+ # See netbeans-slf4j.dummy.patch for further information
+ $(LINK)$(pkg-ide) usr/share/java/slf4j-api.jar $(NB_INSTALL_DIR)/$(base-ide)/modules/slf4j-dummy.jar
+ # Symlink IDE modules to corresponding system jar files
+ $(LINK)$(pkg-ide) usr/share/java/org.eclipse.jgit.jar $(NB_INSTALL_DIR)/$(base-ide)/modules/org-eclipse-jgit.jar
+ $(LINK)$(pkg-ide) usr/share/java/org.eclipse.jgit.java7.jar $(NB_INSTALL_DIR)/$(base-ide)/modules/org-eclipse-jgit-java7.jar
+ $(LINK)$(pkg-ide) usr/share/java/sqljet.jar $(NB_INSTALL_DIR)/$(base-ide)/modules/ext/sqljet.jar
+ $(LINK)$(pkg-ide) usr/share/java/svnClientAdapter.jar $(NB_INSTALL_DIR)/$(base-ide)/modules/ext/svnClientAdapter-main.jar
+ $(LINK)$(pkg-ide) usr/share/java/svn-javahl.jar $(NB_INSTALL_DIR)/$(base-ide)/modules/ext/svnjavahl.jar
+ $(LINK)$(pkg-ide) usr/share/java/svnkit-javahl16.jar $(NB_INSTALL_DIR)/$(base-ide)/modules/ext/svnkit-javahl16.jar
+ $(LINK)$(pkg-ide) usr/share/java/trilead-ssh2.jar $(NB_INSTALL_DIR)/$(base-ide)/modules/ext/trilead.ssh2.jar
+ $(LINK)$(pkg-ide) usr/share/java/jsch.agentproxy.usocket-jna.jar $(NB_INSTALL_DIR)/$(base-ide)/modules/ext/jsch-agentproxy-usocket-jna.jar
+ $(LINK)$(pkg-ide) usr/share/java/htmlparser.jar $(NB_INSTALL_DIR)/$(base-ide)/modules/ext/html5-parser.jar
+ $(LINK)$(pkg-ide) usr/share/java/jsch.agentproxy.sshagent.jar $(NB_INSTALL_DIR)/$(base-ide)/modules/ext/jsch-agentproxy-sshagent.jar
+ $(LINK)$(pkg-ide) usr/share/java/jsch.agentproxy.pageant.jar $(NB_INSTALL_DIR)/$(base-ide)/modules/ext/jsch-agentproxy-pageant.jar
+ $(LINK)$(pkg-ide) usr/share/java/jsch.agentproxy.core.jar $(NB_INSTALL_DIR)/$(base-ide)/modules/ext/jsch-agentproxy-core.jar
+ # Make hostinfo.sh executable to silence Lintian warning about script-not-exectuable
+ find . -type f -name "hostinfo.sh" -exec chmod a+x {} \;
+
+ # Install Java package files
+ echo > nbbuild/netbeans/java/.noautoupdate
+ echo > nbbuild/netbeans/java/.lastModified
+ $(INSTALL)$(pkg-java) nbbuild/netbeans/extide/* $(NB_INSTALL_DIR)/$(base-java)
+ $(INSTALL)$(pkg-java) nbbuild/netbeans/java/* $(NB_INSTALL_DIR)/$(base-java)
+ $(INSTALL)$(pkg-java) nbbuild/netbeans/java/.noautoupdate $(NB_INSTALL_DIR)/$(base-java)
+ $(INSTALL)$(pkg-java) nbbuild/netbeans/java/.lastModified $(NB_INSTALL_DIR)/$(base-java)
+ # Link in Ant libraries and binaries
+ -rmdir debian/$(pkg-java)/$(NB_INSTALL_DIR)/$(base-java)/ant/lib
+ $(LINK)$(pkg-java) usr/share/ant/bin $(NB_INSTALL_DIR)/$(base-java)/ant/bin
+ $(LINK)$(pkg-java) usr/share/ant/etc $(NB_INSTALL_DIR)/$(base-java)/ant/etc
+ $(LINK)$(pkg-java) usr/share/ant/lib $(NB_INSTALL_DIR)/$(base-java)/ant/lib
+ # Link in AbsoluteLayout jar
+ -rm debian/$(pkg-java)/$(NB_INSTALL_DIR)/$(base-java)/modules/ext/AbsoluteLayout.jar
+ $(LINK)$(pkg-java) usr/share/java/AbsoluteLayout.jar $(NB_INSTALL_DIR)/$(base-java)/modules/ext/AbsoluteLayout.jar
+
+ # Install API support package files
+ echo > nbbuild/netbeans/apisupport/.noautoupdate
+ echo > nbbuild/netbeans/apisupport/.lastModified
+ $(INSTALL)$(pkg-apisupport) nbbuild/netbeans/apisupport/* $(NB_INSTALL_DIR)/$(base-apisupport)
+ $(INSTALL)$(pkg-apisupport) nbbuild/netbeans/apisupport/.noautoupdate $(NB_INSTALL_DIR)/$(base-apisupport)
+ $(INSTALL)$(pkg-apisupport) nbbuild/netbeans/apisupport/.lastModified $(NB_INSTALL_DIR)/$(base-apisupport)
+ # Install Netbeans package files
+ echo > nbbuild/netbeans/nb/.noautoupdate
+ $(INSTALL)$(pkg-nb) nbbuild/netbeans/nb/* $(NB_INSTALL_DIR)/$(DEB_UPSTREAM_VERSION)/nb
+ $(INSTALL)$(pkg-nb) nbbuild/netbeans/nb/.lastModified $(NB_INSTALL_DIR)/$(DEB_UPSTREAM_VERSION)/nb
+ $(INSTALL)$(pkg-nb) nbbuild/netbeans/nb/.noautoupdate $(NB_INSTALL_DIR)/$(DEB_UPSTREAM_VERSION)/nb
+ $(INSTALL)$(pkg-nb) nbbuild/netbeans/bin/* $(NB_INSTALL_DIR)/$(DEB_UPSTREAM_VERSION)/bin
+ $(INSTALL)$(pkg-nb) nbbuild/netbeans/CREDITS.html usr/share/$(pkg-nb)
+ $(INSTALL)$(pkg-nb) nbbuild/netbeans/README.html usr/share/$(pkg-nb)
+ $(INSTALL)$(pkg-nb) nbbuild/netbeans/netbeans.css usr/share/$(pkg-nb)
+ # Install 128x128 netbeans icon to hicolor directory
+ mv netbeans_128x128x32.png netbeans.png
+ $(INSTALL)$(pkg-nb) netbeans.png usr/share/icons/hicolor/128x128/apps
+ $(LINK)$(pkg-nb) $(NB_INSTALL_DIR)/$(base-platform) $(NB_INSTALL_DIR)/$(DEB_UPSTREAM_VERSION)/platform
+ $(LINK)$(pkg-nb) $(NB_INSTALL_DIR)/harness $(NB_INSTALL_DIR)/$(DEB_UPSTREAM_VERSION)/harness
+ $(LINK)$(pkg-nb) $(NB_INSTALL_DIR)/$(base-apisupport) $(NB_INSTALL_DIR)/$(DEB_UPSTREAM_VERSION)/apisupport
+ $(LINK)$(pkg-nb) $(NB_INSTALL_DIR)/$(base-ide) $(NB_INSTALL_DIR)/$(DEB_UPSTREAM_VERSION)/ide
+ $(LINK)$(pkg-nb) $(NB_INSTALL_DIR)/$(base-java) $(NB_INSTALL_DIR)/$(DEB_UPSTREAM_VERSION)/java
+ # Symlink netbeans icon to the appropriate hicolor directory
+ $(LINK)$(pkg-nb) $(NB_INSTALL_DIR)/$(DEB_UPSTREAM_VERSION)/nb/netbeans.png \
+ /usr/share/icons/hicolor/32x32/apps/netbeans.png
+
+ # Create file marker to avoid displaying license dialog at first IDE start
+ echo > debian/license_accepted
+ $(INSTALL)$(pkg-nb) debian/license_accepted $(NB_INSTALL_DIR)/$(DEB_UPSTREAM_VERSION)/nb/var
+ # Install file productid used by autoupdate to report installation type
+ $(INSTALL)$(pkg-nb) debian/productid $(NB_INSTALL_DIR)/$(DEB_UPSTREAM_VERSION)/nb/config
+
+ # Install netbeans.conf
+ $(INSTALL)$(pkg-nb) nbbuild/netbeans/etc/netbeans.conf etc
+ $(LINK)$(pkg-nb) etc/netbeans.conf $(NB_INSTALL_DIR)/$(DEB_UPSTREAM_VERSION)/etc/netbeans.conf
+
+ # Install netbeans.xpm icon
+ $(INSTALL)$(pkg-nb) debian/icons/netbeans.xpm usr/share/pixmaps
+
+ # Install netbeans.clusters
+ $(INSTALL)$(pkg-nb) nbbuild/netbeans/etc/netbeans.clusters etc
+ $(LINK)$(pkg-nb) etc/netbeans.clusters $(NB_INSTALL_DIR)/$(DEB_UPSTREAM_VERSION)/etc/netbeans.clusters
+
+ # Install netbeans.import which is a required file when importing settings
+ # from an older version of Netbeans (see also #808908)
+ $(INSTALL)$(pkg-nb) nbbuild/netbeans/etc/netbeans.import etc
+ $(LINK)$(pkg-nb) etc/netbeans.import $(NB_INSTALL_DIR)/$(DEB_UPSTREAM_VERSION)/etc/netbeans.import
+
+ # Install launcher
+ $(INSTALL)$(pkg-nb) nbbuild/netbeans/bin/netbeans usr/bin
+
+ # Install desktop file
+ $(INSTALL)$(pkg-nb) debian/netbeans.desktop usr/share/applications
+
+
+override_dh_auto_clean:
+ $(call symlink, $(JAVADIR)/$(JH_JAR), javahelp/external/$(NB_JH_JAR))
+ $(call symlink, $(JAVADIR)/$(JSEARCH_JAR), apisupport.harness/external/$(NB_JSEARCH_JAR))
- ant -Dpermit.jdk7.builds=true -f nbbuild/build.xml clean
++ ant -Dpermit.jdk8.builds=true -f nbbuild/build.xml clean
+ mh_clean
+ # remove all the symlinks to jar files we created
+ find . -name "*.jar" -type l -delete
+ $(RM) -r nbbuild/external/xhtml1-dtds
+ $(RM) nbbuild/nbproject/private/scan-cache-standard.ser
+ $(RM) debian/license_accepted
+ $(RM) swingapp/src/org/netbeans/modules/swingapp/resources/CRUDShellApp.zip
+ $(RM) swingapp/src/org/netbeans/modules/swingapp/resources/BasicShellApp.zip
+
+override_jh_depends:
+ # Skipping jh_depends run - since we use symlinks to /usr/share/java then
+ # jh_depends gets it wrong.
+
+get-orig-source:
+ uscan --verbose --download-current-version --force-download
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/netbeans.git
More information about the pkg-java-commits
mailing list