From dde70cfcaee9aee77dacd393a431d5acd1414b5e Mon Sep 17 00:00:00 2001 From: yeom Date: Wed, 13 Jul 2011 01:03:45 +0000 Subject: [PATCH] try to make mp3decoder pass SSJava checking --- Robust/src/Analysis/SSJava/FlowDownCheck.java | 14 ++++++++------ .../ClassLibrary/SSJava/BufferedInputStream.java | 2 +- .../ClassLibrary/SSJava/ByteArrayInputStream.java | 1 + .../src/ClassLibrary/SSJava/FileOutputStream.java | 4 ++-- Robust/src/Tests/ssJava/mp3decoder/Bitstream.java | 4 ++-- .../ssJava/mp3decoder/BitstreamException.java | 4 ++-- .../src/Tests/ssJava/mp3decoder/LayerIDecoder.java | 2 +- .../Tests/ssJava/mp3decoder/LayerIIIDecoder.java | 2 +- 8 files changed, 18 insertions(+), 15 deletions(-) diff --git a/Robust/src/Analysis/SSJava/FlowDownCheck.java b/Robust/src/Analysis/SSJava/FlowDownCheck.java index 1f4c7fc5..e752141d 100644 --- a/Robust/src/Analysis/SSJava/FlowDownCheck.java +++ b/Robust/src/Analysis/SSJava/FlowDownCheck.java @@ -1018,12 +1018,12 @@ public class FlowDownCheck { ClassDescriptor cd = md.getClassDesc(); Vector annotationVec = vd.getType().getAnnotationMarkers(); - - if(!md.getModifiers().isAbstract()){ + + if (!md.getModifiers().isAbstract()) { // currently enforce every variable to have corresponding location if (annotationVec.size() == 0) { - throw new Error("Location is not assigned to variable " + vd.getSymbol() + " in the method " - + md.getSymbol() + " of the class " + cd.getSymbol()); + throw new Error("Location is not assigned to variable " + vd.getSymbol() + + " in the method " + md.getSymbol() + " of the class " + cd.getSymbol()); } if (annotationVec.size() > 1) { // variable can have at most one location @@ -1057,7 +1057,6 @@ public class FlowDownCheck { } } - } private DeltaLocation parseDeltaDeclaration(MethodDescriptor md, TreeNode n, String locDec) { @@ -1160,7 +1159,10 @@ public class FlowDownCheck { // Check to see that fields are okay for (Iterator field_it = cd.getFields(); field_it.hasNext();) { FieldDescriptor fd = (FieldDescriptor) field_it.next(); - checkFieldDeclaration(cd, fd); + + if (!(fd.isFinal() && fd.isStatic())) { + checkFieldDeclaration(cd, fd); + } } } diff --git a/Robust/src/ClassLibrary/SSJava/BufferedInputStream.java b/Robust/src/ClassLibrary/SSJava/BufferedInputStream.java index cc8b9f33..ead2f26f 100644 --- a/Robust/src/ClassLibrary/SSJava/BufferedInputStream.java +++ b/Robust/src/ClassLibrary/SSJava/BufferedInputStream.java @@ -61,7 +61,7 @@ exception statement from your version. */ * @author Warren Levy (warrenl@cygnus.com) * @author Jeroen Frijters (jeroen@frijters.net) */ -@LATTICE("BUF