Skip to main content
aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2019-11-14Bug 550554 - Incremental builder stops showing squigglesI20191114-1800Stephan Herrmann1-0/+9
Change-Id: I37e21b66e46a6fb1961c2e0782e8b97dd1d8f244
2019-10-24Bug 552339: [13] Add support for text block in PublicScannerJay Arthanareeswaran3-32/+225
Change-Id: Ia43f06569f4c8e9df3fd3294375f825638816af4 Signed-off-by: Jay Arthanareeswaran <jarthana@in.ibm.com>
2019-10-19Bug 552247 - [9][model] API to get a project's module disregardingI20191023-1810I20191022-1800I20191022-0405I20191020-1800I20191019-1800Stephan Herrmann2-2/+24
--patch-module Change-Id: Ie7004ab0f57eb1a7733241f6c3a98b0ab94e9e13
2019-10-06Bug 550410 - [model] undue caching of module while moving / renamingStephan Herrmann1-0/+14
module-info.java Change-Id: If3426d19dfb75eecef4d9d8739db935445c51479
2019-09-24Bug 547197 - [9][model] API to get the kind of a IModuleDescriptionStephan Herrmann3-1/+17
Change-Id: I0d28b3970a2593301b283aa46ae5af27fa5e66da
2019-09-24Bug 551356 - ArrayIndexOutOfBoundsException inI20190924-1800Stephan Herrmann3-6/+14
MementoTokenizer.nextToken Change-Id: Id802e1d213ed1eac0e36d047e530f1f9a2b2baad
2019-09-24Bug 551284 - build path cycle message lists too many projects to beStephan Herrmann3-22/+113
useful Change-Id: If7e73ab2b889b63061c0e76805f85f23098227c4
2019-09-19Merge remote-tracking branch 'origin/BETA_JAVA13'I20190919-1800I20190919-0850Manoj Palat7-7/+14
# Conflicts: # org.eclipse.jdt.compiler.apt/META-INF/MANIFEST.MF # org.eclipse.jdt.compiler.apt/pom.xml # org.eclipse.jdt.core.tests.compiler/META-INF/MANIFEST.MF # org.eclipse.jdt.core.tests.compiler/pom.xml # org.eclipse.jdt.core.tests.model/META-INF/MANIFEST.MF # org.eclipse.jdt.core.tests.model/pom.xml # org.eclipse.jdt.core/META-INF/MANIFEST.MF # org.eclipse.jdt.core/pom.xml Change-Id: I2562d3b2833b1b63e3b8cfc46eb533bffcae6bd9
2019-09-18Bug 541225 - The message "At least one of the problems in category 'XXX'I20190918-1800Stephan Herrmann1-0/+22
is not analysed due to a compiler option being ignored" is confusing Change-Id: I70e8323c8b9ca57bdb7070ea3775bffcd26500c8
2019-09-15Bug 537014 - [10] "Unexpected runtime error when computing a text hover"Stephan Herrmann1-18/+34
for java 10 var Change-Id: I2528fdcfcf9f515b2b2f2604eb0d92ed1ff0b328
2019-09-13Bug 466299 - [model] confusion about different per-project externalStephan Herrmann9-60/+110
annotations of shared library classes. Change-Id: I252cf112bdb1439fa35e2fe715f3a22bc7e70f6f
2019-09-12Bug 499738 - Enrich IAEs with information about actual argumentsI20190912-1800Andreas Sewe2-65/+70
Change-Id: I4b37c927cfabc87e2f98be9b38b82716432b2a79 Signed-off-by: Andreas Sewe <sewe@cqse.eu>
2019-09-03Bug 550524 - Using EE 11 or 12 with JRE 13 and no module-info.javaS4_13_0_RC2aS4_13_0_RC2R4_13I20190916-1045I20190907-1130I20190906-1800I20190906-0940I20190906-0410I20190904-2200I20190904-1805I20190904-0605I20190903-2155I20190903-1800I20190903-1410I20190903-1110R4_13_maintenanceJay Arthanareeswaran1-11/+18
results in compile error (Object not found) Change-Id: I2d459551491df5581ebefdb13e8bfe8f2b5cb01e Signed-off-by: Jay Arthanareeswaran <jarthana@in.ibm.com>
2019-08-21Bug 550269 - [win32] No longer able to use an external class folderI20190823-0840Andrey Loskutov1-2/+3
build path entry using a UNC path Don't mark absolute paths without device segment on Windows as relative. Absolute Windows paths without device are possible if they are UNC - based (starts with two leading back slashes like \\server\folder). Change-Id: I48d8b22576b08cd66b1e2b2c18f74fb24de87fb8 Signed-off-by: Andrey Loskutov <loskutov@gmx.de>
2019-08-17Bug 471009 - [null] extend "Annotate" command, to work on typeI20190817-1800Stephan Herrmann1-28/+255
parameters Change-Id: I5b52cfe8d9e7500e0c8fe1b0d8db1aeb053a22b3
2019-08-15Bug 550081 - [impl] JavaCore.getAllVersions() should return an immutableStephan Herrmann1-2/+2
list (or a copy) Change-Id: I5594fbcba41cec251c214b9a4ab936e3d1127df1
2019-08-12Bug 549457 - Use a more generic named VM property so that other buildersI20190812-1800Vikas Chandra1-2/+2
can use the same for equivalent stuff Change-Id: I70aaf88d8bd7637ed2656522659c7712c378bbbd Signed-off-by: Vikas Chandra <Vikas.Chandra@in.ibm.com>
2019-08-02Bug 549457 - optimize delta search for single settings pathI20190802-1800Vikas Chandra1-29/+1
Change-Id: I8cff594cd98e6f3fa59f42881a3726a36e3e532f Signed-off-by: Vikas Chandra <Vikas.Chandra@in.ibm.com> Signed-off-by: Andrey Loskutov <loskutov@gmx.de>
2019-07-30Bug 549457 - extracted constant for JDT core settings pathI20190801-1800I20190801-0600I20190731-1800I20190730-1800Simeon Andreev1-3/+2
This change extracts a constant for .settings/org.eclipse.jdt.core.prefs path, to avoid creating a path object on every delta file. Change-Id: Id7f7c2c22f9ce9cf485a1b41fb5ebdc66c422239 Signed-off-by: Simeon Andreev <simeon.danailov.andreev@gmail.com>
2019-07-24Bug 549457 - Autobuild does nothing on org.eclipse.jdt.core.prefs changeSimeon Andreev1-1/+51
If the file .settings/org.eclipse.jdt.core.prefs changes, JDT does not automatically rebuild the project. E.g. pulling different settings from git will not result in a re-build; only changing the settings from the Java compiler preference page will ask the user if they wish to rebuild the workspace. This change adjusts JavaBuilder to inspect deltas for changes in .settings/org.eclipse.jdt.core.prefs. In case of such, a full build is done. It also adds a test to ensure build participants are triggered on changes in .settings/org.eclipse.jdt.core.prefs changes. In addition to this change, its necessary to adapt the dialog in the Java compiler preference page (in JDT UI), to not give the option "no build on preferences apply". This is the case, since applying the compiler preferences will cause the auto-build to do a full build, regardless of whether the user chose the "no" option. In case this new behavior causes problems, e.g. in tooling which re-generates project files without actually changing them, it is possible to return to the previous behavior with the VM property: -Dorg.eclipse.jdt.core.disableAutoBuildOnSettingsChange=true Change-Id: I10fb9bb828eec43fcdd81d36c78f3e30aa1cc9dc Signed-off-by: Simeon Andreev <simeon.danailov.andreev@gmail.com>
2019-07-13Bug 521276 - [9] cleanups related toTill Brychcy3-9/+10
o.e.j.i.core.builder.ClasspathLocation.isOnModulePath and .module - update obsolete parameter names from autoModule to isOnModulePath - move field isOnModulePath to ClasspathDirectory/ClasspathJar, as it is not used in other subclasses of ClasspathLocation Change-Id: If502f5214d12dfbeeeeb580420ee082db909d1cc
2019-07-09Bug 547181 - [9][impl] Reconsider representation and lookup of packagesI20190709-1800Till Brychcy2-2/+4
(SplitPackageBinding) - IResource.getFileExtension() can return null - add null checks in LE.combine: for ProblemReferenceBindings, fPackage can be null - output directory can contain subdirectories with copied resources, so fall back to sources if no .class found
2019-07-03Bug 548699 - [dom] proposal for a new API for AST for previewI20190703-0640Sarika Sinha1-3/+3
Change-Id: I821aca059451b5a8a8c619ee9085ade8cf2f7f73 Signed-off-by: Sarika Sinha <sarika.sinha@in.ibm.com>
2019-07-02Bug 548653 - Use multi-catch in JDT coreLars Vogel21-165/+39
Combines redundant catch blocks. Change-Id: Icb5de4a390fc4c5af716535ab533c8b865d9904c Signed-off-by: Lars Vogel <Lars.Vogel@vogella.com>
2019-07-02Bug 547181 - [9][impl] Reconsider representation and lookup of packagesStephan Herrmann8-31/+130
(SplitPackageBinding) - early creation of plain PB into MB.declaredPackages: - from CUS.buildTypeBindins() -> PVS.resolvePackageReference() - includes early application of add-exports - later add all (plain) packages with CUs associated to this module - avoid passing elements of MD.declaredPackages to clients - let MD.analyseReferencedPackages be responsible for error reporting - unify severity determination after bug 521497 - sketch of package scanning for auto modules (may be incomplete) - add a search for inaccessible package/type for better error reporting - when limit-modules present distinguish inaccessible vs. unobservable - improve package scan in ClasspathMultiDirectory - refactoring to avoid some "instanceof SplitPackageBinding" - apply add-reads early, too - throw ISE if reentrance still happens in package lookup (TESTING) - throw ISE if add-reads is applied when packages already exist - remove MB.isPackageLookupActive and related code Refactoring: introduce PlainPackageBinding for more precise typechecking Change-Id: I5f96bc7a487adfff75737a66096598e1c638c4d9
2019-07-01Bug 548811 - [compiler] Make scanner preview awareI20190702-0930I20190702-0610I20190701-1805Manoj Palat3-3/+6
Change-Id: I65eeb42eec1ce42d694857913cd7e819fa53cab5
2019-06-27Bug 544921 - [performance] Poor performance with large source filesI20190629-1800I20190628-1800I20190627-1800Sebastian Zarnekow1-72/+20
This patch uses sorted arrays in the CompilationUnitScope to improve the runtime behavior with large source files where a large number of dependent types exist and need to be recorded in the qualifiedReferences, simpleNameReferences and rootReferences. Lookup of memberTypes by name from a ReferenceBinding does use binary search logic, too (similar approach as with fields). Sorting of char[][] is extracted to SortedCharArrays. CompoundNameVector is removed and replaced by SortedCompoundNameVector. SimpleNameVector is removed and replaced by SortedSimpleNameVector. Change-Id: Ib66c7f0399cdea0c5558a15bf835406ceb828988 Signed-off-by: Sebastian Zarnekow <sebastian.zarnekow@gmail.com> Also-By: Simeon Andreev <simeon.danailov.andreev@gmail.com> Signed-off-by: Andrey Loskutov <loskutov@gmx.de>
2019-06-27Add toString() to OpenableElementInfoAndrey Loskutov1-1/+29
Change-Id: I09d03b57348fa5d6cea5b07d3233f0da1c56f26a Signed-off-by: Andrey Loskutov <loskutov@gmx.de>
2019-06-26Bug 548456 - Race condition in JavaElement.exists() and JavaModelCacheI20190626-1800I20190626-0720Simeon Andreev1-0/+7
Concurrent calls to BinaryType.exists() can sometimes result in false for one of the callers, despite the type existing. This is the case due to the two-cache approach in JavaModelManager - it has thread local JavaModelManager.temporaryCache and global shared JavaModelManager.cache. Given two threads calling BinaryType.exists() and nothing is in the global cache, the 1st thread adds the necessary types to the shared JavaModelManager.cache via JavaElement.openWhenClosed(), while the 2nd thread enters JavaElement.openWhenClosed() and is at the beginning of SourceRefElement.generateInfos(). In the SourceRefElement.generateInfos() 2nd thread then finds element info for the parent of the BinaryType and assumes there is nothing to be done, so it leaves the local JavaModelManager.temporaryCache empty. After the call of SourceRefElement.generateInfos() JavaElement.openWhenClosed() can't find anything in the local cache and throws a JavaModelException which causes BinaryType.exists() to return "false", which is wrong and not expected by the caller. With this change, JavaElement.openWhenClosed() takes this case into account and double checks with the JavaModelManager if no info was generated during JavaElement.generateInfos(). This ensures that no exception is thrown and that the correct element info is returned by JavaElement.openWhenClosed(). Without the exception, BinaryType.exists() returns true as expected. This change also adds a test which can sometimes show the behavior with sufficient repetition, if no fix is applied. To observe the problem manually: 1. set repetition in the test to 1 2. set a breakpoint at the start of: SourceRefElement.generateInfos() 3. run the test 4. resume one of the threads at the breakpoint from 2. 5. resume the other thread at the breakpoint from 2. 6. observe that BinaryType.exists() returns false for the 2nd thread Change-Id: Id576dd5eabfa060277ab31a9c7eb8da05ce71410 Signed-off-by: Simeon Andreev <simeon.danailov.andreev@gmail.com> Signed-off-by: Andrey Loskutov <loskutov@gmx.de>
2019-06-25Bug 548505 - Removes unused variable in CompilationUnitI20190625-0535Lars Vogel1-1/+0
Change-Id: Icbb78a2bcb6e599bbef09dc5cd1f6ffefff8c89d Signed-off-by: Lars Vogel <Lars.Vogel@vogella.com>
2019-06-24Bug 548505 - Use addAll instead of looping through a collectionI20190624-1800Lars Vogel3-12/+4
Simplifies reading the code. Change-Id: Ia69651dbbb3a9dad1a20e336426cd48fe1d0c1a6 Signed-off-by: Lars Vogel <Lars.Vogel@vogella.com>
2019-06-23Bug 542860 - fixed "synthetic accessor method" warningI20190623-1800Andrey Loskutov1-1/+1
Change-Id: I774962ce154b0245218a654431b064818b32586b Signed-off-by: Andrey Loskutov <loskutov@gmx.de>
2019-05-20Bug 543266 Allow comments in enum declarationKenneth1-0/+1
Change-Id: I9f19fc03dd15144e7bd408361e0886164fdc0c44 Signed-off-by: Kenneth <kenneth@kean.nu>
2019-05-16Bug 544306 - [Java 11] Error in Editor when using class in Test sourceI20190516-1800Till Brychcy3-7/+20
code from modular test dependency Change-Id: I316d5bf212a555b2855dafc7481abcf7b275ad1e
2019-05-12Bug 547197 - [9][model] API to get the kind of a IModuleDescriptionStephan Herrmann1-0/+15
Change-Id: I711c1322ade275a3ca0fff51e53588a02cef2935 Signed-off-by: Stephan Herrmann <stephan.herrmann@berlin.de>
2019-05-11Bug 547114 - NPE at ModuleBinding.addReads(...) on changing ModuleStephan Herrmann3-5/+12
Dependencies Change-Id: I3689bb56f02eba46dcc9b5a8b689c109bbc227ff Signed-off-by: Stephan Herrmann <stephan.herrmann@berlin.de>
2019-05-11Bug 547051 - subclass search with patterns doesn't work for modulesI20190511-1800Andrey Loskutov1-1/+10
Updated IndexBasedHierarchyBuilder.createInfoFromClassFileInJar() to include module name of the given type. Change-Id: I3e1a2842728b7e576472ea9534a0ea3753e3b73d Signed-off-by: Andrey Loskutov <loskutov@gmx.de>
2019-05-04Bug 544898 - [newindex] Disable new index in JDT coreI20190508-1800I20190508-0450I20190508-0150I20190507-1800I20190507-0155I20190506-1800I20190505-1800I20190504-1800Andrey Loskutov3-8/+13
Change-Id: Ic7a72f57887109eb8e109aae464f80980547d119 Signed-off-by: Andrey Loskutov <loskutov@gmx.de>
2019-04-26Bug 546653 - [9] More details in module-related classpath attributes:I20190429-0240I20190428-1800I20190427-1800I20190426-1800Stephan Herrmann5-18/+81
add add-opens, enhance patch-module Change-Id: I7585b97f7b73ce7948bccb6dd7798fc0b3d9682e Signed-off-by: Stephan Herrmann <stephan.herrmann@berlin.de>
2019-04-26Bug 546649 - [9][model] API to get exports and opens from anStephan Herrmann2-1/+55
IModuleDescription Change-Id: I09fcaa4cc94e96ef6d54cff3717f6fc69c4d82e7 Signed-off-by: Stephan Herrmann <stephan.herrmann@berlin.de>
2019-04-21Bug 545491 - Improved performance of ReferenceCollectionI20190422-1800I20190421-1800Sebastian Zarnekow2-92/+429
The implementation of reference collection suffered from a couple of quadratic lookup operations in its logic to determine, whether the collection includes certain names. Instead of doing a simple nested loop scanning of the given arrays, we apply an algorithm based on the reduced runtime complexity of binary searches. The reference collections are long living objects that are far more often queried than modified. Now we use a simple comparator to sort the arrays by length and content. When the collection is asked whether it contains another list of names, these names have to be interned. In addition to the interning, we also sort the argument arrays. Now we do have a total of three pairs of arrays, each of the paired arrays is sorted by the same criteria. That allows to walk both arrays pairways so even if the worst case, we do no longer need O(n*m) with n=first.length and m = second.length, but only O(2*(n+m)) comparisons. For longer arrays, we even use binary search logic to skip more than one array index when we advance the iteration. In our scenario, this reduced the accumulated time for invocations of include from 90s to less than one second. Change-Id: Ib35b4250ab34fbab55723ebe1f9ad345afca86dd Signed-off-by: Sebastian Zarnekow <sebastian.zarnekow@gmail.com> Signed-off-by: Andrey Loskutov <loskutov@gmx.de>
2019-04-15Bug 546338 - NPE at ClasspathJrt.java:326I20190415-0300Andrey Loskutov1-0/+3
Change-Id: I9c3baaed4984e5a10c44d212954fd6f9a4970d39 Signed-off-by: Andrey Loskutov <loskutov@gmx.de>
2019-04-10Bug 545491 - revert ReferenceCollection fixS4_12_0_M1I20190412-1800I20190412-0520I20190411-0625I20190410-1800Andrey Loskutov2-409/+90
The fix caused build state to be persisted or restored in a wrong way, so that ReferenceCollection was not properly read form a previous state, so that types referenced by that collection were not found by Java search anymore till next build of the project. This change also decrements State.VERSION counter to trigger a rebuild and a new state creation. Tests aren't reverted, only those depending on the sorted state are commented out. Change-Id: I945dd6ef42eacfe34f06361b41697c7b8e7b6725 Signed-off-by: Andrey Loskutov <loskutov@gmx.de>
2019-04-08Bug 546204 - new build state version for ReferenceCollection changesAndrey Loskutov1-1/+1
I believe that due internal switch from unordered to ordered arrays in the ReferenceCollection via bug 545491 we need to request a new build state version. Change-Id: I5eccc936dc4e5693a484e3f55b89fc39db61ad6c Signed-off-by: Andrey Loskutov <loskutov@gmx.de>
2019-04-08Bug 546204 - log to the error log instead of e.printStackTrace()I20190408-1800Andrey Loskutov1-1/+1
Change-Id: Ib3a3813be9940fdbfa7686e09042e758132e00de Signed-off-by: Andrey Loskutov <loskutov@gmx.de>
2019-04-05Bug 546156 - Scala IDE breaks because of removed CTOR inI20190405-1800Till Brychcy1-0/+9
"SearchableEnvironment" Change-Id: Id55cb655d6976964d249e7438614c1da7783df76
2019-04-04Bug 545491 - Improved performance of ReferenceCollectionI20190404-1800Sebastian Zarnekow1-89/+408
The implementation of reference collection suffered from a couple of quadratic lookup operations in its logic to determine, whether the collection includes certain names. Instead of doing a simple nested loop scanning of the given arrays, we apply an algorithm based on the reduced runtime complexity of binary searches. The reference collections are long living objects that are far more often queried than modified. Now we use a simple comparator to sort the arrays by length and content. When the collection is asked whether it contains another list of names, these names have to be interned. In addition to the interning, we also sort the argument arrays. Now we do have a total of three pairs of arrays, each of the paired arrays is sorted by the same criteria. That allows to walk both arrays pairways so even if the worst case, we do no longer need O(n*m) with n=first.length and m = second.length, but only O(2*(n+m)) comparisons. For longer arrays, we even use binary search logic to skip more than one array index when we advance the iteration. In our scenario, this reduced the accumulated time for invocations of include from 90s to less than one second. Change-Id: I815a43e41ecb5ecaf874fc731d63bffbe7081ea9 Signed-off-by: Sebastian Zarnekow <sebastian.zarnekow@gmail.com> Signed-off-by: Andrey Loskutov <loskutov@gmx.de>
2019-04-02Bug 545691 - Javadoc errors in jdt.core bundlesI20190402-1800Jeff Johnston3-1/+2
- additional errors caught in latest build Change-Id: I5dc50526fa0c8bcd2c19bdd58c04763197d0a3d4 Signed-off-by: Jeff Johnston <jjohnstn@redhat.com>
2019-03-25Bug 545691 - Javadoc errors in jdt.core bundlesJeff Johnston25-205/+109
- fix javadoc errors/warnings in jdt.core classes Change-Id: I4708bb425398235675948df94280263982184a98 Signed-off-by: Jeff Johnston <jjohnstn@redhat.com>
2019-03-25Bug 544362 - Add support for Java 9/10/11 Javadoc tagsI20190325-0105Jeff Johnston2-2/+41
- add new @hidden, @index, and @summary tag support to JavadocTagConstants, setting all for JDK 9 except for @summary which is JDK 10 - in IModuleDescription add new methods to get the provides and uses service names and implement these new methods in DocCommentParser and AbstractModule - in JavadocParser, add support @hidden, @index, and @summary - add support for the new tags in TagElement - modify JavadocCompletionParserTest Change-Id: Icd266865ff6fd3fdd1056d567c0e91de613eb300 Signed-off-by: Jeff Johnston <jjohnstn@redhat.com>

Back to the top