Bug 384991 - [java8] adopt and merge implementation of Java 8 from JDT's BETA_JAVA8 branch
Summary: [java8] adopt and merge implementation of Java 8 from JDT's BETA_JAVA8 branch
Status: RESOLVED FIXED
Alias: None
Product: Objectteams
Classification: Tools
Component: OTJ (show other bugs)
Version: 2.1   Edit
Hardware: All All
: P3 enhancement (vote)
Target Milestone: 2.3 M7   Edit
Assignee: Stephan Herrmann CLA
QA Contact:
URL:
Whiteboard:
Keywords: noteworthy
Depends on: 384992 416781
Blocks:
  Show dependency tree
 
Reported: 2012-07-12 19:00 EDT by Stephan Herrmann CLA
Modified: 2014-05-15 15:25 EDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Stephan Herrmann CLA 2012-07-12 19:00:56 EDT
The JDT team is currently implementing the upcoming version 8 of the Java programming language based on early-draft specifications.

OT/J should adopt these changes as soon as possible and given the extent of the implementation changes, we should check early-on whether these changes conflict with any details of OT/J and its implementation.

The corresponding master bug in JDT/Core is bug 380190, the major subtasks being
- bug 287648 for JSR 308
- bug 380188 for JSR 335 - lambda expressions
- bug 380501 for JSR 335 - default methods
Comment 1 Stephan Herrmann CLA 2013-09-08 09:30:33 EDT
Status in HEAD of OT_BETA_JAVA8 (b0a2f8bf53df61a8a0d8fd7d376a5805cd3418ab):
 * Updated jdt.core to a0e5f98b1c0224b51eff41180a89042104376c95 (03-05-16)
 * Merged with releases/OTDT_2.2M7


OTJLD tests at compliance 1.8 on b92:
- 7 failures (out of 2474)
  - 1 WIP in DeclaredLifting.test6113_maximalSyntax1()
  - 1 DuplicateRole at runtime (ReportedBugs)
  - 1 BCEL can not chew java.security.SecureRandom (ReportedBugs)
  - 4 VerifyErrors at runtime (Java5)

compiler.regression.TestAll at compliance 1.8 on lambda-b83:
- 3 failures assumably caused by JRE incompatibility

RunAllJava8Tests on lambda-b83:
- 14 failures:
  - 1 wrong runtime result (LambdaExpressionsTest)
  - 1 bogus type error (NegativeLambdaExpressionTest)
  - 2 line number difference (JSR335ClassFileTest)
  - 4 StackOverflow at runtime (InterfaceMethodsTest)
  - 1 wrong binary annotation encoding (TypeAnnotationTest)
  - 2 unexpected modifiers in parsed AST toString() (GenericDietRecoveryTest)
  - 3 assumed JRE incompatibility (GenericTypeTest, InterfaceMethodsTest)
Comment 2 Stephan Herrmann CLA 2013-09-08 15:36:10 EDT
(In reply to Stephan Herrmann from comment #1)
> RunAllJava8Tests on lambda-b83:
>   - 1 bogus type error (NegativeLambdaExpressionTest)


I filed bug 416806 against JDT/Core. Let's wait for a comment there.
Comment 3 Stephan Herrmann CLA 2013-09-09 20:42:57 EDT
As of commit 6d66c7e64e908056d99897d0746fb956b0c9ad80 we're down to

OTJLD tests at compliance 1.8 on b92:
- 3 failures (out of 2474)
  - 1 WIP in DeclaredLifting.test6113_maximalSyntax1()
  - 1 DuplicateRole at runtime (ReportedBugs)
  - 1 BCEL can not chew java.security.SecureRandom (ReportedBugs)

compiler.regression.TestAll at compliance 1.8 on lambda-b83:
- 3 failures assumably caused by JRE incompatibility

RunAllJava8Tests on lambda-b83:
- 4 failures:
  - 1 more type error in NegativeLambdaExpressionTest, see bug bug 416806
  - 3 assumed JRE incompatibility (GenericTypeTest, InterfaceMethodsTest)

This is good enough to proceed with merging more changes into the branch.
Comment 4 Stephan Herrmann CLA 2014-03-30 18:16:15 EDT
Status after fully merging all of the Java 8 support of JDT into OT/J
(as of commit a34767f7dc9700caf6e7c9c8136ef76cd431ebff):

Failures:
1  org.eclipse.jdt.core.tests.builder
8  org.eclipse.jdt.core.tests.compiler.regression
1  org.eclipse.jdt.core.tests.model
8  org.eclipse.jdt.ui.tests
15 org.eclipse.jdt.ui.tests
20 org.eclipse.objectteams.otdt.tests
2  org.eclipse.objectteams.otdt.ui.tests

Errors:
5 org.eclipse.jdt.core.tests.dom
2 org.eclipse.jdt.debug.tests
5 org.eclipse.jdt.ui.tests

Total: 84854

some of the jdt.ui failures are actually original failures in official builds, too.
Comment 5 Stephan Herrmann CLA 2014-05-15 15:25:23 EDT
These are the results of the M7 tests:

Failures:
1   org.eclipse.jdt.core.tests.builder
15  org.eclipse.jdt.ui.tests
4   org.eclipse.objectteams.otdt.tests

Errors:
none

Excuses:

org.eclipse.jdt.core.tests.builder:
 - problematic test: changing global system property and a constant at runtime

org.eclipse.objectteams.otdt.tests
 - issues with method handles used for reflective code, cannot be handled by BCEL

The jdt.ui failures are leaks of editor handles etc. Nothing caused by migrating to Java 8.

With this status I consider the current bug resolved.