Author: ggregory
Date: Sun Jun 29 12:11:33 2014
New Revision: 1606485
URL: http://svn.apache.org/r1606485
Log:
Statement unnecessarily nested within else clause.
Modified:
commons/proper/bcel/trunk/src/main/java/org/apache/bcel/verifier/statics/Pass2Verifier.java
Modified:
commons/proper/bcel/trunk/src/main/java/org/apache/bcel/verifier/statics/Pass2Verifier.java
URL:
http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/bcel/verifier/statics/Pass2Verifier.java?rev=1606485&r1=1606484&r2=1606485&view=diff
==============================================================================
---
commons/proper/bcel/trunk/src/main/java/org/apache/bcel/verifier/statics/Pass2Verifier.java
(original)
+++
commons/proper/bcel/trunk/src/main/java/org/apache/bcel/verifier/statics/Pass2Verifier.java
Sun Jun 29 12:11:33 2014
@@ -166,9 +166,8 @@ public final class Pass2Verifier extends
vr = new
VerificationResult(VerificationResult.VERIFIED_REJECTED, cce.getMessage());
}
return vr;
- } else {
- return VerificationResult.VR_NOTYET;
}
+ return VerificationResult.VR_NOTYET;
} catch (ClassNotFoundException e) {
// FIXME: this might not be the best way to handle missing classes.
@@ -256,9 +255,8 @@ public final class Pass2Verifier extends
if (method.isFinal()) {
if (!(method.isPrivate())) {
throw new ClassConstraintException("Method '" +
name_and_sig + "' in class '" + hashmap.get(name_and_sig) + "' overrides the
final (not-overridable) definition in class '" + jc.getClassName() + "'.");
- } else {
- addMessage("Method '" + name_and_sig + "' in class
'" + hashmap.get(name_and_sig) + "' overrides the final (not-overridable)
definition in class '" + jc.getClassName() + "'. This is okay, as the original
definition was private; however this constraint leverage was introduced by JLS
8.4.6 (not vmspec2) and the behaviour of the Sun verifiers.");
}
+ addMessage("Method '" + name_and_sig + "' in class '"
+ hashmap.get(name_and_sig) + "' overrides the final (not-overridable)
definition in class '" + jc.getClassName() + "'. This is okay, as the original
definition was private; however this constraint leverage was introduced by JLS
8.4.6 (not vmspec2) and the behaviour of the Sun verifiers.");
} else {
if (!method.isStatic()) { // static methods don't
inherit
hashmap.put(name_and_sig, jc.getClassName());
@@ -915,10 +913,8 @@ public final class Pass2Verifier extends
addMessage("Code attribute '"+tostring(obj)+"' is not declared
in a method_info structure but in '"+carrier.predecessor()+"'. Ignored.");
return;
}
- else{
- m = (Method) carrier.predecessor(); // we can assume this
method was visited before;
-
// i.e. the data consistency was verified.
- }
+ m = (Method) carrier.predecessor(); // we can assume this
method was visited before;
+
// i.e. the data consistency was verified.
if (obj.getCode().length == 0){
throw new ClassConstraintException("Code array of Code
attribute '"+tostring(obj)+"' (method '"+m+"') must not be empty.");
@@ -940,29 +936,25 @@ public final class Pass2Verifier extends
if (vr != VerificationResult.VR_OK){
throw new ClassConstraintException("Code attribute
'"+tostring(obj)+"' (method '"+m+"') has an exception_table entry
'"+tostring(element)+"' that references '"+cname+"' as an Exception but it does
not pass verification pass 1: "+vr);
}
- else{
- // We cannot safely trust any other "instanceof"
mechanism. We need to transitively verify
- // the ancestor hierarchy.
- JavaClass e = Repository.lookupClass(cname);
- JavaClass t =
Repository.lookupClass(Type.THROWABLE.getClassName());
- JavaClass o =
Repository.lookupClass(Type.OBJECT.getClassName());
- while (e != o){
- if (e == t) {
- break; // It's a subclass of Throwable, OKAY,
leave.
- }
-
- v =
VerifierFactory.getVerifier(e.getSuperclassName());
- vr = v.doPass1();
- if (vr != VerificationResult.VR_OK){
- throw new ClassConstraintException("Code
attribute '"+tostring(obj)+"' (method '"+m+"') has an exception_table entry
'"+tostring(element)+"' that references '"+cname+"' as an Exception but
'"+e.getSuperclassName()+"' in the ancestor hierachy does not pass verification
pass 1: "+vr);
- }
- else{
- e =
Repository.lookupClass(e.getSuperclassName());
- }
+ // We cannot safely trust any other "instanceof"
mechanism. We need to transitively verify
+ // the ancestor hierarchy.
+ JavaClass e = Repository.lookupClass(cname);
+ JavaClass t =
Repository.lookupClass(Type.THROWABLE.getClassName());
+ JavaClass o =
Repository.lookupClass(Type.OBJECT.getClassName());
+ while (e != o){
+ if (e == t) {
+ break; // It's a subclass of Throwable, OKAY,
leave.
}
- if (e != t) {
- throw new ClassConstraintException("Code attribute
'"+tostring(obj)+"' (method '"+m+"') has an exception_table entry
'"+tostring(element)+"' that references '"+cname+"' as an Exception but it is
not a subclass of '"+t.getClassName()+"'.");
+
+ v = VerifierFactory.getVerifier(e.getSuperclassName());
+ vr = v.doPass1();
+ if (vr != VerificationResult.VR_OK){
+ throw new ClassConstraintException("Code attribute
'"+tostring(obj)+"' (method '"+m+"') has an exception_table entry
'"+tostring(element)+"' that references '"+cname+"' as an Exception but
'"+e.getSuperclassName()+"' in the ancestor hierachy does not pass verification
pass 1: "+vr);
}
+ e = Repository.lookupClass(e.getSuperclassName());
+ }
+ if (e != t) {
+ throw new ClassConstraintException("Code attribute
'"+tostring(obj)+"' (method '"+m+"') has an exception_table entry
'"+tostring(element)+"' that references '"+cname+"' as an Exception but it is
not a subclass of '"+t.getClassName()+"'.");
}
}
}