You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Than proguard desugars the default methods of UIApplicationDelegate by copying them to TestClass1. But on default methods with parameter annotations, proguard emits a empty ParameterAnnotations section:
(with javap you will see on a example code)
Now when the classvalidator runs after the desugaring, it tries to copy the annotations from the parent implemenation. But since java is more strict, a "java.lang.annotation.AnnotationFormatError: Parameter annotations don't match number of parameters" exception is thrown.
Also, I don't know whether or when you plan to merge/take a look at the r8 stuff, but that should also fix the issue.
The text was updated successfully, but these errors were encountered:
Berstanio
changed the title
Multiple inheritance on MOE bindings not working
Multiple inheritance on MOE bindings not working when overriding method with annotations only in the last class
Aug 18, 2022
Proguard desugaring seems to have a bug with default methods and parameter annotation. Lets assume we have class "TestClass1" with:
Than proguard desugars the default methods of UIApplicationDelegate by copying them to TestClass1. But on default methods with parameter annotations, proguard emits a empty ParameterAnnotations section:
(with javap you will see on a example code)
However, this is incorrect! It should either be no ParameterAnnotations section at all, or:
Even this is broken bytecode, dx/dex2oat seems to still process it.
When we than have another class "TestClass2" with the following:
Now when the classvalidator runs after the desugaring, it tries to copy the annotations from the parent implemenation. But since java is more strict, a "java.lang.annotation.AnnotationFormatError: Parameter annotations don't match number of parameters" exception is thrown.
Also, I don't know whether or when you plan to merge/take a look at the r8 stuff, but that should also fix the issue.
The text was updated successfully, but these errors were encountered: