You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Matt Benson (JIRA)" <ji...@apache.org> on 2016/05/11 22:36:12 UTC

[jira] [Commented] (WEAVER-11) bytecode generated with java 7 or 8 is different and can break on earlier versions

    [ https://issues.apache.org/jira/browse/WEAVER-11?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15280931#comment-15280931 ] 

Matt Benson commented on WEAVER-11:
-----------------------------------

[~rmannibucau] could you provide more info? I have built with Java 8 and I get, e.g.:
{code}
> javap -p bval-core/target/classes/org/apache/bval/util/FieldAccess.class 
Compiled from "FieldAccess.java"
public class org.apache.bval.util.FieldAccess extends org.apache.bval.util.AccessStrategy {
  private final java.lang.reflect.Field field;
  public org.apache.bval.util.FieldAccess(java.lang.reflect.Field);
  public java.lang.Object get(java.lang.Object);
  private static boolean org_apache_bval_util_reflection_Reflection$$setAccessible(java.lang.reflect.AccessibleObject, boolean);
  static boolean __privileged_access$0(java.lang.reflect.AccessibleObject, boolean);
  private static boolean __privileged_org_apache_bval_util_reflection_Reflection$$setAccessible(java.lang.reflect.AccessibleObject, boolean);
  public java.lang.annotation.ElementType getElementType();
  public java.lang.reflect.Type getJavaType();
  public java.lang.String getPropertyName();
  public java.lang.String toString();
  public boolean equals(java.lang.Object);
  public int hashCode();
}
{code}

> bytecode generated with java 7 or 8 is different and can break on earlier versions
> ----------------------------------------------------------------------------------
>
>                 Key: WEAVER-11
>                 URL: https://issues.apache.org/jira/browse/WEAVER-11
>             Project: Commons Weaver
>          Issue Type: Bug
>            Reporter: Romain Manni-Bucau
>
> Encountered on bval where building with java 8 makes the bytecode java 8 compliant and breaks under java 7.
> See org.apache.bval.util.reflection.Reflection#setAccessible where  Utf8               java/lang/reflect/Executable is injected with java 8 and Executable is a java 8 class only.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)