You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by db...@apache.org on 2015/08/24 00:19:04 UTC

svn commit: r1697267 - in /commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6: classfile/ generic/ verifier/structurals/

Author: dbrosius
Date: Sun Aug 23 22:19:04 2015
New Revision: 1697267

URL: http://svn.apache.org/r1697267
Log:
remove the need for casting at the clone() call site

Modified:
    commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/Attribute.java
    commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/Constant.java
    commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/ClassGen.java
    commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/CodeExceptionGen.java
    commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/FieldGenOrMethodGen.java
    commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/LineNumberGen.java
    commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/LocalVariableGen.java
    commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/verifier/structurals/LocalVariables.java
    commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/verifier/structurals/OperandStack.java

Modified: commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/Attribute.java
URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/Attribute.java?rev=1697267&r1=1697266&r2=1697267&view=diff
==============================================================================
--- commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/Attribute.java (original)
+++ commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/Attribute.java Sun Aug 23 22:19:04 2015
@@ -306,7 +306,7 @@ public abstract class Attribute implemen
      * @return shallow copy of this attribute
      */
     @Override
-    public Object clone()
+    public Attribute clone()
     {
         Attribute attr = null;
         try

Modified: commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/Constant.java
URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/Constant.java?rev=1697267&r1=1697266&r2=1697267&view=diff
==============================================================================
--- commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/Constant.java (original)
+++ commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/Constant.java Sun Aug 23 22:19:04 2015
@@ -111,9 +111,9 @@ public abstract class Constant implement
 
 
     @Override
-    public Object clone() {
+    public Constant clone() {
         try {
-            return super.clone();
+            return (Constant) super.clone();
         } catch (CloneNotSupportedException e) {
             throw new Error("Clone Not Supported"); // never happens
         }

Modified: commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/ClassGen.java
URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/ClassGen.java?rev=1697267&r1=1697266&r2=1697267&view=diff
==============================================================================
--- commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/ClassGen.java (original)
+++ commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/ClassGen.java Sun Aug 23 22:19:04 2015
@@ -556,9 +556,9 @@ public class ClassGen extends AccessFlag
 
 
     @Override
-    public Object clone() {
+    public ClassGen clone() {
         try {
-            return super.clone();
+            return (ClassGen) super.clone();
         } catch (CloneNotSupportedException e) {
             throw new Error("Clone Not Supported"); // never happens
         }

Modified: commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/CodeExceptionGen.java
URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/CodeExceptionGen.java?rev=1697267&r1=1697266&r2=1697267&view=diff
==============================================================================
--- commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/CodeExceptionGen.java (original)
+++ commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/CodeExceptionGen.java Sun Aug 23 22:19:04 2015
@@ -177,9 +177,9 @@ public final class CodeExceptionGen impl
 
 
     @Override
-    public Object clone() {
+    public CodeExceptionGen clone() {
         try {
-            return super.clone();
+            return (CodeExceptionGen) super.clone();
         } catch (CloneNotSupportedException e) {
             throw new Error("Clone Not Supported"); // never happens
         }

Modified: commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/FieldGenOrMethodGen.java
URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/FieldGenOrMethodGen.java?rev=1697267&r1=1697266&r2=1697267&view=diff
==============================================================================
--- commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/FieldGenOrMethodGen.java (original)
+++ commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/FieldGenOrMethodGen.java Sun Aug 23 22:19:04 2015
@@ -165,9 +165,9 @@ public abstract class FieldGenOrMethodGe
 
 
     @Override
-    public Object clone() {
+    public FieldGenOrMethodGen clone() {
         try {
-            return super.clone();
+            return (FieldGenOrMethodGen) super.clone();
         } catch (CloneNotSupportedException e) {
             throw new Error("Clone Not Supported"); // never happens
         }

Modified: commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/LineNumberGen.java
URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/LineNumberGen.java?rev=1697267&r1=1697266&r2=1697267&view=diff
==============================================================================
--- commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/LineNumberGen.java (original)
+++ commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/LineNumberGen.java Sun Aug 23 22:19:04 2015
@@ -87,9 +87,9 @@ public class LineNumberGen implements In
 
 
     @Override
-    public Object clone() {
+    public LineNumberGen clone() {
         try {
-            return super.clone();
+            return (LineNumberGen) super.clone();
         } catch (CloneNotSupportedException e) {
             throw new Error("Clone Not Supported"); // never happens
         }

Modified: commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/LocalVariableGen.java
URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/LocalVariableGen.java?rev=1697267&r1=1697266&r2=1697267&view=diff
==============================================================================
--- commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/LocalVariableGen.java (original)
+++ commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/LocalVariableGen.java Sun Aug 23 22:19:04 2015
@@ -216,9 +216,9 @@ public class LocalVariableGen implements
 
 
     @Override
-    public Object clone() {
+    public LocalVariableGen clone() {
         try {
-            return super.clone();
+            return (LocalVariableGen) super.clone();
         } catch (CloneNotSupportedException e) {
             throw new Error("Clone Not Supported"); // never happens
         }

Modified: commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/verifier/structurals/LocalVariables.java
URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/verifier/structurals/LocalVariables.java?rev=1697267&r1=1697266&r2=1697267&view=diff
==============================================================================
--- commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/verifier/structurals/LocalVariables.java (original)
+++ commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/verifier/structurals/LocalVariables.java Sun Aug 23 22:19:04 2015
@@ -49,7 +49,7 @@ public class LocalVariables implements C
      * However, the Type objects in the array are shared.
      */
     @Override
-    public Object clone(){
+    public LocalVariables clone(){
         LocalVariables lvs = new LocalVariables(locals.length);
         for (int i=0; i<locals.length; i++){
             lvs.locals[i] = this.locals[i];

Modified: commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/verifier/structurals/OperandStack.java
URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/verifier/structurals/OperandStack.java?rev=1697267&r1=1697266&r2=1697267&view=diff
==============================================================================
--- commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/verifier/structurals/OperandStack.java (original)
+++ commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/verifier/structurals/OperandStack.java Sun Aug 23 22:19:04 2015
@@ -62,12 +62,16 @@ public class OperandStack implements Clo
      * shared.
      */
     @Override
-    public Object clone(){
-        OperandStack newstack = new OperandStack(this.maxStack);
-        @SuppressWarnings("unchecked") // OK because this.stack is the same type
-        final ArrayList<Type> clone = (ArrayList<Type>) this.stack.clone();
-        newstack.stack = clone;
-        return newstack;
+    public OperandStack clone(){
+        try {
+            OperandStack newstack = (OperandStack) super.clone();
+            @SuppressWarnings("unchecked") // OK because this.stack is the same type
+            final ArrayList<Type> clone = (ArrayList<Type>) this.stack.clone();
+            newstack.stack = clone;
+            return newstack;
+        } catch (CloneNotSupportedException e) {
+            throw new Error("Clone Not Supported"); // never happens
+        }
     }
 
     /**



Re: svn commit: r1697267 - in /commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6: classfile/ generic/ verifier/structurals/

Posted by Gary Gregory <ga...@gmail.com>.
As a reminder of what a -1 means on a commit, please see
https://www.apache.org/foundation/voting.html, specifically:

"For code-modification votes, +1 votes are in favour of the proposal, but
-1 votes are vetos and kill the proposal dead until all vetoers withdraw
their -1 votes."

and:

"A code-modification proposal may be stopped dead in its tracks by a -1
vote by a qualified voter. This constitutes a veto, and it cannot be
overruled nor overridden by anyone. Vetos stand until and unless withdrawn
by their casters.

To prevent vetos from being used capriciously, they must be accompanied by
a technical justification showing why the change is bad (opens a security
exposure, negatively affects performance, etc. ). A veto without a
justification is invalid and has no weight."

Gary

On Wed, Sep 9, 2015 at 1:19 AM, sebb <se...@gmail.com> wrote:

> PING.
>
> If I don't hear any response in the next few days I will revert.
>
> On 3 September 2015 at 14:43, sebb <se...@gmail.com> wrote:
> > @dbrosius@apache.org
> >
> > This commit still needs to be reverted please.
> >
> > Whilst it makes calling clone slightly easier, it breaks binary and
> > source compatibility.
> > The downsides are not worth the convenience.
> >
> > On 24 August 2015 at 11:18, sebb <se...@gmail.com> wrote:
> >> The clone method and Cloneable interface should be treated with
> >> caution [1], so I don't think it makes sense to make it easier to use.
> >>
> >> I would rather see copy methods allied to a suitable interface.
> >>
> >> [1] http://my.safaribooksonline.com/9780137150021/ch03lev1sec4
> >>
> >> On 24 August 2015 at 11:07, sebb <se...@gmail.com> wrote:
> >>> On 24 August 2015 at 10:57, Jörg Schaible <
> joerg.schaible@swisspost.com> wrote:
> >>>> Hi Sebb,
> >>>>
> >>>> sebb wrote:
> >>>>
> >>>>> On 24 August 2015 at 08:04, Jörg Schaible <
> joerg.schaible@swisspost.com>
> >>>>> wrote:
> >>>>>> Hi Sebb,
> >>>>>>
> >>>>>> sebb wrote:
> >>>>>>
> >>>>>>> On 23 August 2015 at 23:19,  <db...@apache.org> wrote:
> >>>>>>>> Author: dbrosius
> >>>>>>>> Date: Sun Aug 23 22:19:04 2015
> >>>>>>>> New Revision: 1697267
> >>>>>>>>
> >>>>>>>> URL: http://svn.apache.org/r1697267
> >>>>>>>> Log:
> >>>>>>>> remove the need for casting at the clone() call site
> >>>>>>>
> >>>>>>> -1
> >>>>>>>
> >>>>>>> I was hoping to reduce the number of API changes to the minimum,
> so we
> >>>>>>> can potentially release a
> >>>>>>> version that is binary compatible with 5.2.
> >>>>>>
> >>>>>> Are you sure that this is binary incompatible? IIRC it is safe to
> adjust
> >>>>>> the return type of clone here.
> >>>>>
> >>>>> It's not binary compatible because the return type is part of the
> >>>>> method signature.
> >>>>>
> >>>>> I think it may well be source compatible.
> >>>>
> >>>> No, because the exception is no longer thrown (error depends on the
> compiler
> >>>> settings)
> >>>
> >>> Huh? The commit did not change the throws clauses (there were none)
> >>>
> >>>> or if someone has overloaded the method with return type Object.
> >>>
> >>> Here I agree.
> >>>
> >>>> Cheers,
> >>>> Jörg
> >>>>
> >>>>
> >>>> ---------------------------------------------------------------------
> >>>> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> >>>> For additional commands, e-mail: dev-help@commons.apache.org
> >>>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
>
>


-- 
E-Mail: garydgregory@gmail.com | ggregory@apache.org
Java Persistence with Hibernate, Second Edition
<http://www.manning.com/bauer3/>
JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
Spring Batch in Action <http://www.manning.com/templier/>
Blog: http://garygregory.wordpress.com
Home: http://garygregory.com/
Tweet! http://twitter.com/GaryGregory

Re: svn commit: r1697267 - in /commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6: classfile/ generic/ verifier/structurals/

Posted by Dave Brosius <db...@baybroadband.net>.
Revert if you like. I'm not sure how it breaks anything.

On 09/09/2015 01:41 PM, sebb wrote:
> On 9 September 2015 at 17:57, Gary Gregory <ga...@gmail.com> wrote:
>> On Wed, Sep 9, 2015 at 1:19 AM, sebb <se...@gmail.com> wrote:
>>
>>> PING.
>>>
>>> If I don't hear any response in the next few days I will revert.
>>>
>> Would it be helpful to post a link to what a -1 on a commit means as a
>> refresher?
> By all means.
>
>> Gary
>>
>>
>>> On 3 September 2015 at 14:43, sebb <se...@gmail.com> wrote:
>>>> @dbrosius@apache.org
>>>>
>>>> This commit still needs to be reverted please.
>>>>
>>>> Whilst it makes calling clone slightly easier, it breaks binary and
>>>> source compatibility.
>>>> The downsides are not worth the convenience.
>>>>
>>>> On 24 August 2015 at 11:18, sebb <se...@gmail.com> wrote:
>>>>> The clone method and Cloneable interface should be treated with
>>>>> caution [1], so I don't think it makes sense to make it easier to use.
>>>>>
>>>>> I would rather see copy methods allied to a suitable interface.
>>>>>
>>>>> [1] http://my.safaribooksonline.com/9780137150021/ch03lev1sec4
>>>>>
>>>>> On 24 August 2015 at 11:07, sebb <se...@gmail.com> wrote:
>>>>>> On 24 August 2015 at 10:57, Jörg Schaible <
>>> joerg.schaible@swisspost.com> wrote:
>>>>>>> Hi Sebb,
>>>>>>>
>>>>>>> sebb wrote:
>>>>>>>
>>>>>>>> On 24 August 2015 at 08:04, Jörg Schaible <
>>> joerg.schaible@swisspost.com>
>>>>>>>> wrote:
>>>>>>>>> Hi Sebb,
>>>>>>>>>
>>>>>>>>> sebb wrote:
>>>>>>>>>
>>>>>>>>>> On 23 August 2015 at 23:19,  <db...@apache.org> wrote:
>>>>>>>>>>> Author: dbrosius
>>>>>>>>>>> Date: Sun Aug 23 22:19:04 2015
>>>>>>>>>>> New Revision: 1697267
>>>>>>>>>>>
>>>>>>>>>>> URL: http://svn.apache.org/r1697267
>>>>>>>>>>> Log:
>>>>>>>>>>> remove the need for casting at the clone() call site
>>>>>>>>>> -1
>>>>>>>>>>
>>>>>>>>>> I was hoping to reduce the number of API changes to the minimum,
>>> so we
>>>>>>>>>> can potentially release a
>>>>>>>>>> version that is binary compatible with 5.2.
>>>>>>>>> Are you sure that this is binary incompatible? IIRC it is safe to
>>> adjust
>>>>>>>>> the return type of clone here.
>>>>>>>> It's not binary compatible because the return type is part of the
>>>>>>>> method signature.
>>>>>>>>
>>>>>>>> I think it may well be source compatible.
>>>>>>> No, because the exception is no longer thrown (error depends on the
>>> compiler
>>>>>>> settings)
>>>>>> Huh? The commit did not change the throws clauses (there were none)
>>>>>>
>>>>>>> or if someone has overloaded the method with return type Object.
>>>>>> Here I agree.
>>>>>>
>>>>>>> Cheers,
>>>>>>> Jörg
>>>>>>>
>>>>>>>
>>>>>>> ---------------------------------------------------------------------
>>>>>>> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
>>>>>>> For additional commands, e-mail: dev-help@commons.apache.org
>>>>>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
>>> For additional commands, e-mail: dev-help@commons.apache.org
>>>
>>>
>>
>> --
>> E-Mail: garydgregory@gmail.com | ggregory@apache.org
>> Java Persistence with Hibernate, Second Edition
>> <http://www.manning.com/bauer3/>
>> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
>> Spring Batch in Action <http://www.manning.com/templier/>
>> Blog: http://garygregory.wordpress.com
>> Home: http://garygregory.com/
>> Tweet! http://twitter.com/GaryGregory
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: svn commit: r1697267 - in /commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6: classfile/ generic/ verifier/structurals/

Posted by sebb <se...@gmail.com>.
On 10 September 2015 at 01:07, Dave Brosius <db...@apache.org> wrote:
> Revert if you like.

Thanks!

> I'm not sure how it breaks anything. The return type is
> not part of a method signature, so it doesn't break reflection.

The return type *is* part of the method signature.
You cannot for example replace "int fileSize() with long fileSize()"
and maintain binary compat.
The loader won't find the method.

You can replace void with something else and retain source compat, but
not binary compat.
Even though the return is not used by the code, the loader won't find
the method.

> You can
> override with a method that returns Object.

I just tried, and the compiler complained "The return type is
incompatible with Attribute.clone()"

> You can assign to object. so not
> sure the issue. But it's not a big deal so, whatever.

I agree that at present the issue is moot as there is no previous
version with which to be compatible.

However *if* we can release an updated version of BCEL which is
compatible, that would be much better for downstream users.

So I am trying to minimise API changes that are not essential to fixing bugs.
As such I have reverted many of the changes I made to tidy up the code
in 6.0. I shall probably have to revert more.

> On 09/09/2015 01:41 PM, sebb wrote:
>>
>> On 9 September 2015 at 17:57, Gary Gregory <ga...@gmail.com> wrote:
>>>
>>> On Wed, Sep 9, 2015 at 1:19 AM, sebb <se...@gmail.com> wrote:
>>>
>>>> PING.
>>>>
>>>> If I don't hear any response in the next few days I will revert.
>>>>
>>> Would it be helpful to post a link to what a -1 on a commit means as a
>>> refresher?
>>
>> By all means.
>>
>>> Gary
>>>
>>>
>>>> On 3 September 2015 at 14:43, sebb <se...@gmail.com> wrote:
>>>>>
>>>>> @dbrosius@apache.org
>>>>>
>>>>> This commit still needs to be reverted please.
>>>>>
>>>>> Whilst it makes calling clone slightly easier, it breaks binary and
>>>>> source compatibility.
>>>>> The downsides are not worth the convenience.
>>>>>
>>>>> On 24 August 2015 at 11:18, sebb <se...@gmail.com> wrote:
>>>>>>
>>>>>> The clone method and Cloneable interface should be treated with
>>>>>> caution [1], so I don't think it makes sense to make it easier to use.
>>>>>>
>>>>>> I would rather see copy methods allied to a suitable interface.
>>>>>>
>>>>>> [1] http://my.safaribooksonline.com/9780137150021/ch03lev1sec4
>>>>>>
>>>>>> On 24 August 2015 at 11:07, sebb <se...@gmail.com> wrote:
>>>>>>>
>>>>>>> On 24 August 2015 at 10:57, Jörg Schaible <
>>>>
>>>> joerg.schaible@swisspost.com> wrote:
>>>>>>>>
>>>>>>>> Hi Sebb,
>>>>>>>>
>>>>>>>> sebb wrote:
>>>>>>>>
>>>>>>>>> On 24 August 2015 at 08:04, Jörg Schaible <
>>>>
>>>> joerg.schaible@swisspost.com>
>>>>>>>>>
>>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>> Hi Sebb,
>>>>>>>>>>
>>>>>>>>>> sebb wrote:
>>>>>>>>>>
>>>>>>>>>>> On 23 August 2015 at 23:19,  <db...@apache.org> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>> Author: dbrosius
>>>>>>>>>>>> Date: Sun Aug 23 22:19:04 2015
>>>>>>>>>>>> New Revision: 1697267
>>>>>>>>>>>>
>>>>>>>>>>>> URL: http://svn.apache.org/r1697267
>>>>>>>>>>>> Log:
>>>>>>>>>>>> remove the need for casting at the clone() call site
>>>>>>>>>>>
>>>>>>>>>>> -1
>>>>>>>>>>>
>>>>>>>>>>> I was hoping to reduce the number of API changes to the minimum,
>>>>
>>>> so we
>>>>>>>>>>>
>>>>>>>>>>> can potentially release a
>>>>>>>>>>> version that is binary compatible with 5.2.
>>>>>>>>>>
>>>>>>>>>> Are you sure that this is binary incompatible? IIRC it is safe to
>>>>
>>>> adjust
>>>>>>>>>>
>>>>>>>>>> the return type of clone here.
>>>>>>>>>
>>>>>>>>> It's not binary compatible because the return type is part of the
>>>>>>>>> method signature.
>>>>>>>>>
>>>>>>>>> I think it may well be source compatible.
>>>>>>>>
>>>>>>>> No, because the exception is no longer thrown (error depends on the
>>>>
>>>> compiler
>>>>>>>>
>>>>>>>> settings)
>>>>>>>
>>>>>>> Huh? The commit did not change the throws clauses (there were none)
>>>>>>>
>>>>>>>> or if someone has overloaded the method with return type Object.
>>>>>>>
>>>>>>> Here I agree.
>>>>>>>
>>>>>>>> Cheers,
>>>>>>>> Jörg
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> ---------------------------------------------------------------------
>>>>>>>> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
>>>>>>>> For additional commands, e-mail: dev-help@commons.apache.org
>>>>>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
>>>> For additional commands, e-mail: dev-help@commons.apache.org
>>>>
>>>>
>>>
>>> --
>>> E-Mail: garydgregory@gmail.com | ggregory@apache.org
>>> Java Persistence with Hibernate, Second Edition
>>> <http://www.manning.com/bauer3/>
>>> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
>>> Spring Batch in Action <http://www.manning.com/templier/>
>>> Blog: http://garygregory.wordpress.com
>>> Home: http://garygregory.com/
>>> Tweet! http://twitter.com/GaryGregory
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
>> For additional commands, e-mail: dev-help@commons.apache.org
>>
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: svn commit: r1697267 - in /commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6: classfile/ generic/ verifier/structurals/

Posted by Dave Brosius <db...@apache.org>.
Revert if you like. I'm not sure how it breaks anything. The return type 
is not part of a method signature, so it doesn't break reflection. You 
can override with a method that returns Object. You can assign to 
object. so not sure the issue. But it's not a big deal so, whatever.

On 09/09/2015 01:41 PM, sebb wrote:
> On 9 September 2015 at 17:57, Gary Gregory <ga...@gmail.com> wrote:
>> On Wed, Sep 9, 2015 at 1:19 AM, sebb <se...@gmail.com> wrote:
>>
>>> PING.
>>>
>>> If I don't hear any response in the next few days I will revert.
>>>
>> Would it be helpful to post a link to what a -1 on a commit means as a
>> refresher?
> By all means.
>
>> Gary
>>
>>
>>> On 3 September 2015 at 14:43, sebb <se...@gmail.com> wrote:
>>>> @dbrosius@apache.org
>>>>
>>>> This commit still needs to be reverted please.
>>>>
>>>> Whilst it makes calling clone slightly easier, it breaks binary and
>>>> source compatibility.
>>>> The downsides are not worth the convenience.
>>>>
>>>> On 24 August 2015 at 11:18, sebb <se...@gmail.com> wrote:
>>>>> The clone method and Cloneable interface should be treated with
>>>>> caution [1], so I don't think it makes sense to make it easier to use.
>>>>>
>>>>> I would rather see copy methods allied to a suitable interface.
>>>>>
>>>>> [1] http://my.safaribooksonline.com/9780137150021/ch03lev1sec4
>>>>>
>>>>> On 24 August 2015 at 11:07, sebb <se...@gmail.com> wrote:
>>>>>> On 24 August 2015 at 10:57, Jörg Schaible <
>>> joerg.schaible@swisspost.com> wrote:
>>>>>>> Hi Sebb,
>>>>>>>
>>>>>>> sebb wrote:
>>>>>>>
>>>>>>>> On 24 August 2015 at 08:04, Jörg Schaible <
>>> joerg.schaible@swisspost.com>
>>>>>>>> wrote:
>>>>>>>>> Hi Sebb,
>>>>>>>>>
>>>>>>>>> sebb wrote:
>>>>>>>>>
>>>>>>>>>> On 23 August 2015 at 23:19,  <db...@apache.org> wrote:
>>>>>>>>>>> Author: dbrosius
>>>>>>>>>>> Date: Sun Aug 23 22:19:04 2015
>>>>>>>>>>> New Revision: 1697267
>>>>>>>>>>>
>>>>>>>>>>> URL: http://svn.apache.org/r1697267
>>>>>>>>>>> Log:
>>>>>>>>>>> remove the need for casting at the clone() call site
>>>>>>>>>> -1
>>>>>>>>>>
>>>>>>>>>> I was hoping to reduce the number of API changes to the minimum,
>>> so we
>>>>>>>>>> can potentially release a
>>>>>>>>>> version that is binary compatible with 5.2.
>>>>>>>>> Are you sure that this is binary incompatible? IIRC it is safe to
>>> adjust
>>>>>>>>> the return type of clone here.
>>>>>>>> It's not binary compatible because the return type is part of the
>>>>>>>> method signature.
>>>>>>>>
>>>>>>>> I think it may well be source compatible.
>>>>>>> No, because the exception is no longer thrown (error depends on the
>>> compiler
>>>>>>> settings)
>>>>>> Huh? The commit did not change the throws clauses (there were none)
>>>>>>
>>>>>>> or if someone has overloaded the method with return type Object.
>>>>>> Here I agree.
>>>>>>
>>>>>>> Cheers,
>>>>>>> Jörg
>>>>>>>
>>>>>>>
>>>>>>> ---------------------------------------------------------------------
>>>>>>> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
>>>>>>> For additional commands, e-mail: dev-help@commons.apache.org
>>>>>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
>>> For additional commands, e-mail: dev-help@commons.apache.org
>>>
>>>
>>
>> --
>> E-Mail: garydgregory@gmail.com | ggregory@apache.org
>> Java Persistence with Hibernate, Second Edition
>> <http://www.manning.com/bauer3/>
>> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
>> Spring Batch in Action <http://www.manning.com/templier/>
>> Blog: http://garygregory.wordpress.com
>> Home: http://garygregory.com/
>> Tweet! http://twitter.com/GaryGregory
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: svn commit: r1697267 - in /commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6: classfile/ generic/ verifier/structurals/

Posted by sebb <se...@gmail.com>.
On 9 September 2015 at 17:57, Gary Gregory <ga...@gmail.com> wrote:
> On Wed, Sep 9, 2015 at 1:19 AM, sebb <se...@gmail.com> wrote:
>
>> PING.
>>
>> If I don't hear any response in the next few days I will revert.
>>
>
> Would it be helpful to post a link to what a -1 on a commit means as a
> refresher?

By all means.

> Gary
>
>
>> On 3 September 2015 at 14:43, sebb <se...@gmail.com> wrote:
>> > @dbrosius@apache.org
>> >
>> > This commit still needs to be reverted please.
>> >
>> > Whilst it makes calling clone slightly easier, it breaks binary and
>> > source compatibility.
>> > The downsides are not worth the convenience.
>> >
>> > On 24 August 2015 at 11:18, sebb <se...@gmail.com> wrote:
>> >> The clone method and Cloneable interface should be treated with
>> >> caution [1], so I don't think it makes sense to make it easier to use.
>> >>
>> >> I would rather see copy methods allied to a suitable interface.
>> >>
>> >> [1] http://my.safaribooksonline.com/9780137150021/ch03lev1sec4
>> >>
>> >> On 24 August 2015 at 11:07, sebb <se...@gmail.com> wrote:
>> >>> On 24 August 2015 at 10:57, Jörg Schaible <
>> joerg.schaible@swisspost.com> wrote:
>> >>>> Hi Sebb,
>> >>>>
>> >>>> sebb wrote:
>> >>>>
>> >>>>> On 24 August 2015 at 08:04, Jörg Schaible <
>> joerg.schaible@swisspost.com>
>> >>>>> wrote:
>> >>>>>> Hi Sebb,
>> >>>>>>
>> >>>>>> sebb wrote:
>> >>>>>>
>> >>>>>>> On 23 August 2015 at 23:19,  <db...@apache.org> wrote:
>> >>>>>>>> Author: dbrosius
>> >>>>>>>> Date: Sun Aug 23 22:19:04 2015
>> >>>>>>>> New Revision: 1697267
>> >>>>>>>>
>> >>>>>>>> URL: http://svn.apache.org/r1697267
>> >>>>>>>> Log:
>> >>>>>>>> remove the need for casting at the clone() call site
>> >>>>>>>
>> >>>>>>> -1
>> >>>>>>>
>> >>>>>>> I was hoping to reduce the number of API changes to the minimum,
>> so we
>> >>>>>>> can potentially release a
>> >>>>>>> version that is binary compatible with 5.2.
>> >>>>>>
>> >>>>>> Are you sure that this is binary incompatible? IIRC it is safe to
>> adjust
>> >>>>>> the return type of clone here.
>> >>>>>
>> >>>>> It's not binary compatible because the return type is part of the
>> >>>>> method signature.
>> >>>>>
>> >>>>> I think it may well be source compatible.
>> >>>>
>> >>>> No, because the exception is no longer thrown (error depends on the
>> compiler
>> >>>> settings)
>> >>>
>> >>> Huh? The commit did not change the throws clauses (there were none)
>> >>>
>> >>>> or if someone has overloaded the method with return type Object.
>> >>>
>> >>> Here I agree.
>> >>>
>> >>>> Cheers,
>> >>>> Jörg
>> >>>>
>> >>>>
>> >>>> ---------------------------------------------------------------------
>> >>>> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
>> >>>> For additional commands, e-mail: dev-help@commons.apache.org
>> >>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
>> For additional commands, e-mail: dev-help@commons.apache.org
>>
>>
>
>
> --
> E-Mail: garydgregory@gmail.com | ggregory@apache.org
> Java Persistence with Hibernate, Second Edition
> <http://www.manning.com/bauer3/>
> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
> Spring Batch in Action <http://www.manning.com/templier/>
> Blog: http://garygregory.wordpress.com
> Home: http://garygregory.com/
> Tweet! http://twitter.com/GaryGregory

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: svn commit: r1697267 - in /commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6: classfile/ generic/ verifier/structurals/

Posted by Gary Gregory <ga...@gmail.com>.
On Wed, Sep 9, 2015 at 1:19 AM, sebb <se...@gmail.com> wrote:

> PING.
>
> If I don't hear any response in the next few days I will revert.
>

Would it be helpful to post a link to what a -1 on a commit means as a
refresher?

Gary


> On 3 September 2015 at 14:43, sebb <se...@gmail.com> wrote:
> > @dbrosius@apache.org
> >
> > This commit still needs to be reverted please.
> >
> > Whilst it makes calling clone slightly easier, it breaks binary and
> > source compatibility.
> > The downsides are not worth the convenience.
> >
> > On 24 August 2015 at 11:18, sebb <se...@gmail.com> wrote:
> >> The clone method and Cloneable interface should be treated with
> >> caution [1], so I don't think it makes sense to make it easier to use.
> >>
> >> I would rather see copy methods allied to a suitable interface.
> >>
> >> [1] http://my.safaribooksonline.com/9780137150021/ch03lev1sec4
> >>
> >> On 24 August 2015 at 11:07, sebb <se...@gmail.com> wrote:
> >>> On 24 August 2015 at 10:57, Jörg Schaible <
> joerg.schaible@swisspost.com> wrote:
> >>>> Hi Sebb,
> >>>>
> >>>> sebb wrote:
> >>>>
> >>>>> On 24 August 2015 at 08:04, Jörg Schaible <
> joerg.schaible@swisspost.com>
> >>>>> wrote:
> >>>>>> Hi Sebb,
> >>>>>>
> >>>>>> sebb wrote:
> >>>>>>
> >>>>>>> On 23 August 2015 at 23:19,  <db...@apache.org> wrote:
> >>>>>>>> Author: dbrosius
> >>>>>>>> Date: Sun Aug 23 22:19:04 2015
> >>>>>>>> New Revision: 1697267
> >>>>>>>>
> >>>>>>>> URL: http://svn.apache.org/r1697267
> >>>>>>>> Log:
> >>>>>>>> remove the need for casting at the clone() call site
> >>>>>>>
> >>>>>>> -1
> >>>>>>>
> >>>>>>> I was hoping to reduce the number of API changes to the minimum,
> so we
> >>>>>>> can potentially release a
> >>>>>>> version that is binary compatible with 5.2.
> >>>>>>
> >>>>>> Are you sure that this is binary incompatible? IIRC it is safe to
> adjust
> >>>>>> the return type of clone here.
> >>>>>
> >>>>> It's not binary compatible because the return type is part of the
> >>>>> method signature.
> >>>>>
> >>>>> I think it may well be source compatible.
> >>>>
> >>>> No, because the exception is no longer thrown (error depends on the
> compiler
> >>>> settings)
> >>>
> >>> Huh? The commit did not change the throws clauses (there were none)
> >>>
> >>>> or if someone has overloaded the method with return type Object.
> >>>
> >>> Here I agree.
> >>>
> >>>> Cheers,
> >>>> Jörg
> >>>>
> >>>>
> >>>> ---------------------------------------------------------------------
> >>>> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> >>>> For additional commands, e-mail: dev-help@commons.apache.org
> >>>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
>
>


-- 
E-Mail: garydgregory@gmail.com | ggregory@apache.org
Java Persistence with Hibernate, Second Edition
<http://www.manning.com/bauer3/>
JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
Spring Batch in Action <http://www.manning.com/templier/>
Blog: http://garygregory.wordpress.com
Home: http://garygregory.com/
Tweet! http://twitter.com/GaryGregory

Re: svn commit: r1697267 - in /commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6: classfile/ generic/ verifier/structurals/

Posted by sebb <se...@gmail.com>.
PING.

If I don't hear any response in the next few days I will revert.

On 3 September 2015 at 14:43, sebb <se...@gmail.com> wrote:
> @dbrosius@apache.org
>
> This commit still needs to be reverted please.
>
> Whilst it makes calling clone slightly easier, it breaks binary and
> source compatibility.
> The downsides are not worth the convenience.
>
> On 24 August 2015 at 11:18, sebb <se...@gmail.com> wrote:
>> The clone method and Cloneable interface should be treated with
>> caution [1], so I don't think it makes sense to make it easier to use.
>>
>> I would rather see copy methods allied to a suitable interface.
>>
>> [1] http://my.safaribooksonline.com/9780137150021/ch03lev1sec4
>>
>> On 24 August 2015 at 11:07, sebb <se...@gmail.com> wrote:
>>> On 24 August 2015 at 10:57, Jörg Schaible <jo...@swisspost.com> wrote:
>>>> Hi Sebb,
>>>>
>>>> sebb wrote:
>>>>
>>>>> On 24 August 2015 at 08:04, Jörg Schaible <jo...@swisspost.com>
>>>>> wrote:
>>>>>> Hi Sebb,
>>>>>>
>>>>>> sebb wrote:
>>>>>>
>>>>>>> On 23 August 2015 at 23:19,  <db...@apache.org> wrote:
>>>>>>>> Author: dbrosius
>>>>>>>> Date: Sun Aug 23 22:19:04 2015
>>>>>>>> New Revision: 1697267
>>>>>>>>
>>>>>>>> URL: http://svn.apache.org/r1697267
>>>>>>>> Log:
>>>>>>>> remove the need for casting at the clone() call site
>>>>>>>
>>>>>>> -1
>>>>>>>
>>>>>>> I was hoping to reduce the number of API changes to the minimum, so we
>>>>>>> can potentially release a
>>>>>>> version that is binary compatible with 5.2.
>>>>>>
>>>>>> Are you sure that this is binary incompatible? IIRC it is safe to adjust
>>>>>> the return type of clone here.
>>>>>
>>>>> It's not binary compatible because the return type is part of the
>>>>> method signature.
>>>>>
>>>>> I think it may well be source compatible.
>>>>
>>>> No, because the exception is no longer thrown (error depends on the compiler
>>>> settings)
>>>
>>> Huh? The commit did not change the throws clauses (there were none)
>>>
>>>> or if someone has overloaded the method with return type Object.
>>>
>>> Here I agree.
>>>
>>>> Cheers,
>>>> Jörg
>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
>>>> For additional commands, e-mail: dev-help@commons.apache.org
>>>>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: svn commit: r1697267 - in /commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6: classfile/ generic/ verifier/structurals/

Posted by sebb <se...@gmail.com>.
@dbrosius@apache.org

This commit still needs to be reverted please.

Whilst it makes calling clone slightly easier, it breaks binary and
source compatibility.
The downsides are not worth the convenience.

On 24 August 2015 at 11:18, sebb <se...@gmail.com> wrote:
> The clone method and Cloneable interface should be treated with
> caution [1], so I don't think it makes sense to make it easier to use.
>
> I would rather see copy methods allied to a suitable interface.
>
> [1] http://my.safaribooksonline.com/9780137150021/ch03lev1sec4
>
> On 24 August 2015 at 11:07, sebb <se...@gmail.com> wrote:
>> On 24 August 2015 at 10:57, Jörg Schaible <jo...@swisspost.com> wrote:
>>> Hi Sebb,
>>>
>>> sebb wrote:
>>>
>>>> On 24 August 2015 at 08:04, Jörg Schaible <jo...@swisspost.com>
>>>> wrote:
>>>>> Hi Sebb,
>>>>>
>>>>> sebb wrote:
>>>>>
>>>>>> On 23 August 2015 at 23:19,  <db...@apache.org> wrote:
>>>>>>> Author: dbrosius
>>>>>>> Date: Sun Aug 23 22:19:04 2015
>>>>>>> New Revision: 1697267
>>>>>>>
>>>>>>> URL: http://svn.apache.org/r1697267
>>>>>>> Log:
>>>>>>> remove the need for casting at the clone() call site
>>>>>>
>>>>>> -1
>>>>>>
>>>>>> I was hoping to reduce the number of API changes to the minimum, so we
>>>>>> can potentially release a
>>>>>> version that is binary compatible with 5.2.
>>>>>
>>>>> Are you sure that this is binary incompatible? IIRC it is safe to adjust
>>>>> the return type of clone here.
>>>>
>>>> It's not binary compatible because the return type is part of the
>>>> method signature.
>>>>
>>>> I think it may well be source compatible.
>>>
>>> No, because the exception is no longer thrown (error depends on the compiler
>>> settings)
>>
>> Huh? The commit did not change the throws clauses (there were none)
>>
>>> or if someone has overloaded the method with return type Object.
>>
>> Here I agree.
>>
>>> Cheers,
>>> Jörg
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
>>> For additional commands, e-mail: dev-help@commons.apache.org
>>>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: svn commit: r1697267 - in /commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6: classfile/ generic/ verifier/structurals/

Posted by sebb <se...@gmail.com>.
The clone method and Cloneable interface should be treated with
caution [1], so I don't think it makes sense to make it easier to use.

I would rather see copy methods allied to a suitable interface.

[1] http://my.safaribooksonline.com/9780137150021/ch03lev1sec4

On 24 August 2015 at 11:07, sebb <se...@gmail.com> wrote:
> On 24 August 2015 at 10:57, Jörg Schaible <jo...@swisspost.com> wrote:
>> Hi Sebb,
>>
>> sebb wrote:
>>
>>> On 24 August 2015 at 08:04, Jörg Schaible <jo...@swisspost.com>
>>> wrote:
>>>> Hi Sebb,
>>>>
>>>> sebb wrote:
>>>>
>>>>> On 23 August 2015 at 23:19,  <db...@apache.org> wrote:
>>>>>> Author: dbrosius
>>>>>> Date: Sun Aug 23 22:19:04 2015
>>>>>> New Revision: 1697267
>>>>>>
>>>>>> URL: http://svn.apache.org/r1697267
>>>>>> Log:
>>>>>> remove the need for casting at the clone() call site
>>>>>
>>>>> -1
>>>>>
>>>>> I was hoping to reduce the number of API changes to the minimum, so we
>>>>> can potentially release a
>>>>> version that is binary compatible with 5.2.
>>>>
>>>> Are you sure that this is binary incompatible? IIRC it is safe to adjust
>>>> the return type of clone here.
>>>
>>> It's not binary compatible because the return type is part of the
>>> method signature.
>>>
>>> I think it may well be source compatible.
>>
>> No, because the exception is no longer thrown (error depends on the compiler
>> settings)
>
> Huh? The commit did not change the throws clauses (there were none)
>
>> or if someone has overloaded the method with return type Object.
>
> Here I agree.
>
>> Cheers,
>> Jörg
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
>> For additional commands, e-mail: dev-help@commons.apache.org
>>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: svn commit: r1697267 - in /commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6: classfile/ generic/ verifier/structurals/

Posted by sebb <se...@gmail.com>.
On 24 August 2015 at 10:57, Jörg Schaible <jo...@swisspost.com> wrote:
> Hi Sebb,
>
> sebb wrote:
>
>> On 24 August 2015 at 08:04, Jörg Schaible <jo...@swisspost.com>
>> wrote:
>>> Hi Sebb,
>>>
>>> sebb wrote:
>>>
>>>> On 23 August 2015 at 23:19,  <db...@apache.org> wrote:
>>>>> Author: dbrosius
>>>>> Date: Sun Aug 23 22:19:04 2015
>>>>> New Revision: 1697267
>>>>>
>>>>> URL: http://svn.apache.org/r1697267
>>>>> Log:
>>>>> remove the need for casting at the clone() call site
>>>>
>>>> -1
>>>>
>>>> I was hoping to reduce the number of API changes to the minimum, so we
>>>> can potentially release a
>>>> version that is binary compatible with 5.2.
>>>
>>> Are you sure that this is binary incompatible? IIRC it is safe to adjust
>>> the return type of clone here.
>>
>> It's not binary compatible because the return type is part of the
>> method signature.
>>
>> I think it may well be source compatible.
>
> No, because the exception is no longer thrown (error depends on the compiler
> settings)

Huh? The commit did not change the throws clauses (there were none)

> or if someone has overloaded the method with return type Object.

Here I agree.

> Cheers,
> Jörg
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: svn commit: r1697267 - in /commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6: classfile/ generic/ verifier/structurals/

Posted by Jörg Schaible <jo...@swisspost.com>.
Hi Sebb,

sebb wrote:

> On 24 August 2015 at 08:04, Jörg Schaible <jo...@swisspost.com>
> wrote:
>> Hi Sebb,
>>
>> sebb wrote:
>>
>>> On 23 August 2015 at 23:19,  <db...@apache.org> wrote:
>>>> Author: dbrosius
>>>> Date: Sun Aug 23 22:19:04 2015
>>>> New Revision: 1697267
>>>>
>>>> URL: http://svn.apache.org/r1697267
>>>> Log:
>>>> remove the need for casting at the clone() call site
>>>
>>> -1
>>>
>>> I was hoping to reduce the number of API changes to the minimum, so we
>>> can potentially release a
>>> version that is binary compatible with 5.2.
>>
>> Are you sure that this is binary incompatible? IIRC it is safe to adjust
>> the return type of clone here.
> 
> It's not binary compatible because the return type is part of the
> method signature.
> 
> I think it may well be source compatible.

No, because the exception is no longer thrown (error depends on the compiler 
settings) or if someone has overloaded the method with return type Object.

Cheers,
Jörg


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: svn commit: r1697267 - in /commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6: classfile/ generic/ verifier/structurals/

Posted by sebb <se...@gmail.com>.
On 24 August 2015 at 08:04, Jörg Schaible <jo...@swisspost.com> wrote:
> Hi Sebb,
>
> sebb wrote:
>
>> On 23 August 2015 at 23:19,  <db...@apache.org> wrote:
>>> Author: dbrosius
>>> Date: Sun Aug 23 22:19:04 2015
>>> New Revision: 1697267
>>>
>>> URL: http://svn.apache.org/r1697267
>>> Log:
>>> remove the need for casting at the clone() call site
>>
>> -1
>>
>> I was hoping to reduce the number of API changes to the minimum, so we
>> can potentially release a
>> version that is binary compatible with 5.2.
>
> Are you sure that this is binary incompatible? IIRC it is safe to adjust the
> return type of clone here.

It's not binary compatible because the return type is part of the
method signature.

I think it may well be source compatible.

> Cheers,
> Jörg
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: svn commit: r1697267 - in /commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6: classfile/ generic/ verifier/structurals/

Posted by Jörg Schaible <jo...@swisspost.com>.
Hi Sebb,

sebb wrote:

> On 23 August 2015 at 23:19,  <db...@apache.org> wrote:
>> Author: dbrosius
>> Date: Sun Aug 23 22:19:04 2015
>> New Revision: 1697267
>>
>> URL: http://svn.apache.org/r1697267
>> Log:
>> remove the need for casting at the clone() call site
> 
> -1
> 
> I was hoping to reduce the number of API changes to the minimum, so we
> can potentially release a
> version that is binary compatible with 5.2.

Are you sure that this is binary incompatible? IIRC it is safe to adjust the 
return type of clone here.

Cheers,
Jörg


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: svn commit: r1697267 - in /commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6: classfile/ generic/ verifier/structurals/

Posted by sebb <se...@gmail.com>.
On 23 August 2015 at 23:19,  <db...@apache.org> wrote:
> Author: dbrosius
> Date: Sun Aug 23 22:19:04 2015
> New Revision: 1697267
>
> URL: http://svn.apache.org/r1697267
> Log:
> remove the need for casting at the clone() call site

-1

I was hoping to reduce the number of API changes to the minimum, so we
can potentially release a
version that is binary compatible with 5.2.
[Yes, I realise that the interface => class changes will have to be reverted]

Whilst this change is useful if we really must break binary compat, I
would rather it were postponed.

> Modified:
>     commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/Attribute.java
>     commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/Constant.java
>     commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/ClassGen.java
>     commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/CodeExceptionGen.java
>     commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/FieldGenOrMethodGen.java
>     commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/LineNumberGen.java
>     commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/LocalVariableGen.java
>     commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/verifier/structurals/LocalVariables.java
>     commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/verifier/structurals/OperandStack.java
>
> Modified: commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/Attribute.java
> URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/Attribute.java?rev=1697267&r1=1697266&r2=1697267&view=diff
> ==============================================================================
> --- commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/Attribute.java (original)
> +++ commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/Attribute.java Sun Aug 23 22:19:04 2015
> @@ -306,7 +306,7 @@ public abstract class Attribute implemen
>       * @return shallow copy of this attribute
>       */
>      @Override
> -    public Object clone()
> +    public Attribute clone()
>      {
>          Attribute attr = null;
>          try
>
> Modified: commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/Constant.java
> URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/Constant.java?rev=1697267&r1=1697266&r2=1697267&view=diff
> ==============================================================================
> --- commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/Constant.java (original)
> +++ commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/Constant.java Sun Aug 23 22:19:04 2015
> @@ -111,9 +111,9 @@ public abstract class Constant implement
>
>
>      @Override
> -    public Object clone() {
> +    public Constant clone() {
>          try {
> -            return super.clone();
> +            return (Constant) super.clone();
>          } catch (CloneNotSupportedException e) {
>              throw new Error("Clone Not Supported"); // never happens
>          }
>
> Modified: commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/ClassGen.java
> URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/ClassGen.java?rev=1697267&r1=1697266&r2=1697267&view=diff
> ==============================================================================
> --- commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/ClassGen.java (original)
> +++ commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/ClassGen.java Sun Aug 23 22:19:04 2015
> @@ -556,9 +556,9 @@ public class ClassGen extends AccessFlag
>
>
>      @Override
> -    public Object clone() {
> +    public ClassGen clone() {
>          try {
> -            return super.clone();
> +            return (ClassGen) super.clone();
>          } catch (CloneNotSupportedException e) {
>              throw new Error("Clone Not Supported"); // never happens
>          }
>
> Modified: commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/CodeExceptionGen.java
> URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/CodeExceptionGen.java?rev=1697267&r1=1697266&r2=1697267&view=diff
> ==============================================================================
> --- commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/CodeExceptionGen.java (original)
> +++ commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/CodeExceptionGen.java Sun Aug 23 22:19:04 2015
> @@ -177,9 +177,9 @@ public final class CodeExceptionGen impl
>
>
>      @Override
> -    public Object clone() {
> +    public CodeExceptionGen clone() {
>          try {
> -            return super.clone();
> +            return (CodeExceptionGen) super.clone();
>          } catch (CloneNotSupportedException e) {
>              throw new Error("Clone Not Supported"); // never happens
>          }
>
> Modified: commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/FieldGenOrMethodGen.java
> URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/FieldGenOrMethodGen.java?rev=1697267&r1=1697266&r2=1697267&view=diff
> ==============================================================================
> --- commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/FieldGenOrMethodGen.java (original)
> +++ commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/FieldGenOrMethodGen.java Sun Aug 23 22:19:04 2015
> @@ -165,9 +165,9 @@ public abstract class FieldGenOrMethodGe
>
>
>      @Override
> -    public Object clone() {
> +    public FieldGenOrMethodGen clone() {
>          try {
> -            return super.clone();
> +            return (FieldGenOrMethodGen) super.clone();
>          } catch (CloneNotSupportedException e) {
>              throw new Error("Clone Not Supported"); // never happens
>          }
>
> Modified: commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/LineNumberGen.java
> URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/LineNumberGen.java?rev=1697267&r1=1697266&r2=1697267&view=diff
> ==============================================================================
> --- commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/LineNumberGen.java (original)
> +++ commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/LineNumberGen.java Sun Aug 23 22:19:04 2015
> @@ -87,9 +87,9 @@ public class LineNumberGen implements In
>
>
>      @Override
> -    public Object clone() {
> +    public LineNumberGen clone() {
>          try {
> -            return super.clone();
> +            return (LineNumberGen) super.clone();
>          } catch (CloneNotSupportedException e) {
>              throw new Error("Clone Not Supported"); // never happens
>          }
>
> Modified: commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/LocalVariableGen.java
> URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/LocalVariableGen.java?rev=1697267&r1=1697266&r2=1697267&view=diff
> ==============================================================================
> --- commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/LocalVariableGen.java (original)
> +++ commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/LocalVariableGen.java Sun Aug 23 22:19:04 2015
> @@ -216,9 +216,9 @@ public class LocalVariableGen implements
>
>
>      @Override
> -    public Object clone() {
> +    public LocalVariableGen clone() {
>          try {
> -            return super.clone();
> +            return (LocalVariableGen) super.clone();
>          } catch (CloneNotSupportedException e) {
>              throw new Error("Clone Not Supported"); // never happens
>          }
>
> Modified: commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/verifier/structurals/LocalVariables.java
> URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/verifier/structurals/LocalVariables.java?rev=1697267&r1=1697266&r2=1697267&view=diff
> ==============================================================================
> --- commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/verifier/structurals/LocalVariables.java (original)
> +++ commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/verifier/structurals/LocalVariables.java Sun Aug 23 22:19:04 2015
> @@ -49,7 +49,7 @@ public class LocalVariables implements C
>       * However, the Type objects in the array are shared.
>       */
>      @Override
> -    public Object clone(){
> +    public LocalVariables clone(){
>          LocalVariables lvs = new LocalVariables(locals.length);
>          for (int i=0; i<locals.length; i++){
>              lvs.locals[i] = this.locals[i];
>
> Modified: commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/verifier/structurals/OperandStack.java
> URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/verifier/structurals/OperandStack.java?rev=1697267&r1=1697266&r2=1697267&view=diff
> ==============================================================================
> --- commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/verifier/structurals/OperandStack.java (original)
> +++ commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/verifier/structurals/OperandStack.java Sun Aug 23 22:19:04 2015
> @@ -62,12 +62,16 @@ public class OperandStack implements Clo
>       * shared.
>       */
>      @Override
> -    public Object clone(){
> -        OperandStack newstack = new OperandStack(this.maxStack);
> -        @SuppressWarnings("unchecked") // OK because this.stack is the same type
> -        final ArrayList<Type> clone = (ArrayList<Type>) this.stack.clone();
> -        newstack.stack = clone;
> -        return newstack;
> +    public OperandStack clone(){
> +        try {
> +            OperandStack newstack = (OperandStack) super.clone();
> +            @SuppressWarnings("unchecked") // OK because this.stack is the same type
> +            final ArrayList<Type> clone = (ArrayList<Type>) this.stack.clone();
> +            newstack.stack = clone;
> +            return newstack;
> +        } catch (CloneNotSupportedException e) {
> +            throw new Error("Clone Not Supported"); // never happens
> +        }
>      }
>
>      /**
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org