This is an automated email from the git hooks/post-receive script.

ebourg-guest pushed a commit to branch master
in repository ecj.

commit 779c5168f6bd8175b4f69a3395fd1319358bc1a7
Author: Matthias Klose <[email protected]>
Date:   Thu Aug 21 14:57:09 2014 +0200

    Import Debian changes 3.10.0+3.10.0-2
    
    ecj (3.10.0+3.10.0-2) experimental; urgency=medium
    
      * Fix Bug 438812 - Missing bridge methods in indirect child classes.
        Closes: #753315.
---
 debian/changelog                |  7 +++++++
 debian/patches/issue438812.diff | 26 ++++++++++++++++++++++++++
 debian/patches/series           |  1 +
 3 files changed, 34 insertions(+)

diff --git a/debian/changelog b/debian/changelog
index a657e0a..e72a1c4 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+ecj (3.10.0+3.10.0-2) experimental; urgency=medium
+
+  * Fix Bug 438812 - Missing bridge methods in indirect child classes.
+    Closes: #753315.
+
+ -- Matthias Klose <[email protected]>  Thu, 21 Aug 2014 14:57:09 +0200
+
 ecj (3.10.0+3.10.0-1) experimental; urgency=medium
 
   * Upload to experimental, unstable has 3.9.0 again (see #753315).
diff --git a/debian/patches/issue438812.diff b/debian/patches/issue438812.diff
new file mode 100644
index 0000000..e71a61c
--- /dev/null
+++ b/debian/patches/issue438812.diff
@@ -0,0 +1,26 @@
+# DP: https://bugs.eclipse.org/bugs/show_bug.cgi?id=438812
+# DP: Fix Bug 438812 - Missing bridge methods in indirect child classes
+
+--- 
a/src/org.eclipse.jdt.core/org/eclipse/jdt/internal/compiler/lookup/MethodVerifier15.java
++++ 
b/src/org.eclipse.jdt.core/org/eclipse/jdt/internal/compiler/lookup/MethodVerifier15.java
+@@ -950,11 +950,15 @@ boolean isInterfaceMethodImplemented(MethodBinding 
inheritedMethod, MethodBindin
+               return false; // must hold onto ParameterizedMethod to see if a 
bridge method is necessary
+ 
+       inheritedMethod = computeSubstituteMethod(inheritedMethod, 
existingMethod);
+-      return inheritedMethod != null
+-              && (TypeBinding.equalsEquals(inheritedMethod.returnType, 
existingMethod.returnType)     // need to keep around to produce bridge 
methods? ...
+-                      || (TypeBinding.notEquals(this.type, 
existingMethod.declaringClass)                     // ... not if inheriting the 
bridge situation from a superclass
+-                                      && 
!existingMethod.declaringClass.isInterface()))
+-              && doesMethodOverride(existingMethod, inheritedMethod);
++      if (inheritedMethod == null
++                      || TypeBinding.notEquals(inheritedMethod.returnType, 
existingMethod.returnType)) // need to keep around to produce bridge methods? 
...
++              return false;
++
++      if (!doesMethodOverride(existingMethod, inheritedMethod))
++              return false;
++
++      return TypeBinding.notEquals(this.type, existingMethod.declaringClass) 
// ... not if inheriting the bridge situation from a superclass
++                      && !existingMethod.declaringClass.isInterface();
+ }
+ public boolean isMethodSubsignature(MethodBinding method, MethodBinding 
inheritedMethod) {
+       if 
(!org.eclipse.jdt.core.compiler.CharOperation.equals(method.selector, 
inheritedMethod.selector))
diff --git a/debian/patches/series b/debian/patches/series
index 590acf3..bc7fe40 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1,3 @@
 gcc-changes.diff
 remove-overrides.diff
+issue438812.diff

-- 
Alioth's /usr/local/bin/git-commit-notice on 
/srv/git.debian.org/git/pkg-java/ecj.git

_______________________________________________
pkg-java-commits mailing list
[email protected]
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-commits

Reply via email to