commit | 7c424c0f2a8b732b21519cf0d05f1a015f645719 | [log] [tgz] |
---|---|---|
author | Sravan Kumar Lakkimsetti <sravankumarl@in.ibm.com> | Wed Jun 30 11:31:30 2021 +0530 |
committer | Manoj Palat <manpalat@in.ibm.com> | Wed Jul 14 17:57:53 2021 -0400 |
tree | 6a4c872074259b986ec1c2d8e08d927c91d7b0ff | |
parent | fbbb12bb2df5ce337355a243aa168bdf81da05dc [diff] |
Bug 574282 - Simple record fails with Internal compiler error: java.lang.ArrayIndexOutOfBoundsException Because we add methods and remove duplicate methods during compilation we end up having holes(missing some index entries) in the synthetic method bindings sequence. This causes Out of bounds problems when we depend on synthetic methods count as new index. Removal of duplicates got added with Record feature. To fix two changes have been done 1. Reworked sorting of synthetic methods in syntheticMethods() method. We are directly placing bindings using index. But with missing bindings in sequence, we end up having AIOOB issue. This sorting algorithm has been reworked. 2. When we are creating new sythetic methods we are using count of existing methods as new index. But with removals this is not correct anymore. Reworked this max index in the existing synthetic methods + 1. Conflicts: org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/RecordsRestrictedClassTest.java Change-Id: If370e3219420893a67372509f4d3f99b789decbb Signed-off-by: Sravan Kumar Lakkimsetti <sravankumarl@in.ibm.com> Reviewed-on: https://git.eclipse.org/r/c/jdt/eclipse.jdt.core/+/182667 Tested-by: JDT Bot <jdt-bot@eclipse.org> Reviewed-by: Manoj Palat <manpalat@in.ibm.com>
This is the core part of Eclipse's Java development tools. It contains the non-UI support for compiling and working with Java code, including the following:
For more information and important links, refer to the [JDT wiki page] 1 or the [JDT project overview page] 2.