Community
Participate
Working Groups
The JDT/Core version v_B72_R37x has been merged with the BETA_JAVA7 branch. The OTDT should adapt these changes for 2.0.1.
Initial merge with original JDT/Core was committed as r1783.
The grammar change for UnionTypes for catch arguments required re-integration of declared lifting in the same location. Corresponding changes to Parser, SelectionParser and SourceElementParser were committed as r1785.
A CCE and other failures in GenericsRegressionTests revealed that in the case if isDiamond "argLength == 0" is now expected behavior, which we previously interpreted as "only value parameters". Corresponding fix in ParameterizedSingleTypeReference has been committed as r1788.
An AIOOBE from new PolymorphicSignatureTest revealed that polymorphic signatures require one more check because lengths of argument lists may differ even if !isVarargs. Corresponding change in Statement has been committed as r1789.
(In reply to comment #4) > Corresponding change in Statement has been committed as r1789. ... and improved in r1790
Failures in GenericsRegressionTest_1_7.test0037() were caused by doubly reporting diamond-related errors. This happened because OTQualifiedAllocationExpression may call enclosingInstance.resolveType(..) twice. Fixed by protecting with CheckPoint/rollback(). Committed as r1791.
Regressions in otdt.ui.tests.refactoring.RenameTypeTest revealed that some locations in our code check " == AST.JLS3" thus not accouning for the new AST.JLS4. At this point no OT-code needs to distinguish JLS3 vs. JLS4, so the fix was to say things like "default:" or ">= AST.JLS3". Committed as r1794.
org.eclipse.jdt.core.tests.compiler were merged in r1799.
(In reply to comment #7) > At this point no OT-code needs to distinguish JLS3 vs. JLS4, so the > fix was to say things like "default:" or ">= AST.JLS3". More similar fixes in CallinMappingDeclaration, CalloutMappingDeclaration RoleTypeDeclaration and AstRewriteFlattener were committed as r1801/2.
OTQuickFixTest had a conflict with a new final method in its super class. We can now actually use that exact super method. Committed along with more improvements in r1800 and r1805.
A regression in otdt...ExtractMethodTests.testDeclaredLifting1() revealed that the faked argument generated in DOM for the roles side of declared lifting was parent-less (causing NPE). Fixed in r1803.
Regressions all over the otjld test suite revealed a new problem with stackmap attributes: Starting with class file version 51.0 the JVM no longer supports failing over to the old verifier. Thus, normally *all* methods *must* contain a valid stackmap attribute, including methods that are generated at load time. Since BCEL provides no support for generating a stackmap we're between a rock and a hard place. Quick workaround: Whenever the OTRE adds or replaces any method in a class file of version 51.0+ it resets the version to 50.0 (hoping that it contains no invokedynamic). Committed as r1806.
A regression in NestedTeams.test1123_teamLayeredOnRegularNested3() showed that our translation of lowering to PushExpression/PopExpression breaks the generation of the StackMapTable attribute. Instead of tweaking this hack even more I changed the translation strategy to using a synthetic local variable instead of all the stack manipulation, so lower(x) becomes: R _OT$unlowered$123; // no ast created for this declaration ... ((_OT$unlowered$123 = x) == null) ? null : _OT$unlowered$123._OT$getBase()) This still serves the essential goals behind the previous design: - the expression 'x' shall be evaluated only once. - lowering is an expression and can thus not generated any statements. Committed as r1807.
Changes in the Parser caused a regressions in org.eclipse.jdt.core.tests.model.JavaSearchBugsTests.testBug110336f() and many of org.eclipse.jdt.core.tests.model.CompletionTests This is due to our new overload org.eclipse.jdt.internal.compiler.parser.Parser.getTypeReference(int, boolean) which must be overridden by subclasses too. Fixed for MatchLocatorParser in r1812 for AssistParser in r1813 (For SourceElementParser the change was already included when I introduced that method in r1785)
A failure in new test org.eclipse.jdt.core.tests.model.TypeHierarchyTests.testBug300576b() showed that abort-exceptions don't play well with our Dependencies. Solved by marking STATE_FINAL so subsequent calls into Dependencies won't work on aborted types/units. Committed as r1814.
All Java7 functionality has merged with the OTDT and by now no more regressions are observed. First fully successful build: 201108081723, corresponding to revision: r1821.
Filed a FUP as bug 355007. Apart from that: Verified for 2.0.1 using build 201108160141.