diff options
author | Alexander Kriegisch <Alexander@Kriegisch.name> | 2024-02-15 09:36:18 +0700 |
---|---|---|
committer | Alexander Kriegisch <Alexander@Kriegisch.name> | 2024-02-15 09:36:18 +0700 |
commit | cbdbba0ab06898cd7ab6d69e33d2db990d8b8799 (patch) | |
tree | c3b626837aecc15c53330d6afd68f94d136ff641 /bcel-builder/verifier-src | |
parent | 70fb6131935806f7e2041c5dfd0ac81164670875 (diff) | |
download | aspectj-cbdbba0ab06898cd7ab6d69e33d2db990d8b8799.tar.gz aspectj-cbdbba0ab06898cd7ab6d69e33d2db990d8b8799.zip |
Globally replace "http:" by "https:" in non-XML files
Maybe, the XML files and Maven wrapper files will follow. First, let us
find out if this breaks the build, maybe some tests are asserting on
"http:". But there, the replacement would also have taken place, so
probably it just works.
Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
Diffstat (limited to 'bcel-builder/verifier-src')
58 files changed, 516 insertions, 517 deletions
diff --git a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/DescendingVisitor.java b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/DescendingVisitor.java index 531af4d05..e803f5a92 100644 --- a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/DescendingVisitor.java +++ b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/DescendingVisitor.java @@ -21,7 +21,7 @@ package org.aspectj.apache.bcel.verifier; * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." + * Apache Software Foundation (https://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * @@ -51,7 +51,7 @@ package org.aspectj.apache.bcel.verifier; * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. + * <https://www.apache.org/>. */ import java.util.Stack; diff --git a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/EmptyClassVisitor.java b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/EmptyClassVisitor.java index 0873dee5c..91d88b2f2 100644 --- a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/EmptyClassVisitor.java +++ b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/EmptyClassVisitor.java @@ -19,7 +19,7 @@ * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." + * Apache Software Foundation (https://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * @@ -49,7 +49,7 @@ * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. + * <https://www.apache.org/>. */ package org.aspectj.apache.bcel.verifier; diff --git a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/EmptyInstVisitor.java b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/EmptyInstVisitor.java index d498ecdc0..77a06285b 100644 --- a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/EmptyInstVisitor.java +++ b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/EmptyInstVisitor.java @@ -36,7 +36,7 @@ import org.aspectj.apache.bcel.generic.TABLESWITCH; * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." + * Apache Software Foundation (https://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * @@ -66,7 +66,7 @@ import org.aspectj.apache.bcel.generic.TABLESWITCH; * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. + * <https://www.apache.org/>. */ /** diff --git a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/GraphicalVerifier.java b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/GraphicalVerifier.java index 834e58f22..2eed5e0c2 100644 --- a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/GraphicalVerifier.java +++ b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/GraphicalVerifier.java @@ -21,7 +21,7 @@ package org.aspectj.apache.bcel.verifier; * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." + * Apache Software Foundation (https://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * @@ -51,7 +51,7 @@ package org.aspectj.apache.bcel.verifier; * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. + * <https://www.apache.org/>. */ import java.awt.Dimension; @@ -74,8 +74,8 @@ public class GraphicalVerifier { /** Constructor. */ public GraphicalVerifier() { VerifierAppFrame frame = new VerifierAppFrame(); - //Frames überprüfen, die voreingestellte Größe haben - //Frames packen, die nutzbare bevorzugte Größeninformationen enthalten, z.B. aus ihrem Layout + //Frames �berpr�fen, die voreingestellte Gr��e haben + //Frames packen, die nutzbare bevorzugte Gr��eninformationen enthalten, z.B. aus ihrem Layout if (packFrame) { frame.pack(); } diff --git a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/InstructionWalker.java b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/InstructionWalker.java index 19a888cbd..6fbcde48d 100644 --- a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/InstructionWalker.java +++ b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/InstructionWalker.java @@ -19,7 +19,7 @@ * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "i product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." + * Apache Software Foundation (https://www.apache.org/)." * Alternately, i acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * @@ -49,7 +49,7 @@ * i software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. + * <https://www.apache.org/>. */ package org.aspectj.apache.bcel.verifier; diff --git a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/NativeVerifier.java b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/NativeVerifier.java index 70a58abe1..ce446097f 100644 --- a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/NativeVerifier.java +++ b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/NativeVerifier.java @@ -21,7 +21,7 @@ package org.aspectj.apache.bcel.verifier; * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." + * Apache Software Foundation (https://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * @@ -51,7 +51,7 @@ package org.aspectj.apache.bcel.verifier; * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. + * <https://www.apache.org/>. */ /** @@ -62,7 +62,7 @@ package org.aspectj.apache.bcel.verifier; * and JustIce. * * @version $Id: NativeVerifier.java,v 1.2 2008/05/28 23:53:01 aclement Exp $ - * @author <A HREF="http://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> + * @author <A HREF="https://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> */ public abstract class NativeVerifier{ @@ -71,7 +71,7 @@ public abstract class NativeVerifier{ */ private NativeVerifier(){ } - + /** * Works only on the first argument. */ @@ -86,14 +86,14 @@ public abstract class NativeVerifier{ args[0] = args[0].replace('/','.'); //System.out.println(args[0]); - + try{ Class.forName(args[0]); } catch(ExceptionInInitializerError eiie){ //subclass of LinkageError! System.out.println("NativeVerifier: ExceptionInInitializerError encountered on '"+args[0]+"'."); System.out.println(eiie); - System.exit(1); + System.exit(1); } catch(LinkageError le){ System.out.println("NativeVerifier: LinkageError encountered on '"+args[0]+"'."); @@ -108,7 +108,7 @@ public abstract class NativeVerifier{ System.out.println("NativeVerifier: Unspecified verification error on'"+args[0]+"'."); System.exit(1); } - + System.out.println("NativeVerifier: Class file '"+args[0]+"' seems to be okay."); System.exit(0); diff --git a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/PassVerifier.java b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/PassVerifier.java index 20aa49963..e48619a94 100644 --- a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/PassVerifier.java +++ b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/PassVerifier.java @@ -21,7 +21,7 @@ package org.aspectj.apache.bcel.verifier; * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." + * Apache Software Foundation (https://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * @@ -51,7 +51,7 @@ package org.aspectj.apache.bcel.verifier; * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. + * <https://www.apache.org/>. */ import java.util.ArrayList; @@ -78,7 +78,7 @@ import java.util.ArrayList; * pass you must use a new instance of a given PassVerifier. * * @version $Id: PassVerifier.java,v 1.3 2009/09/09 19:56:20 aclement Exp $ - * @author <A HREF="http://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> + * @author <A HREF="https://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> * @see org.aspectj.apache.bcel.verifier.Verifier * @see #verify() */ @@ -86,7 +86,7 @@ public abstract class PassVerifier{ /** The (warning) messages. */ private ArrayList<String> messages = new ArrayList<String>(); //Type of elements: String - + /** The VerificationResult cache. */ private VerificationResult verificationResult = null; @@ -117,7 +117,7 @@ public abstract class PassVerifier{ * This method adds a (warning) message to the message pool of this * PassVerifier. This method is normally only internally used by * BCEL's class file verifier "JustIce" and should not be used from - * the outside. + * the outside. * * @see #getMessages() */ diff --git a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/TransitiveHull.java b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/TransitiveHull.java index 00be6fa3d..146e7e028 100644 --- a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/TransitiveHull.java +++ b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/TransitiveHull.java @@ -21,7 +21,7 @@ package org.aspectj.apache.bcel.verifier; * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." + * Apache Software Foundation (https://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * @@ -51,7 +51,7 @@ package org.aspectj.apache.bcel.verifier; * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. + * <https://www.apache.org/>. */ import org.aspectj.apache.bcel.Repository; @@ -64,7 +64,7 @@ import org.aspectj.apache.bcel.classfile.JavaClass; * more notably, memory. * * @version $Id: TransitiveHull.java,v 1.2 2008/05/28 23:53:00 aclement Exp $ - * @author <A HREF="http://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> + * @author <A HREF="https://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> */ public class TransitiveHull implements VerifierFactoryObserver{ @@ -74,7 +74,7 @@ public class TransitiveHull implements VerifierFactoryObserver{ /** Not publicly instantiable. */ private TransitiveHull(){ } - + /* Implementing VerifierFactoryObserver. */ public void update(String classname){ @@ -87,7 +87,7 @@ public class TransitiveHull implements VerifierFactoryObserver{ indent += 1; Verifier v = VerifierFactory.getVerifier(classname); - + VerificationResult vr; vr = v.doPass1(); if (vr != VerificationResult.VR_OK) //System.exit(1); @@ -128,7 +128,7 @@ public class TransitiveHull implements VerifierFactoryObserver{ int dotclasspos = args[0].lastIndexOf(".class"); if (dotclasspos != -1) args[0] = args[0].substring(0,dotclasspos); args[0] = args[0].replace('/', '.'); - + TransitiveHull th = new TransitiveHull(); VerifierFactory.attach(th); VerifierFactory.getVerifier(args[0]); // the observer is called back and does the actual trick. diff --git a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/VerificationResult.java b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/VerificationResult.java index b3e3cce80..809740548 100644 --- a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/VerificationResult.java +++ b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/VerificationResult.java @@ -21,7 +21,7 @@ package org.aspectj.apache.bcel.verifier; * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." + * Apache Software Foundation (https://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * @@ -51,7 +51,7 @@ package org.aspectj.apache.bcel.verifier; * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. + * <https://www.apache.org/>. */ /** @@ -59,7 +59,7 @@ package org.aspectj.apache.bcel.verifier; * after verifying. * * @version $Id: VerificationResult.java,v 1.2 2008/05/28 23:53:00 aclement Exp $ - * @author <A HREF="http://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> + * @author <A HREF="https://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> * */ public class VerificationResult{ @@ -114,13 +114,13 @@ public class VerificationResult{ /** * Returns if two VerificationResult instances are equal. - */ + */ public boolean equals(Object o){ if (! (o instanceof VerificationResult)) return false; VerificationResult other = (VerificationResult) o; return ((other.numeric == this.numeric) && (other.detailMessage.equals(this.detailMessage))); } - + /** * Returns a String representation of the VerificationResult. */ diff --git a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/Verifier.java b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/Verifier.java index 150a07ec5..568dc88e5 100644 --- a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/Verifier.java +++ b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/Verifier.java @@ -21,7 +21,7 @@ package org.aspectj.apache.bcel.verifier; * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." + * Apache Software Foundation (https://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * @@ -51,7 +51,7 @@ package org.aspectj.apache.bcel.verifier; * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. + * <https://www.apache.org/>. */ import java.util.ArrayList; @@ -76,7 +76,7 @@ import org.aspectj.apache.bcel.verifier.structurals.Pass3bVerifier; * Verifier instances are usually generated by the VerifierFactory. * * @version $Id: Verifier.java,v 1.3 2009/09/09 19:56:20 aclement Exp $ - * @author <A HREF="http://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> + * @author <A HREF="https://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> * @see org.aspectj.apache.bcel.verifier.VerifierFactory * @see org.aspectj.apache.bcel.verifier.PassVerifier */ @@ -237,7 +237,7 @@ public class Verifier{ * into the BCEL Repository yourself (via 'addClass(JavaClass)'). */ public static void main(String [] args){ - System.out.println("JustIce by Enver Haase, (C) 2001-2002.\n<http://bcel.sourceforge.net>\n<http://jakarta.apache.org/bcel>\n"); + System.out.println("JustIce by Enver Haase, (C) 2001-2002.\n<https://bcel.sourceforge.net>\n<https://jakarta.apache.org/bcel>\n"); for(int k=0; k < args.length; k++) { if (args[k].endsWith(".class")){ diff --git a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/VerifierAppFrame.java b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/VerifierAppFrame.java index b6a483bf8..e8ff15c69 100644 --- a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/VerifierAppFrame.java +++ b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/VerifierAppFrame.java @@ -21,7 +21,7 @@ package org.aspectj.apache.bcel.verifier; * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." + * Apache Software Foundation (https://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * @@ -51,7 +51,7 @@ package org.aspectj.apache.bcel.verifier; * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. + * <https://www.apache.org/>. */ import java.awt.AWTEvent; @@ -397,7 +397,7 @@ public class VerifierAppFrame extends JFrame { void aboutMenuItem_actionPerformed(ActionEvent e) { JOptionPane.showMessageDialog(this, - "JustIce is a Java class file verifier.\nIt was implemented by Enver Haase in 2001, 2002.\n<http://jakarta.apache.org/bcel/index.html>", + "JustIce is a Java class file verifier.\nIt was implemented by Enver Haase in 2001, 2002.\n<https://jakarta.apache.org/bcel/index.html>", JUSTICE_VERSION, JOptionPane.INFORMATION_MESSAGE); } diff --git a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/VerifierFactory.java b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/VerifierFactory.java index 9fab69b1f..dbe76fa01 100644 --- a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/VerifierFactory.java +++ b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/VerifierFactory.java @@ -21,7 +21,7 @@ package org.aspectj.apache.bcel.verifier; * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." + * Apache Software Foundation (https://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * @@ -51,7 +51,7 @@ package org.aspectj.apache.bcel.verifier; * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. + * <https://www.apache.org/>. */ import java.util.HashMap; @@ -65,7 +65,7 @@ import java.util.Vector; * class name) there is exactly one Verifier. * * @version $Id: VerifierFactory.java,v 1.3 2009/09/09 19:56:20 aclement Exp $ - * @author <A HREF="http://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> + * @author <A HREF="https://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> * @see org.aspectj.apache.bcel.verifier.Verifier */ public class VerifierFactory{ @@ -84,7 +84,7 @@ public class VerifierFactory{ * The VerifierFactory is not instantiable. */ private VerifierFactory(){} - + /** * Returns the (only) verifier responsible for the class with the given name. * Possibly a new Verifier object is transparently created. @@ -92,14 +92,14 @@ public class VerifierFactory{ */ public static Verifier getVerifier(String fully_qualified_classname){ // fully_qualified_classname = fully_qualified_classname; - + Verifier v = (hashMap.get(fully_qualified_classname)); if (v==null){ v = new Verifier(fully_qualified_classname); hashMap.put(fully_qualified_classname, v); notify(fully_qualified_classname); } - + return v; } @@ -133,7 +133,7 @@ public class VerifierFactory{ public static void attach(VerifierFactoryObserver o){ observers.addElement(o); } - + /** * Removes the VerifierFactoryObserver o from the list of observers. */ diff --git a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/VerifierFactoryListModel.java b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/VerifierFactoryListModel.java index 485223e04..96d5aab48 100644 --- a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/VerifierFactoryListModel.java +++ b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/VerifierFactoryListModel.java @@ -21,7 +21,7 @@ package org.aspectj.apache.bcel.verifier; * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." + * Apache Software Foundation (https://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * @@ -51,7 +51,7 @@ package org.aspectj.apache.bcel.verifier; * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. + * <https://www.apache.org/>. */ import javax.swing.event.ListDataEvent; import javax.swing.event.ListDataListener; diff --git a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/VerifierFactoryObserver.java b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/VerifierFactoryObserver.java index b00f4adc2..18a11bb50 100644 --- a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/VerifierFactoryObserver.java +++ b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/VerifierFactoryObserver.java @@ -21,7 +21,7 @@ package org.aspectj.apache.bcel.verifier; * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." + * Apache Software Foundation (https://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * @@ -51,7 +51,7 @@ package org.aspectj.apache.bcel.verifier; * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. + * <https://www.apache.org/>. */ /** @@ -59,7 +59,7 @@ package org.aspectj.apache.bcel.verifier; * instances are created. * * @version $Id: VerifierFactoryObserver.java,v 1.2 2008/05/28 23:53:00 aclement Exp $ - * @author <A HREF="http://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> + * @author <A HREF="https://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> * * @see VerifierFactory#getVerifier(String) * @see VerifierFactory#getVerifiers() diff --git a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/VerifyDialog.java b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/VerifyDialog.java index 9eb2d37c0..6e0513961 100644 --- a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/VerifyDialog.java +++ b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/VerifyDialog.java @@ -21,7 +21,7 @@ package org.aspectj.apache.bcel.verifier; * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." + * Apache Software Foundation (https://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * @@ -51,7 +51,7 @@ package org.aspectj.apache.bcel.verifier; * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. + * <https://www.apache.org/>. */ import java.awt.Color; @@ -69,7 +69,7 @@ import org.aspectj.apache.bcel.classfile.JavaClass; * [This class was created using VisualAge for Java, * but it does not work under VAJ itself (Version 3.02 JDK 1.2)] * @version $Id: VerifyDialog.java,v 1.2 2008/05/28 23:53:01 aclement Exp $ - * @author <A HREF="http://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> + * @author <A HREF="https://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> * @see #main(String[]) * @see #VerifyDialog(String) */ @@ -108,13 +108,13 @@ public class VerifyDialog extends javax.swing.JDialog { /** Machine-generated. */ class IvjEventHandler implements java.awt.event.ActionListener { public void actionPerformed(java.awt.event.ActionEvent e) { - if (e.getSource() == VerifyDialog.this.getPass1Button()) + if (e.getSource() == VerifyDialog.this.getPass1Button()) connEtoC1(e); - if (e.getSource() == VerifyDialog.this.getPass2Button()) + if (e.getSource() == VerifyDialog.this.getPass2Button()) connEtoC2(e); - if (e.getSource() == VerifyDialog.this.getPass3Button()) + if (e.getSource() == VerifyDialog.this.getPass3Button()) connEtoC3(e); - if (e.getSource() == VerifyDialog.this.getFlushButton()) + if (e.getSource() == VerifyDialog.this.getFlushButton()) connEtoC4(e); }; }; @@ -173,7 +173,7 @@ public VerifyDialog(java.awt.Frame owner, boolean modal) { */ public VerifyDialog(String fully_qualified_class_name) { super(); - + int dotclasspos = fully_qualified_class_name.lastIndexOf(".class"); if (dotclasspos != -1) fully_qualified_class_name = fully_qualified_class_name.substring(0,dotclasspos); fully_qualified_class_name = fully_qualified_class_name.replace('/', '.'); @@ -472,7 +472,7 @@ private void initialize() { */ public static void main(java.lang.String[] args) { classes_to_verify = args.length; - + for (int i=0; i<args.length; i++){ try { @@ -490,7 +490,7 @@ public static void main(java.lang.String[] args) { System.err.println("Exception occurred in main() of javax.swing.JDialog"); exception.printStackTrace(System.out); } - + } } @@ -511,7 +511,7 @@ public void pass1Button_ActionPerformed(java.awt.event.ActionEvent actionEvent) /** Machine-generated. */ public void pass2Button_ActionPerformed(java.awt.event.ActionEvent actionEvent) { pass1Button_ActionPerformed(actionEvent); - + Verifier v = VerifierFactory.getVerifier(class_name); VerificationResult vr = v.doPass2(); if (vr.getStatus() == VerificationResult.VERIFIED_OK){ @@ -530,10 +530,10 @@ public void pass2Button_ActionPerformed(java.awt.event.ActionEvent actionEvent) /** Machine-generated. */ public void pass4Button_ActionPerformed(java.awt.event.ActionEvent actionEvent) { - + pass2Button_ActionPerformed(actionEvent); - - + + Color color = Color.green; Verifier v = VerifierFactory.getVerifier(class_name); diff --git a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/exc/AssertionViolatedException.java b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/exc/AssertionViolatedException.java index dc1a93be5..7fddb3931 100644 --- a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/exc/AssertionViolatedException.java +++ b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/exc/AssertionViolatedException.java @@ -21,7 +21,7 @@ package org.aspectj.apache.bcel.verifier.exc; * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." + * Apache Software Foundation (https://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * @@ -51,7 +51,7 @@ package org.aspectj.apache.bcel.verifier.exc; * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. + * <https://www.apache.org/>. */ /** @@ -59,7 +59,7 @@ package org.aspectj.apache.bcel.verifier.exc; * this is due to an INTERNAL ERROR of BCEL's class file verifier "JustIce". * * @version $Id: AssertionViolatedException.java,v 1.2 2008/05/28 23:53:02 aclement Exp $ - * @author <A HREF="http://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> + * @author <A HREF="https://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> */ public final class AssertionViolatedException extends RuntimeException{ /** The error message. */ @@ -95,7 +95,7 @@ public final class AssertionViolatedException extends RuntimeException{ return detailMessage; } - /** + /** * DO NOT USE. It's for experimental testing during development only. */ public static void main(String[] args){ diff --git a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/exc/ClassConstraintException.java b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/exc/ClassConstraintException.java index 3378c2ea5..a3528f882 100644 --- a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/exc/ClassConstraintException.java +++ b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/exc/ClassConstraintException.java @@ -21,7 +21,7 @@ package org.aspectj.apache.bcel.verifier.exc; * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." + * Apache Software Foundation (https://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * @@ -51,7 +51,7 @@ package org.aspectj.apache.bcel.verifier.exc; * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. + * <https://www.apache.org/>. */ /** @@ -60,7 +60,7 @@ package org.aspectj.apache.bcel.verifier.exc; * in the Java Virtual Machine specification, 2nd edition. * * @version $Id: ClassConstraintException.java,v 1.2 2008/05/28 23:53:02 aclement Exp $ - * @author <A HREF="http://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> + * @author <A HREF="https://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> */ public class ClassConstraintException extends VerificationException{ /** @@ -69,7 +69,7 @@ public class ClassConstraintException extends VerificationException{ public ClassConstraintException(){ super(); } - + /** * Constructs a new ClassConstraintException with the specified error message. */ diff --git a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/exc/CodeConstraintException.java b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/exc/CodeConstraintException.java index e33e4f9ac..fcc4ae57e 100644 --- a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/exc/CodeConstraintException.java +++ b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/exc/CodeConstraintException.java @@ -21,7 +21,7 @@ package org.aspectj.apache.bcel.verifier.exc; * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." + * Apache Software Foundation (https://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * @@ -51,7 +51,7 @@ package org.aspectj.apache.bcel.verifier.exc; * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. + * <https://www.apache.org/>. */ /** * Instances of this class are thrown by BCEL's class file verifier "JustIce" when @@ -59,7 +59,7 @@ package org.aspectj.apache.bcel.verifier.exc; * "JustIce" involves verification that is usually delayed to pass 4. * * @version $Id: CodeConstraintException.java,v 1.2 2008/05/28 23:53:02 aclement Exp $ - * @author <A HREF="http://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> + * @author <A HREF="https://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> */ public abstract class CodeConstraintException extends VerificationException{ /** @@ -73,5 +73,5 @@ public abstract class CodeConstraintException extends VerificationException{ */ CodeConstraintException(String message){ super(message); - } + } } diff --git a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/exc/InvalidMethodException.java b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/exc/InvalidMethodException.java index eb6099cd4..fed372dc6 100644 --- a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/exc/InvalidMethodException.java +++ b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/exc/InvalidMethodException.java @@ -21,7 +21,7 @@ package org.aspectj.apache.bcel.verifier.exc; * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." + * Apache Software Foundation (https://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * @@ -51,14 +51,14 @@ package org.aspectj.apache.bcel.verifier.exc; * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. + * <https://www.apache.org/>. */ /** * Instances of this class are thrown by BCEL's class file verifier "JustIce" * when the verification of a method is requested that does not exist. * * @version $Id: InvalidMethodException.java,v 1.2 2008/05/28 23:53:02 aclement Exp $ - * @author <A HREF="http://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> + * @author <A HREF="https://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> */ public class InvalidMethodException extends RuntimeException{ diff --git a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/exc/LinkingConstraintException.java b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/exc/LinkingConstraintException.java index 3e63fea83..478e853cc 100644 --- a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/exc/LinkingConstraintException.java +++ b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/exc/LinkingConstraintException.java @@ -21,7 +21,7 @@ package org.aspectj.apache.bcel.verifier.exc; * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." + * Apache Software Foundation (https://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * @@ -51,7 +51,7 @@ package org.aspectj.apache.bcel.verifier.exc; * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. + * <https://www.apache.org/>. */ /** * Instances of this class are thrown by BCEL's class file verifier "JustIce" when @@ -68,7 +68,7 @@ package org.aspectj.apache.bcel.verifier.exc; * <B>TODO: At this time, this class is not used in JustIce.</B> * * @version $Id: LinkingConstraintException.java,v 1.2 2008/05/28 23:53:02 aclement Exp $ - * @author <A HREF="http://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> + * @author <A HREF="https://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> */ public class LinkingConstraintException extends StructuralCodeConstraintException{ } diff --git a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/exc/LoadingException.java b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/exc/LoadingException.java index 177ac4c7b..31469bc9d 100644 --- a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/exc/LoadingException.java +++ b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/exc/LoadingException.java @@ -21,7 +21,7 @@ package org.aspectj.apache.bcel.verifier.exc; * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." + * Apache Software Foundation (https://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * @@ -51,7 +51,7 @@ package org.aspectj.apache.bcel.verifier.exc; * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. + * <https://www.apache.org/>. */ /** @@ -59,7 +59,7 @@ package org.aspectj.apache.bcel.verifier.exc; * the class file is malformed; so it is not conforming to the "Pass 1" verification * process as described in the Java Virtual Machine specification, 2nd. edition. * @version $Id: LoadingException.java,v 1.2 2008/05/28 23:53:02 aclement Exp $ - * @author <A HREF="http://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> + * @author <A HREF="https://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> */ public class LoadingException extends VerifierConstraintViolatedException{ @@ -69,7 +69,7 @@ public class LoadingException extends VerifierConstraintViolatedException{ public LoadingException(){ super(); } - + /** * Constructs a new LoadingException with the specified error message. */ diff --git a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/exc/LocalVariableInfoInconsistentException.java b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/exc/LocalVariableInfoInconsistentException.java index b4a44a480..c8249587c 100644 --- a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/exc/LocalVariableInfoInconsistentException.java +++ b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/exc/LocalVariableInfoInconsistentException.java @@ -21,7 +21,7 @@ package org.aspectj.apache.bcel.verifier.exc; * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." + * Apache Software Foundation (https://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * @@ -51,7 +51,7 @@ package org.aspectj.apache.bcel.verifier.exc; * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. + * <https://www.apache.org/>. */ /** @@ -62,7 +62,7 @@ package org.aspectj.apache.bcel.verifier.exc; * Method object. * * @version $Id: LocalVariableInfoInconsistentException.java,v 1.2 2008/05/28 23:53:02 aclement Exp $ - * @author <A HREF="http://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> + * @author <A HREF="https://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> */ public class LocalVariableInfoInconsistentException extends ClassConstraintException{ /** @@ -71,7 +71,7 @@ public class LocalVariableInfoInconsistentException extends ClassConstraintExcep public LocalVariableInfoInconsistentException(){ super(); } - + /** * Constructs a new LocalVariableInfoInconsistentException with the specified error message. */ diff --git a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/exc/StaticCodeConstraintException.java b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/exc/StaticCodeConstraintException.java index 5738a48d4..c8195d25e 100644 --- a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/exc/StaticCodeConstraintException.java +++ b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/exc/StaticCodeConstraintException.java @@ -21,7 +21,7 @@ package org.aspectj.apache.bcel.verifier.exc; * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." + * Apache Software Foundation (https://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * @@ -51,7 +51,7 @@ package org.aspectj.apache.bcel.verifier.exc; * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. + * <https://www.apache.org/>. */ /** @@ -62,7 +62,7 @@ package org.aspectj.apache.bcel.verifier.exc; * is called pass 3a in JustIce. * * @version $Id: StaticCodeConstraintException.java,v 1.2 2008/05/28 23:53:02 aclement Exp $ - * @author <A HREF="http://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> + * @author <A HREF="https://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> */ public abstract class StaticCodeConstraintException extends CodeConstraintException{ public StaticCodeConstraintException(String message){ diff --git a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/exc/StaticCodeInstructionConstraintException.java b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/exc/StaticCodeInstructionConstraintException.java index 35c1f1ae2..126b6fc35 100644 --- a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/exc/StaticCodeInstructionConstraintException.java +++ b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/exc/StaticCodeInstructionConstraintException.java @@ -21,7 +21,7 @@ package org.aspectj.apache.bcel.verifier.exc; * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." + * Apache Software Foundation (https://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * @@ -51,7 +51,7 @@ package org.aspectj.apache.bcel.verifier.exc; * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. + * <https://www.apache.org/>. */ /** @@ -65,7 +65,7 @@ package org.aspectj.apache.bcel.verifier.exc; * Second Edition. * * @version $Id: StaticCodeInstructionConstraintException.java,v 1.2 2008/05/28 23:53:02 aclement Exp $ - * @author <A HREF="http://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> + * @author <A HREF="https://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> */ public class StaticCodeInstructionConstraintException extends StaticCodeConstraintException{ public StaticCodeInstructionConstraintException(String message){ diff --git a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/exc/StaticCodeInstructionOperandConstraintException.java b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/exc/StaticCodeInstructionOperandConstraintException.java index 2ddc9e9de..9d5324f6d 100644 --- a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/exc/StaticCodeInstructionOperandConstraintException.java +++ b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/exc/StaticCodeInstructionOperandConstraintException.java @@ -21,7 +21,7 @@ package org.aspectj.apache.bcel.verifier.exc; * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." + * Apache Software Foundation (https://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * @@ -51,7 +51,7 @@ package org.aspectj.apache.bcel.verifier.exc; * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. + * <https://www.apache.org/>. */ /** @@ -65,7 +65,7 @@ package org.aspectj.apache.bcel.verifier.exc; * Second Edition. * * @version $Id: StaticCodeInstructionOperandConstraintException.java,v 1.2 2008/05/28 23:53:02 aclement Exp $ - * @author <A HREF="http://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> + * @author <A HREF="https://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> */ public class StaticCodeInstructionOperandConstraintException extends StaticCodeConstraintException{ public StaticCodeInstructionOperandConstraintException(String message){ diff --git a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/exc/StructuralCodeConstraintException.java b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/exc/StructuralCodeConstraintException.java index 3cbee2e86..a37fd208f 100644 --- a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/exc/StructuralCodeConstraintException.java +++ b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/exc/StructuralCodeConstraintException.java @@ -21,7 +21,7 @@ package org.aspectj.apache.bcel.verifier.exc; * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." + * Apache Software Foundation (https://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * @@ -51,7 +51,7 @@ package org.aspectj.apache.bcel.verifier.exc; * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. + * <https://www.apache.org/>. */ /** * Instances of this class are thrown by BCEL's class file verifier "JustIce" when @@ -64,7 +64,7 @@ package org.aspectj.apache.bcel.verifier.exc; * The data flow analysis of pass 3 is called pass 3b in JustIce. * * @version $Id: StructuralCodeConstraintException.java,v 1.2 2008/05/28 23:53:02 aclement Exp $ - * @author <A HREF="http://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> + * @author <A HREF="https://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> */ public class StructuralCodeConstraintException extends CodeConstraintException{ /** diff --git a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/exc/Utility.java b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/exc/Utility.java index 8c5bc966d..af17b9ec1 100644 --- a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/exc/Utility.java +++ b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/exc/Utility.java @@ -21,7 +21,7 @@ package org.aspectj.apache.bcel.verifier.exc; * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." + * Apache Software Foundation (https://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * @@ -51,7 +51,7 @@ package org.aspectj.apache.bcel.verifier.exc; * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. + * <https://www.apache.org/>. */ import java.io.*; @@ -59,7 +59,7 @@ import java.io.*; /** * A utility class providing convenience methods concerning Throwable instances. * @version $Id: Utility.java,v 1.2 2008/05/28 23:53:02 aclement Exp $ - * @author <A HREF="http://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> + * @author <A HREF="https://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> * @see java.lang.Throwable */ public final class Utility{ diff --git a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/exc/VerificationException.java b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/exc/VerificationException.java index 0df4b3d60..4dfba2d57 100644 --- a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/exc/VerificationException.java +++ b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/exc/VerificationException.java @@ -21,7 +21,7 @@ package org.aspectj.apache.bcel.verifier.exc; * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." + * Apache Software Foundation (https://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * @@ -51,7 +51,7 @@ package org.aspectj.apache.bcel.verifier.exc; * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. + * <https://www.apache.org/>. */ /** @@ -64,7 +64,7 @@ package org.aspectj.apache.bcel.verifier.exc; * defined to be the verification happening in passes 2 and 3. * * @version $Id: VerificationException.java,v 1.2 2008/05/28 23:53:02 aclement Exp $ - * @author <A HREF="http://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> + * @author <A HREF="https://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> */ public abstract class VerificationException extends VerifierConstraintViolatedException{ /** diff --git a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/exc/VerifierConstraintViolatedException.java b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/exc/VerifierConstraintViolatedException.java index 3cb718e2f..116a32bb4 100644 --- a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/exc/VerifierConstraintViolatedException.java +++ b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/exc/VerifierConstraintViolatedException.java @@ -21,7 +21,7 @@ package org.aspectj.apache.bcel.verifier.exc; * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." + * Apache Software Foundation (https://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * @@ -51,7 +51,7 @@ package org.aspectj.apache.bcel.verifier.exc; * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. + * <https://www.apache.org/>. */ /** @@ -63,7 +63,7 @@ package org.aspectj.apache.bcel.verifier.exc; * throw. * * @version $Id: VerifierConstraintViolatedException.java,v 1.2 2008/05/28 23:53:02 aclement Exp $ - * @author <A HREF="http://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> + * @author <A HREF="https://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> */ public abstract class VerifierConstraintViolatedException extends RuntimeException{ // /** The name of the offending class that did not pass the verifier. */ diff --git a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/package.html b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/package.html index 7a117a8b7..a22baed3a 100644 --- a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/package.html +++ b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/package.html @@ -18,7 +18,7 @@ Verifier classes. For a simple demonstration of JustIce working, please see: <ul> - <li><a href="http://www.inf.fu-berlin.de/~ehaase/cgi-html/Verifier.html">A WWW front-end for JustIce.</a> + <li><a href="https://www.inf.fu-berlin.de/~ehaase/cgi-html/Verifier.html">A WWW front-end for JustIce.</a> </ul> </body> diff --git a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/statics/DOUBLE_Upper.java b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/statics/DOUBLE_Upper.java index 062d6bbbc..b2455aff6 100644 --- a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/statics/DOUBLE_Upper.java +++ b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/statics/DOUBLE_Upper.java @@ -21,7 +21,7 @@ package org.aspectj.apache.bcel.verifier.statics; * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." + * Apache Software Foundation (https://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * @@ -51,7 +51,7 @@ package org.aspectj.apache.bcel.verifier.statics; * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. + * <https://www.apache.org/>. */ import org.aspectj.apache.bcel.Constants; @@ -60,7 +60,7 @@ import org.aspectj.apache.bcel.generic.Type; /** * This class represents the upper half of a DOUBLE variable. * @version $Id: DOUBLE_Upper.java,v 1.2 2008/05/28 23:52:54 aclement Exp $ - * @author <A HREF="http://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> + * @author <A HREF="https://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> */ public final class DOUBLE_Upper extends Type{ diff --git a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/statics/IntList.java b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/statics/IntList.java index f7656ef7b..39904c7b4 100644 --- a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/statics/IntList.java +++ b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/statics/IntList.java @@ -21,7 +21,7 @@ package org.aspectj.apache.bcel.verifier.statics; * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." + * Apache Software Foundation (https://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * @@ -51,7 +51,7 @@ package org.aspectj.apache.bcel.verifier.statics; * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. + * <https://www.apache.org/>. */ import java.util.ArrayList; @@ -60,7 +60,7 @@ import java.util.ArrayList; * A small utility class representing a set of basic int values. * * @version $Id: IntList.java,v 1.3 2009/09/09 19:56:20 aclement Exp $ - * @author <A HREF="http://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> + * @author <A HREF="https://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> */ public class IntList{ /** The int are stored as Integer objects here. */ diff --git a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/statics/LONG_Upper.java b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/statics/LONG_Upper.java index 55e9052e3..6b43c1121 100644 --- a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/statics/LONG_Upper.java +++ b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/statics/LONG_Upper.java @@ -21,7 +21,7 @@ package org.aspectj.apache.bcel.verifier.statics; * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." + * Apache Software Foundation (https://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * @@ -51,7 +51,7 @@ package org.aspectj.apache.bcel.verifier.statics; * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. + * <https://www.apache.org/>. */ import org.aspectj.apache.bcel.Constants; @@ -60,7 +60,7 @@ import org.aspectj.apache.bcel.generic.Type; /** * This class represents the upper half of a LONG variable. * @version $Id: LONG_Upper.java,v 1.2 2008/05/28 23:52:54 aclement Exp $ - * @author <A HREF="http://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> + * @author <A HREF="https://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> */ public final class LONG_Upper extends Type{ diff --git a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/statics/LocalVariableInfo.java b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/statics/LocalVariableInfo.java index ce92b19c5..bc94c092f 100644 --- a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/statics/LocalVariableInfo.java +++ b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/statics/LocalVariableInfo.java @@ -21,7 +21,7 @@ package org.aspectj.apache.bcel.verifier.statics; * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." + * Apache Software Foundation (https://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * @@ -51,7 +51,7 @@ package org.aspectj.apache.bcel.verifier.statics; * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. + * <https://www.apache.org/>. */ import org.aspectj.apache.bcel.generic.Type; @@ -65,7 +65,7 @@ import java.util.Hashtable; * often changes in course of byte code offsets. * * @version $Id: LocalVariableInfo.java,v 1.3 2009/09/09 19:56:20 aclement Exp $ - * @author <A HREF="http://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> + * @author <A HREF="https://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> */ public class LocalVariableInfo{ diff --git a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/statics/LocalVariablesInfo.java b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/statics/LocalVariablesInfo.java index b094b5867..6b236d583 100644 --- a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/statics/LocalVariablesInfo.java +++ b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/statics/LocalVariablesInfo.java @@ -21,7 +21,7 @@ package org.aspectj.apache.bcel.verifier.statics; * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." + * Apache Software Foundation (https://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * @@ -51,7 +51,7 @@ package org.aspectj.apache.bcel.verifier.statics; * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. + * <https://www.apache.org/>. */ import org.aspectj.apache.bcel.generic.Type; @@ -63,10 +63,10 @@ import org.aspectj.apache.bcel.verifier.exc.*; * a given method. * * @version $Id: LocalVariablesInfo.java,v 1.2 2008/05/28 23:52:54 aclement Exp $ - * @author <A HREF="http://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> + * @author <A HREF="https://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> */ public class LocalVariablesInfo{ - + /** The information about the local variables is stored here. */ private LocalVariableInfo[] localVariableInfos; @@ -87,14 +87,14 @@ public class LocalVariablesInfo{ } /** - * Adds information about the local variable in slot 'slot'. Automatically + * Adds information about the local variable in slot 'slot'. Automatically * adds information for slot+1 if 't' is Type.LONG or Type.DOUBLE. * @throws LocalVariableInfoInconsistentException if the new information conflicts * with already gathered information. */ public void add(int slot, String name, int startpc, int length, Type t) throws LocalVariableInfoInconsistentException{ // The add operation on LocalVariableInfo may throw the '...Inconsistent...' exception, we don't throw it explicitely here. - + if (slot < 0 || slot >= localVariableInfos.length){ throw new AssertionViolatedException("Slot number for local variable information out of range."); } diff --git a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/statics/Pass1Verifier.java b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/statics/Pass1Verifier.java index fcbddb624..559a59df2 100644 --- a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/statics/Pass1Verifier.java +++ b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/statics/Pass1Verifier.java @@ -21,7 +21,7 @@ package org.aspectj.apache.bcel.verifier.statics; * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." + * Apache Software Foundation (https://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * @@ -51,7 +51,7 @@ package org.aspectj.apache.bcel.verifier.statics; * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. + * <https://www.apache.org/>. */ import org.aspectj.apache.bcel.Repository; @@ -69,7 +69,7 @@ import org.aspectj.apache.bcel.verifier.exc.Utility; * documentation. * * @version $Id: Pass1Verifier.java,v 1.2 2008/05/28 23:52:54 aclement Exp $ - * @author <A HREF="http://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> + * @author <A HREF="https://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> * @see #do_verify() */ public final class Pass1Verifier extends PassVerifier{ @@ -91,7 +91,7 @@ public final class Pass1Verifier extends PassVerifier{ } return jc; } - + /** * Should only be instantiated by a Verifier. * @@ -149,7 +149,7 @@ public final class Pass1Verifier extends PassVerifier{ * <LI> the name and signature of fields and methods are verified to be of legal format. * </UL> * </UL> - * (From the Paper <A HREF=http://www.cs.sfu.ca/people/GradStudents/pwfong/personal/JVM/pass1/>The Mysterious Pass One, first draft, September 2, 1997</A>.) + * (From the Paper <A HREF=https://www.cs.sfu.ca/people/GradStudents/pwfong/personal/JVM/pass1/>The Mysterious Pass One, first draft, September 2, 1997</A>.) * </BR> * However, most of this is done by parsing a class file or generating a class file into BCEL's internal data structure. * <B>Therefore, all that is really done here is look up the class file from BCEL's repository.</B> @@ -172,7 +172,7 @@ public final class Pass1Verifier extends PassVerifier{ throw new LoadingException("Wrong name: the internal name of the .class file '"+jc.getClassName()+"' does not match the file's name '"+myOwner.getClassName()+"'."); } } - + } catch(LoadingException e){ return new VerificationResult(VerificationResult.VERIFIED_REJECTED, e.getMessage()); diff --git a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/statics/Pass2Verifier.java b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/statics/Pass2Verifier.java index b02c35128..c05f29de7 100644 --- a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/statics/Pass2Verifier.java +++ b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/statics/Pass2Verifier.java @@ -21,7 +21,7 @@ package org.aspectj.apache.bcel.verifier.statics; * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." + * Apache Software Foundation (https://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * @@ -51,7 +51,7 @@ package org.aspectj.apache.bcel.verifier.statics; * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. + * <https://www.apache.org/>. */ import java.util.HashMap; @@ -107,9 +107,9 @@ import org.aspectj.apache.bcel.verifier.exc.LocalVariableInfoInconsistentExcepti /** * This PassVerifier verifies a class file according to pass 2 as described in The Java Virtual Machine Specification, 2nd edition. * More detailed information is to be found at the do_verify() method's documentation. - * + * * @version $Id: Pass2Verifier.java,v 1.5 2009/09/10 15:35:05 aclement Exp $ - * @author <A HREF="http://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> + * @author <A HREF="https://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> * @see #do_verify() */ public final class Pass2Verifier extends PassVerifier implements Constants { @@ -125,7 +125,7 @@ public final class Pass2Verifier extends PassVerifier implements Constants { /** * Should only be instantiated by a Verifier. - * + * * @see Verifier */ public Pass2Verifier(Verifier owner) { @@ -157,7 +157,7 @@ public final class Pass2Verifier extends PassVerifier implements Constants { * Very few checks that conceptually belong here are delayed until pass 3a in JustIce. JustIce does not only check for * syntactical correctness but also for semantical sanity - therefore it needs access to the "Code" array of methods in a few * cases. Please see the pass 3a documentation, too. - * + * * @see org.aspectj.apache.bcel.verifier.statics.Pass3aVerifier */ @Override @@ -188,7 +188,7 @@ public final class Pass2Verifier extends PassVerifier implements Constants { * Pass2Verifier operates on has proper super classes (transitively) up to java.lang.Object. The reason for really loading (and * Pass1-verifying) all of those classes here is that we need them in Pass2 anyway to verify no final methods are overridden * (that could be declared anywhere in the ancestor hierarchy). - * + * * @throws ClassConstraintException otherwise. */ private void every_class_has_an_accessible_superclass() { @@ -229,7 +229,7 @@ public final class Pass2Verifier extends PassVerifier implements Constants { * Ensures that <B>final</B> methods are not overridden. <B>Precondition to run this method: * constant_pool_entries_satisfy_static_constraints() and every_class_has_an_accessible_superclass() have to be invoked before * (in that order).</B> - * + * * @throws ClassConstraintException otherwise. * @see #constant_pool_entries_satisfy_static_constraints() * @see #every_class_has_an_accessible_superclass() @@ -271,7 +271,7 @@ public final class Pass2Verifier extends PassVerifier implements Constants { /** * Ensures that the constant pool entries satisfy the static constraints as described in The Java Virtual Machine Specification, * 2nd Edition. - * + * * @throws ClassConstraintException otherwise. */ private void constant_pool_entries_satisfy_static_constraints() { @@ -285,7 +285,7 @@ public final class Pass2Verifier extends PassVerifier implements Constants { /** * A Visitor class that ensures the constant pool satisfies the static constraints. The visitXXX() methods throw * ClassConstraintException instances otherwise. - * + * * @see #constant_pool_entries_satisfy_static_constraints() */ private class CPESSC_Visitor extends org.aspectj.apache.bcel.verifier.EmptyClassVisitor { @@ -1225,7 +1225,7 @@ public final class Pass2Verifier extends PassVerifier implements Constants { * only the formal correctness (such as well-formed signatures). The visitXXX() methods throw ClassConstraintException instances * otherwise. <B>Precondition: index-style cross referencing in the constant pool must be valid. Simply invoke * constant_pool_entries_satisfy_static_constraints() before.</B> - * + * * @throws ClassConstraintException otherwise. * @see #constant_pool_entries_satisfy_static_constraints() */ @@ -1238,7 +1238,7 @@ public final class Pass2Verifier extends PassVerifier implements Constants { /** * A Visitor class that ensures the ConstantCP-subclassed entries of the constant pool are valid. <B>Precondition: index-style * cross referencing in the constant pool must be valid.</B> - * + * * @see #constant_pool_entries_satisfy_static_constraints() * @see org.aspectj.apache.bcel.classfile.ConstantCP */ @@ -1388,7 +1388,7 @@ public final class Pass2Verifier extends PassVerifier implements Constants { /** * This method returns true if and only if the supplied String represents a valid Java programming language method name stored - * as a simple (non-qualified) name. Conforming to: The Java Virtual Machine Specification, Second Edition, §2.7, §2.7.1, §2.2. + * as a simple (non-qualified) name. Conforming to: The Java Virtual Machine Specification, Second Edition, �2.7, �2.7.1, �2.2. */ private static boolean validJavaLangMethodName(String name) { if (!Character.isJavaIdentifierStart(name.charAt(0))) diff --git a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/statics/Pass3aVerifier.java b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/statics/Pass3aVerifier.java index 8afbdb5ea..d8c45d19d 100644 --- a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/statics/Pass3aVerifier.java +++ b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/statics/Pass3aVerifier.java @@ -21,7 +21,7 @@ package org.aspectj.apache.bcel.verifier.statics; * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." + * Apache Software Foundation (https://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * @@ -51,7 +51,7 @@ package org.aspectj.apache.bcel.verifier.statics; * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. + * <https://www.apache.org/>. */ import org.aspectj.apache.bcel.Constants; @@ -110,9 +110,9 @@ import org.aspectj.apache.bcel.verifier.exc.StaticCodeInstructionOperandConstrai /** * This PassVerifier verifies a class file according to pass 3, static part as described in The Java Virtual Machine Specification, * 2nd edition. More detailed information is to be found at the do_verify() method's documentation. - * + * * @version $Id: Pass3aVerifier.java,v 1.5 2009/09/10 15:35:06 aclement Exp $ - * @author <A HREF="http://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> + * @author <A HREF="https://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> * @see #do_verify() */ public final class Pass3aVerifier extends PassVerifier { @@ -148,7 +148,7 @@ public final class Pass3aVerifier extends PassVerifier { * Code attribute and correct line number entries in a LineNumberTable attribute of a Code attribute (which conceptually belong * to pass 2) to this pass. Also, most of the check for valid local variable entries in a LocalVariableTable attribute of a Code * attribute is delayed until this pass. All these checks need access to the code array of the Code attribute. - * + * * @throws InvalidMethodException if the method to verify does not exist. */ @Override @@ -211,7 +211,7 @@ public final class Pass3aVerifier extends PassVerifier { * These are the checks that could be done in pass 2 but are delayed to pass 3 for performance reasons. Also, these checks need * access to the code array of the Code attribute of a Method so it's okay to perform them here. Also see the description of the * do_verify() method. - * + * * @throws ClassConstraintException if the verification fails. * @see #do_verify() */ @@ -316,7 +316,7 @@ public final class Pass3aVerifier extends PassVerifier { /** * These are the checks if constraints are satisfied which are described in the Java Virtual Machine Specification, Second * Edition as Static Constraints on the instructions of Java Virtual Machine Code (chapter 4.8.1). - * + * * @throws StaticCodeConstraintException if the verification fails. */ private void pass3StaticInstructionChecks() { @@ -381,7 +381,7 @@ public final class Pass3aVerifier extends PassVerifier { * Second Edition as Static Constraints on the operands of instructions of Java Virtual Machine Code (chapter 4.8.1). BCEL * parses the code array to create an InstructionList and therefore has to check some of these constraints. Additional checks * are also implemented here. - * + * * @throws StaticCodeConstraintException if the verification fails. */ private void pass3StaticInstructionOperandsChecks() { diff --git a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/statics/StringRepresentation.java b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/statics/StringRepresentation.java index 6b9fa3912..6a9557029 100644 --- a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/statics/StringRepresentation.java +++ b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/statics/StringRepresentation.java @@ -21,7 +21,7 @@ package org.aspectj.apache.bcel.verifier.statics; * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." + * Apache Software Foundation (https://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * @@ -51,7 +51,7 @@ package org.aspectj.apache.bcel.verifier.statics; * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. + * <https://www.apache.org/>. */ import org.aspectj.apache.bcel.classfile.AnnotationDefault; @@ -107,7 +107,7 @@ import org.aspectj.apache.bcel.verifier.exc.AssertionViolatedException; * handling in future versions of JustIce. * * @version $Id: StringRepresentation.java,v 1.4 2009/09/15 19:40:22 aclement Exp $ - * @author <A HREF="http://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> + * @author <A HREF="https://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> */ public class StringRepresentation extends org.aspectj.apache.bcel.verifier.EmptyClassVisitor{ /** The string representation, created by a visitXXX() method, output by toString(). */ diff --git a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/statics/package.html b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/statics/package.html index a354da1b7..8eb5258cc 100644 --- a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/statics/package.html +++ b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/statics/package.html @@ -19,7 +19,7 @@ here. For a simple demonstration of JustIce working, please see: <ul> - <li><a href="http://www.inf.fu-berlin.de/~ehaase/cgi-html/Verifier.html">A WWW front-end for JustIce.</a> + <li><a href="https://www.inf.fu-berlin.de/~ehaase/cgi-html/Verifier.html">A WWW front-end for JustIce.</a> </ul> </body> diff --git a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/structurals/ControlFlowGraph.java b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/structurals/ControlFlowGraph.java index c5a54fde7..8c9cb1d75 100644 --- a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/structurals/ControlFlowGraph.java +++ b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/structurals/ControlFlowGraph.java @@ -21,7 +21,7 @@ package org.aspectj.apache.bcel.verifier.structurals; * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." + * Apache Software Foundation (https://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * @@ -51,7 +51,7 @@ package org.aspectj.apache.bcel.verifier.structurals; * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. + * <https://www.apache.org/>. */ import java.util.ArrayList; @@ -71,9 +71,9 @@ import org.aspectj.apache.bcel.verifier.exc.StructuralCodeConstraintException; /** * This class represents a control flow graph of a method. - * + * * @version $Id: ControlFlowGraph.java,v 1.4 2009/09/09 19:56:20 aclement Exp $ - * @author <A HREF="http://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> + * @author <A HREF="https://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> */ public class ControlFlowGraph { @@ -84,7 +84,7 @@ public class ControlFlowGraph { /** * The TAG field is here for external temporary flagging, such as graph colouring. - * + * * @see #getTag() * @see #setTag(int) */ @@ -167,7 +167,7 @@ public class ControlFlowGraph { * "inFrame". The execPreds ArrayList must contain the InstructionContext objects executed so far in the correct order. This * is just one execution path [out of many]. This is needed to correctly "merge" in the special case of a RET's successor. * <B>The InstConstraintVisitor and ExecutionVisitor instances must be set up correctly.</B> - * + * * @return true - if and only if the "outgoing" frame situation changed from the one before execute()ing. */ public boolean execute(Frame inFrame, ArrayList<InstructionContext> execPreds, InstConstraintVisitor icv, ExecutionVisitor ev) { diff --git a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/structurals/ExceptionHandler.java b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/structurals/ExceptionHandler.java index 3853a84dd..19db4de95 100644 --- a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/structurals/ExceptionHandler.java +++ b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/structurals/ExceptionHandler.java @@ -21,7 +21,7 @@ package org.aspectj.apache.bcel.verifier.structurals; * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." + * Apache Software Foundation (https://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * @@ -51,7 +51,7 @@ package org.aspectj.apache.bcel.verifier.structurals; * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. + * <https://www.apache.org/>. */ import org.aspectj.apache.bcel.generic.*; @@ -60,14 +60,14 @@ import org.aspectj.apache.bcel.generic.*; * This class represents an exception handler; that is, an ObjectType * representing a subclass of java.lang.Throwable and the instruction * the handler starts off (represented by an InstructionContext). - * + * * @version $Id: ExceptionHandler.java,v 1.2 2008/05/28 23:53:02 aclement Exp $ - * @author <A HREF="http://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> + * @author <A HREF="https://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> */ public class ExceptionHandler{ /** The type of the exception to catch. NULL means ANY. */ private ObjectType catchtype; - + /** The InstructionHandle where the handling begins. */ private InstructionHandle handlerpc; diff --git a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/structurals/ExceptionHandlers.java b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/structurals/ExceptionHandlers.java index 40abf8f7c..a66923d28 100644 --- a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/structurals/ExceptionHandlers.java +++ b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/structurals/ExceptionHandlers.java @@ -21,7 +21,7 @@ package org.aspectj.apache.bcel.verifier.structurals; * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." + * Apache Software Foundation (https://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * @@ -51,7 +51,7 @@ package org.aspectj.apache.bcel.verifier.structurals; * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. + * <https://www.apache.org/>. */ import org.aspectj.apache.bcel.generic.*; @@ -63,7 +63,7 @@ import java.util.Hashtable; * This class allows easy access to ExceptionHandler objects. * * @version $Id: ExceptionHandlers.java,v 1.3 2009/09/09 19:56:20 aclement Exp $ - * @author <A HREF="http://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> + * @author <A HREF="https://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> */ public class ExceptionHandlers{ /** @@ -71,7 +71,7 @@ public class ExceptionHandlers{ * Key: InstructionHandle objects, Values: HashSet<ExceptionHandler> instances. */ private Hashtable<InstructionHandle, HashSet<ExceptionHandler>> exceptionhandlers; - + /** * Constructor. Creates a new ExceptionHandlers instance. */ @@ -91,7 +91,7 @@ public class ExceptionHandlers{ } } } - + /** * Returns all the ExceptionHandler instances representing exception * handlers that protect the instruction ih. diff --git a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/structurals/ExecutionVisitor.java b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/structurals/ExecutionVisitor.java index d0326f7e6..2fc2f0f79 100644 --- a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/structurals/ExecutionVisitor.java +++ b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/structurals/ExecutionVisitor.java @@ -21,7 +21,7 @@ package org.aspectj.apache.bcel.verifier.structurals; * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." + * Apache Software Foundation (https://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * @@ -51,7 +51,7 @@ package org.aspectj.apache.bcel.verifier.structurals; * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. + * <https://www.apache.org/>. */ import org.aspectj.apache.bcel.Constants; @@ -92,7 +92,7 @@ import org.aspectj.apache.bcel.verifier.EmptyInstVisitor; * stack slot containing a Type.INT is pushed (where you could also * pop only one slot if you know there are two Type.INT on top of the * stack). Monitor-specific behaviour is not simulated. - * + * * </P><B>Conventions:</B> * * Type.VOID will never be pushed onto the stack. Type.DOUBLE and Type.LONG @@ -103,12 +103,12 @@ import org.aspectj.apache.bcel.verifier.EmptyInstVisitor; * is given the type Type.UNKNOWN. * * @version $Id: ExecutionVisitor.java,v 1.3 2008/08/28 00:02:13 aclement Exp $ - * @author <A HREF="http://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> + * @author <A HREF="https://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> * @see #visitDSTORE(DSTORE o) * @see InstConstraintVisitor */ public class ExecutionVisitor extends EmptyInstVisitor { - + /** * The executionframe we're operating on. */ @@ -147,7 +147,7 @@ public class ExecutionVisitor extends EmptyInstVisitor { public void setConstantPoolGen(ConstantPool cpg){ this.cpg = cpg; } - + /** * The only method granting access to the single instance of * the ExecutionVisitor class. Before actively using this @@ -158,7 +158,7 @@ public class ExecutionVisitor extends EmptyInstVisitor { this.frame = f; } - ///** Symbolically executes the corresponding Java Virtual Machine instruction. */ + ///** Symbolically executes the corresponding Java Virtual Machine instruction. */ //public void visitWIDE(WIDE o){ // The WIDE instruction is modelled as a flag // of the embedded instructions in BCEL. @@ -168,7 +168,7 @@ public class ExecutionVisitor extends EmptyInstVisitor { // here. //} - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitAALOAD(Instruction o){ stack().pop(); // pop the index int //System.out.print(stack().peek()); @@ -177,46 +177,46 @@ public class ExecutionVisitor extends EmptyInstVisitor { stack().push(Type.NULL); } // Do nothing stackwise --- a NullPointerException is thrown at Run-Time else{ - ArrayType at = (ArrayType) t; + ArrayType at = (ArrayType) t; stack().push(at.getElementType()); } } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitAASTORE(Instruction o){ stack().pop(); stack().pop(); stack().pop(); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitACONST_NULL(Instruction o){ stack().push(Type.NULL); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitALOAD(Instruction o){ stack().push(locals().get(o.getIndex())); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitANEWARRAY(Instruction o){ stack().pop(); //count stack().push( new ArrayType(o.getType(cpg), 1) ); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitARETURN(Instruction o){ stack().pop(); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitARRAYLENGTH(Instruction o){ stack().pop(); stack().push(Type.INT); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitASTORE(Instruction o){ locals().set(o.getIndex(), stack().pop()); //System.err.println("TODO-DEBUG: set LV '"+o.getIndex()+"' to '"+locals().get(o.getIndex())+"'."); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitATHROW(Instruction o){ Type t = stack().pop(); stack().clear(); @@ -226,38 +226,38 @@ public class ExecutionVisitor extends EmptyInstVisitor { stack().push(t); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitBALOAD(Instruction o){ stack().pop(); stack().pop(); stack().push(Type.INT); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitBASTORE(Instruction o){ stack().pop(); stack().pop(); stack().pop(); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitBIPUSH(Instruction o){ stack().push(Type.INT); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitCALOAD(Instruction o){ stack().pop(); stack().pop(); stack().push(Type.INT); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitCASTORE(Instruction o){ stack().pop(); stack().pop(); stack().pop(); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitCHECKCAST(Instruction o){ // It's possibly wrong to do so, but SUN's // ByteCode verifier seems to do (only) this, too. @@ -268,104 +268,104 @@ public class ExecutionVisitor extends EmptyInstVisitor { stack().push(o.getType(cpg)); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitD2F(Instruction o){ stack().pop(); stack().push(Type.FLOAT); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitD2I(Instruction o){ stack().pop(); stack().push(Type.INT); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitD2L(Instruction o){ stack().pop(); stack().push(Type.LONG); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitDADD(Instruction o){ stack().pop(); stack().pop(); stack().push(Type.DOUBLE); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitDALOAD(Instruction o){ stack().pop(); stack().pop(); stack().push(Type.DOUBLE); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitDASTORE(Instruction o){ stack().pop(); stack().pop(); stack().pop(); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitDCMPG(Instruction o){ stack().pop(); stack().pop(); stack().push(Type.INT); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitDCMPL(Instruction o){ stack().pop(); stack().pop(); stack().push(Type.INT); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitDCONST(Instruction o){ stack().push(Type.DOUBLE); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitDDIV(Instruction o){ stack().pop(); stack().pop(); stack().push(Type.DOUBLE); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitDLOAD(Instruction o){ stack().push(Type.DOUBLE); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitDMUL(Instruction o){ stack().pop(); stack().pop(); stack().push(Type.DOUBLE); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitDNEG(Instruction o){ stack().pop(); stack().push(Type.DOUBLE); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitDREM(Instruction o){ stack().pop(); stack().pop(); stack().push(Type.DOUBLE); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitDRETURN(Instruction o){ stack().pop(); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitDSTORE(Instruction o){ locals().set(o.getIndex(), stack().pop()); locals().set(o.getIndex()+1, Type.UNKNOWN); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitDSUB(Instruction o){ stack().pop(); stack().pop(); stack().push(Type.DOUBLE); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitDUP(Instruction o){ Type t = stack().pop(); stack().push(t); stack().push(t); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitDUP_X1(Instruction o){ Type w1 = stack().pop(); Type w2 = stack().pop(); @@ -373,7 +373,7 @@ public class ExecutionVisitor extends EmptyInstVisitor { stack().push(w2); stack().push(w1); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitDUP_X2(Instruction o){ Type w1 = stack().pop(); Type w2 = stack().pop(); @@ -390,7 +390,7 @@ public class ExecutionVisitor extends EmptyInstVisitor { stack().push(w1); } } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitDUP2(Instruction o){ Type t = stack().pop(); if (t.getSize() == 2){ @@ -405,7 +405,7 @@ public class ExecutionVisitor extends EmptyInstVisitor { stack().push(t); } } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitDUP2_X1(Instruction o){ Type t = stack().pop(); if (t.getSize() == 2){ @@ -424,7 +424,7 @@ public class ExecutionVisitor extends EmptyInstVisitor { stack().push(t); } } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitDUP2_X2(Instruction o){ Type t = stack().pop(); if (t.getSize() == 2){ @@ -461,97 +461,97 @@ public class ExecutionVisitor extends EmptyInstVisitor { } } } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitF2D(Instruction o){ stack().pop(); stack().push(Type.DOUBLE); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitF2I(Instruction o){ stack().pop(); stack().push(Type.INT); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitF2L(Instruction o){ stack().pop(); stack().push(Type.LONG); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitFADD(Instruction o){ stack().pop(); stack().pop(); stack().push(Type.FLOAT); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitFALOAD(Instruction o){ stack().pop(); stack().pop(); stack().push(Type.FLOAT); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitFASTORE(Instruction o){ stack().pop(); stack().pop(); stack().pop(); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitFCMPG(Instruction o){ stack().pop(); stack().pop(); stack().push(Type.INT); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitFCMPL(Instruction o){ stack().pop(); stack().pop(); stack().push(Type.INT); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitFCONST(Instruction o){ stack().push(Type.FLOAT); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitFDIV(Instruction o){ stack().pop(); stack().pop(); stack().push(Type.FLOAT); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitFLOAD(Instruction o){ stack().push(Type.FLOAT); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitFMUL(Instruction o){ stack().pop(); stack().pop(); stack().push(Type.FLOAT); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitFNEG(Instruction o){ stack().pop(); stack().push(Type.FLOAT); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitFREM(Instruction o){ stack().pop(); stack().pop(); stack().push(Type.FLOAT); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitFRETURN(Instruction o){ stack().pop(); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitFSTORE(Instruction o){ locals().set(o.getIndex(), stack().pop()); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitFSUB(Instruction o){ stack().pop(); stack().pop(); stack().push(Type.FLOAT); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitGETFIELD(FieldInstruction o){ stack().pop(); Type t = o.getFieldType(cpg); @@ -562,7 +562,7 @@ public class ExecutionVisitor extends EmptyInstVisitor { t = Type.INT; stack().push(t); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitGETSTATIC(FieldInstruction o){ Type t = o.getFieldType(cpg); if ( t.equals(Type.BOOLEAN) || @@ -572,175 +572,175 @@ public class ExecutionVisitor extends EmptyInstVisitor { t = Type.INT; stack().push(t); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitGOTO(Instruction o){ // no stack changes. } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitGOTO_W(Instruction o){ // no stack changes. } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitI2B(Instruction o){ stack().pop(); stack().push(Type.INT); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitI2C(Instruction o){ stack().pop(); stack().push(Type.INT); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitI2D(Instruction o){ stack().pop(); stack().push(Type.DOUBLE); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitI2F(Instruction o){ stack().pop(); stack().push(Type.FLOAT); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitI2L(Instruction o){ stack().pop(); stack().push(Type.LONG); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitI2S(Instruction o){ stack().pop(); stack().push(Type.INT); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitIADD(Instruction o){ stack().pop(); stack().pop(); stack().push(Type.INT); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitIALOAD(Instruction o){ stack().pop(); stack().pop(); stack().push(Type.INT); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitIAND(Instruction o){ stack().pop(); stack().pop(); stack().push(Type.INT); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitIASTORE(Instruction o){ stack().pop(); stack().pop(); stack().pop(); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitICONST(Instruction o){ stack().push(Type.INT); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitIDIV(Instruction o){ stack().pop(); stack().pop(); stack().push(Type.INT); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitIF_ACMPEQ(Instruction o){ stack().pop(); stack().pop(); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitIF_ACMPNE(Instruction o){ stack().pop(); stack().pop(); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitIF_ICMPEQ(Instruction o){ stack().pop(); stack().pop(); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitIF_ICMPGE(Instruction o){ stack().pop(); stack().pop(); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitIF_ICMPGT(Instruction o){ stack().pop(); stack().pop(); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitIF_ICMPLE(Instruction o){ stack().pop(); stack().pop(); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitIF_ICMPLT(Instruction o){ stack().pop(); stack().pop(); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitIF_ICMPNE(Instruction o){ stack().pop(); stack().pop(); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitIFEQ(Instruction o){ stack().pop(); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitIFGE(Instruction o){ stack().pop(); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitIFGT(Instruction o){ stack().pop(); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitIFLE(Instruction o){ stack().pop(); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitIFLT(Instruction o){ stack().pop(); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitIFNE(Instruction o){ stack().pop(); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitIFNONNULL(Instruction o){ stack().pop(); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitIFNULL(Instruction o){ stack().pop(); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitIINC(IINC o){ // stack is not changed. } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitILOAD(Instruction o){ stack().push(Type.INT); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitIMUL(Instruction o){ stack().pop(); stack().pop(); stack().push(Type.INT); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitINEG(Instruction o){ stack().pop(); stack().push(Type.INT); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitINSTANCEOF(Instruction o){ stack().pop(); stack().push(Type.INT); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitINVOKEINTERFACE(INVOKEINTERFACE o){ stack().pop(); //objectref for (int i=0; i<o.getArgumentTypes(cpg).length; i++){ @@ -760,11 +760,11 @@ public class ExecutionVisitor extends EmptyInstVisitor { stack().push(t); } } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitINVOKESPECIAL(InvokeInstruction o){ if (o.getMethodName(cpg).equals(Constants.CONSTRUCTOR_NAME)){ UninitializedObjectType t = (UninitializedObjectType) stack().peek(o.getArgumentTypes(cpg).length); - if (t == Frame._this){ + if (t == Frame._this){ Frame._this = null; } stack().initializeObject(t); @@ -788,7 +788,7 @@ public class ExecutionVisitor extends EmptyInstVisitor { stack().push(t); } } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitINVOKESTATIC(InvokeInstruction o){ for (int i=0; i<o.getArgumentTypes(cpg).length; i++){ stack().pop(); @@ -807,7 +807,7 @@ public class ExecutionVisitor extends EmptyInstVisitor { stack().push(t); } } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitINVOKEVIRTUAL(InvokeInstruction o){ stack().pop(); //objectref for (int i=0; i<o.getArgumentTypes(cpg).length; i++){ @@ -827,118 +827,118 @@ public class ExecutionVisitor extends EmptyInstVisitor { stack().push(t); } } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitIOR(Instruction o){ stack().pop(); stack().pop(); stack().push(Type.INT); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitIREM(Instruction o){ stack().pop(); stack().pop(); stack().push(Type.INT); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitIRETURN(Instruction o){ stack().pop(); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitISHL(Instruction o){ stack().pop(); stack().pop(); stack().push(Type.INT); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitISHR(Instruction o){ stack().pop(); stack().pop(); stack().push(Type.INT); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitISTORE(Instruction o){ locals().set(o.getIndex(), stack().pop()); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitISUB(Instruction o){ stack().pop(); stack().pop(); stack().push(Type.INT); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitIUSHR(Instruction o){ stack().pop(); stack().pop(); stack().push(Type.INT); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitIXOR(Instruction o){ stack().pop(); stack().pop(); stack().push(Type.INT); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitJSR(InstructionBranch o){ stack().push(new ReturnaddressType(o.physicalSuccessor())); //System.err.println("TODO-----------:"+o.physicalSuccessor()); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitJSR_W(InstructionBranch o){ stack().push(new ReturnaddressType(o.physicalSuccessor())); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitL2D(Instruction o){ stack().pop(); stack().push(Type.DOUBLE); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitL2F(Instruction o){ stack().pop(); stack().push(Type.FLOAT); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitL2I(Instruction o){ stack().pop(); stack().push(Type.INT); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitLADD(Instruction o){ stack().pop(); stack().pop(); stack().push(Type.LONG); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitLALOAD(Instruction o){ stack().pop(); stack().pop(); stack().push(Type.LONG); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitLAND(Instruction o){ stack().pop(); stack().pop(); stack().push(Type.LONG); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitLASTORE(Instruction o){ stack().pop(); stack().pop(); stack().pop(); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitLCMP(Instruction o){ stack().pop(); stack().pop(); stack().push(Type.INT); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitLCONST(Instruction o){ stack().push(Type.LONG); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitLDC(Instruction o){ Constant c = cpg.getConstant(o.getIndex()); if (c instanceof ConstantInteger){ @@ -951,7 +951,7 @@ public class ExecutionVisitor extends EmptyInstVisitor { stack().push(Type.STRING); } } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitLDC_W(Instruction o){ Constant c = cpg.getConstant(o.getIndex()); if (c instanceof ConstantInteger){ @@ -964,7 +964,7 @@ public class ExecutionVisitor extends EmptyInstVisitor { stack().push(Type.STRING); } } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitLDC2_W(Instruction o){ Constant c = cpg.getConstant(o.getIndex()); if (c instanceof ConstantLong){ @@ -974,162 +974,162 @@ public class ExecutionVisitor extends EmptyInstVisitor { stack().push(Type.DOUBLE); } } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitLDIV(Instruction o){ stack().pop(); stack().pop(); stack().push(Type.LONG); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitLLOAD(Instruction o){ stack().push(locals().get(o.getIndex())); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitLMUL(Instruction o){ stack().pop(); stack().pop(); stack().push(Type.LONG); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitLNEG(Instruction o){ stack().pop(); stack().push(Type.LONG); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitLOOKUPSWITCH(LOOKUPSWITCH o){ stack().pop(); //key } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitLOR(Instruction o){ stack().pop(); stack().pop(); stack().push(Type.LONG); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitLREM(Instruction o){ stack().pop(); stack().pop(); stack().push(Type.LONG); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitLRETURN(Instruction o){ stack().pop(); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitLSHL(Instruction o){ stack().pop(); stack().pop(); stack().push(Type.LONG); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitLSHR(Instruction o){ stack().pop(); stack().pop(); stack().push(Type.LONG); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitLSTORE(Instruction o){ locals().set(o.getIndex(), stack().pop()); - locals().set(o.getIndex()+1, Type.UNKNOWN); + locals().set(o.getIndex()+1, Type.UNKNOWN); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitLSUB(Instruction o){ stack().pop(); stack().pop(); stack().push(Type.LONG); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitLUSHR(Instruction o){ stack().pop(); stack().pop(); stack().push(Type.LONG); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitLXOR(Instruction o){ stack().pop(); stack().pop(); stack().push(Type.LONG); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitMONITORENTER(Instruction o){ stack().pop(); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitMONITOREXIT(Instruction o){ stack().pop(); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitMULTIANEWARRAY(MULTIANEWARRAY o){ for (int i=0; i<o.getDimensions(); i++){ stack().pop(); } stack().push(o.getType(cpg)); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitNEW(Instruction o){ stack().push(new UninitializedObjectType((ObjectType) (o.getType(cpg)))); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitNEWARRAY(Instruction o){ stack().pop(); stack().push(((InstructionByte)o).getType()); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitNOP(Instruction o){ } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitPOP(Instruction o){ stack().pop(); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitPOP2(Instruction o){ Type t = stack().pop(); if (t.getSize() == 1){ stack().pop(); - } + } } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitPUTFIELD(FieldInstruction o){ stack().pop(); stack().pop(); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitPUTSTATIC(FieldInstruction o){ stack().pop(); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitRET(RET o){ // do nothing, return address // is in in the local variables. } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitRETURN(Instruction o){ // do nothing. } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitSALOAD(Instruction o){ stack().pop(); stack().pop(); stack().push(Type.INT); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitSASTORE(Instruction o){ stack().pop(); stack().pop(); stack().pop(); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitSIPUSH(Instruction o){ stack().push(Type.INT); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitSWAP(Instruction o){ Type t = stack().pop(); Type u = stack().pop(); stack().push(t); stack().push(u); } - /** Symbolically executes the corresponding Java Virtual Machine instruction. */ + /** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitTABLESWITCH(TABLESWITCH o){ stack().pop(); } diff --git a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/structurals/Frame.java b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/structurals/Frame.java index 97ad612ed..b70c731cb 100644 --- a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/structurals/Frame.java +++ b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/structurals/Frame.java @@ -21,7 +21,7 @@ package org.aspectj.apache.bcel.verifier.structurals; * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." + * Apache Software Foundation (https://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * @@ -51,7 +51,7 @@ package org.aspectj.apache.bcel.verifier.structurals; * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. + * <https://www.apache.org/>. */ @@ -60,9 +60,9 @@ package org.aspectj.apache.bcel.verifier.structurals; * a local variable array and an operand stack. * * @version $Id: Frame.java,v 1.2 2008/05/28 23:53:03 aclement Exp $ - * @author <A HREF="http://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> + * @author <A HREF="https://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> */ - + public class Frame{ /** diff --git a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/structurals/GenericArray.java b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/structurals/GenericArray.java index 6b9a6ec25..895473cd3 100644 --- a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/structurals/GenericArray.java +++ b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/structurals/GenericArray.java @@ -21,7 +21,7 @@ package org.aspectj.apache.bcel.verifier.structurals; * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." + * Apache Software Foundation (https://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * @@ -51,7 +51,7 @@ package org.aspectj.apache.bcel.verifier.structurals; * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. + * <https://www.apache.org/>. */ /** @@ -60,7 +60,7 @@ package org.aspectj.apache.bcel.verifier.structurals; * and java.io.Serializable and they extend java.lang.Object. * * @version $Id: GenericArray.java,v 1.2 2008/05/28 23:53:03 aclement Exp $ - * @author <A HREF="http://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> - */ + * @author <A HREF="https://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> + */ public class GenericArray extends java.lang.Object implements java.lang.Cloneable, java.io.Serializable{ } diff --git a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/structurals/InstConstraintVisitor.java b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/structurals/InstConstraintVisitor.java index 7c146ced7..e1e8f5f33 100644 --- a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/structurals/InstConstraintVisitor.java +++ b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/structurals/InstConstraintVisitor.java @@ -21,7 +21,7 @@ package org.aspectj.apache.bcel.verifier.structurals; * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." + * Apache Software Foundation (https://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * @@ -51,7 +51,7 @@ package org.aspectj.apache.bcel.verifier.structurals; * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. + * <https://www.apache.org/>. */ import org.aspectj.apache.bcel.Constants; @@ -71,7 +71,7 @@ import org.aspectj.apache.bcel.verifier.EmptyInstVisitor; import org.aspectj.apache.bcel.verifier.VerificationResult; import org.aspectj.apache.bcel.verifier.Verifier; import org.aspectj.apache.bcel.verifier.VerifierFactory; -import org.aspectj.apache.bcel.verifier.exc.*; +import org.aspectj.apache.bcel.verifier.exc.*; import org.aspectj.apache.bcel.generic.ArrayType; import org.aspectj.apache.bcel.generic.FieldInstruction; import org.aspectj.apache.bcel.generic.IINC; @@ -100,7 +100,7 @@ import org.aspectj.apache.bcel.generic.Type; * MONITOREXIT) is not modeled in JustIce. * * @version $Id: InstConstraintVisitor.java,v 1.3 2008/08/28 00:02:13 aclement Exp $ - * @author <A HREF="http://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> + * @author <A HREF="https://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> * @see org.aspectj.apache.bcel.verifier.exc.StructuralCodeConstraintException * @see org.aspectj.apache.bcel.verifier.exc.LinkingConstraintException */ @@ -126,7 +126,7 @@ public class InstConstraintVisitor extends EmptyInstVisitor { /** * The MethodGen we're working on. - * + * * @see #setMethodGen(MethodGen mg) */ private MethodGen mg = null; @@ -177,7 +177,7 @@ public class InstConstraintVisitor extends EmptyInstVisitor { /** * Sets the ConstantPoolGen instance needed for constraint * checking prior to execution. - */ + */ public void setConstantPoolGen(ConstantPool cpg){ this.cpg = cpg; } @@ -285,7 +285,7 @@ public class InstConstraintVisitor extends EmptyInstVisitor { public void visitStackConsumer(Instruction o){ _visitStackAccessor(o); } - + /** * Ensures the general preconditions of a StackProducer instance. */ @@ -310,7 +310,7 @@ public class InstConstraintVisitor extends EmptyInstVisitor { // visitLoadClass(o) has been called before: Every FieldOrMethod // implements LoadClass. // visitCPInstruction(o) has been called before. - // A FieldInstruction may be: GETFIELD, GETSTATIC, PUTFIELD, PUTSTATIC + // A FieldInstruction may be: GETFIELD, GETSTATIC, PUTFIELD, PUTSTATIC Constant c = cpg.getConstant(o.getIndex()); if (!(c instanceof ConstantFieldref)){ constraintViolated(o, "Index '"+o.getIndex()+"' should refer to a CONSTANT_Fieldref_info structure, but refers to '"+c+"'."); @@ -326,14 +326,14 @@ public class InstConstraintVisitor extends EmptyInstVisitor { } } } - + public void visitInvokeInstruction(InvokeInstruction o){ // visitLoadClass(o) has been called before: Every FieldOrMethod // implements LoadClass. // visitCPInstruction(o) has been called before. //TODO } - + public void visitStackInstruction(Instruction o){ _visitStackAccessor(o); } @@ -347,7 +347,7 @@ public class InstConstraintVisitor extends EmptyInstVisitor { constraintViolated(o, "The 'index' is not a valid index into the local variable array."); } } - + public void visitLoadInstruction(Instruction o){ //visitLocalVariableInstruction(o) is called before, because it is more generic. @@ -450,12 +450,12 @@ public class InstConstraintVisitor extends EmptyInstVisitor { public void visitAALOAD(Instruction o){ Type arrayref = stack().peek(1); Type index = stack().peek(0); - + indexOfInt(o, index); if (arrayrefOfArrayType(o, arrayref)){ if (! (((ArrayType) arrayref).getElementType() instanceof ReferenceType)){ constraintViolated(o, "The 'arrayref' does not refer to an array with elements of a ReferenceType but to an array of "+((ArrayType) arrayref).getElementType()+"."); - } + } referenceTypeIsInitialized(o, (ReferenceType) (((ArrayType) arrayref).getElementType())); } } @@ -475,7 +475,7 @@ public class InstConstraintVisitor extends EmptyInstVisitor { referenceTypeIsInitialized(o, (ReferenceType) value); } // Don't bother further with "referenceTypeIsInitialized()", there are no arrays - // of an uninitialized object type. + // of an uninitialized object type. if (arrayrefOfArrayType(o, arrayref)){ if (! (((ArrayType) arrayref).getElementType() instanceof ReferenceType)){ constraintViolated(o, "The 'arrayref' does not refer to an array with elements of a ReferenceType but to an array of "+((ArrayType) arrayref).getElementType()+"."); @@ -501,7 +501,7 @@ public class InstConstraintVisitor extends EmptyInstVisitor { // The runtime constant pool item at that index must be a symbolic reference to a class, // array, or interface type. See Pass 3a. } - + /** * Ensures the specific preconditions of the said instruction. */ @@ -511,7 +511,7 @@ public class InstConstraintVisitor extends EmptyInstVisitor { } ReferenceType objectref = (ReferenceType) (stack().peek()); referenceTypeIsInitialized(o, objectref); - + // The check below should already done via visitReturnInstruction(ReturnInstruction), see there. // It cannot be done using Staerk-et-al's "set of object types" instead of a // "wider cast object type", anyway. @@ -549,10 +549,10 @@ public class InstConstraintVisitor extends EmptyInstVisitor { if (! ((stack().peek() instanceof ObjectType) || (stack().peek().equals(Type.NULL))) ){ constraintViolated(o, "The 'objectref' is not of an (initialized) ObjectType but of type "+stack().peek()+"."); } - + // NULL is a subclass of every class, so to speak. if (stack().peek().equals(Type.NULL)) return; - + ObjectType exc = (ObjectType) (stack().peek()); ObjectType throwable = (ObjectType) (Type.getType("Ljava/lang/Throwable;")); if ( (! (exc.subclassOf(throwable)) ) && (! (exc.equals(throwable))) ){ @@ -612,7 +612,7 @@ public class InstConstraintVisitor extends EmptyInstVisitor { public void visitCALOAD(Instruction o){ Type arrayref = stack().peek(1); Type index = stack().peek(0); - + indexOfInt(o, index); arrayrefOfArrayType(o, arrayref); } @@ -624,7 +624,7 @@ public class InstConstraintVisitor extends EmptyInstVisitor { Type arrayref = stack().peek(2); Type index = stack().peek(1); Type value = stack().peek(0); - + indexOfInt(o, index); valueOfInt(o, value); if (arrayrefOfArrayType(o, arrayref)){ @@ -647,7 +647,7 @@ public class InstConstraintVisitor extends EmptyInstVisitor { referenceTypeIsInitialized(o, (ReferenceType) objectref); } // The unsigned indexbyte1 and indexbyte2 are used to construct an index into the runtime constant pool of the - // current class (§3.6), where the value of the index is (indexbyte1 << 8) | indexbyte2. The runtime constant + // current class (�3.6), where the value of the index is (indexbyte1 << 8) | indexbyte2. The runtime constant // pool item at the index must be a symbolic reference to a class, array, or interface type. Constant c = cpg.getConstant(o.getIndex()); if (! (c instanceof ConstantClass)){ @@ -670,7 +670,7 @@ public class InstConstraintVisitor extends EmptyInstVisitor { indexOfInt(o, stack().peek()); if (stack().peek(1) == Type.NULL){ return; - } + } if (! (stack().peek(1) instanceof ArrayType)){ constraintViolated(o, "Stack next-to-top must be of type double[] but is '"+stack().peek(1)+"'."); } @@ -687,7 +687,7 @@ public class InstConstraintVisitor extends EmptyInstVisitor { indexOfInt(o, stack().peek(1)); if (stack().peek(2) == Type.NULL){ return; - } + } if (! (stack().peek(2) instanceof ArrayType)){ constraintViolated(o, "Stack next-to-next-to-top must be of type double[] but is '"+stack().peek(2)+"'."); } @@ -714,7 +714,7 @@ public class InstConstraintVisitor extends EmptyInstVisitor { public void visitDCONST(Instruction o){ // There's nothing to be done here. } - + public void visitDDIV(Instruction o){ checkTop(o,Type.DOUBLE); if (stack().peek(1) != Type.DOUBLE){ @@ -724,7 +724,7 @@ public class InstConstraintVisitor extends EmptyInstVisitor { public void visitDLOAD(Instruction o){ //visitLoadInstruction(LoadInstruction) is called before. - + // Nothing else needs to be done here. } @@ -745,9 +745,9 @@ public class InstConstraintVisitor extends EmptyInstVisitor { constraintViolated(o, "The value at the stack next-to-top is not of type 'double', but of type '"+stack().peek(1)+"'."); } } - + private void checkTop(Instruction o,Type t) { - if (stack().peek()!=t) + if (stack().peek()!=t) constraintViolated(o, "The value at the stack top is not of type '"+t+"', but of type '"+stack().peek()+"'."); } @@ -763,7 +763,7 @@ public class InstConstraintVisitor extends EmptyInstVisitor { */ public void visitDSTORE(Instruction o){ //visitStoreInstruction(StoreInstruction) is called before. - + // Nothing else needs to be done here. } @@ -902,7 +902,7 @@ public class InstConstraintVisitor extends EmptyInstVisitor { public void visitF2L(Instruction o){ checkTop(o,Type.FLOAT); } - + /** * Ensures the specific preconditions of the said instruction. */ @@ -920,7 +920,7 @@ public class InstConstraintVisitor extends EmptyInstVisitor { indexOfInt(o, stack().peek()); if (stack().peek(1) == Type.NULL){ return; - } + } if (! (stack().peek(1) instanceof ArrayType)){ constraintViolated(o, "Stack next-to-top must be of type float[] but is '"+stack().peek(1)+"'."); } @@ -938,7 +938,7 @@ public class InstConstraintVisitor extends EmptyInstVisitor { indexOfInt(o, stack().peek(1)); if (stack().peek(2) == Type.NULL){ return; - } + } if (! (stack().peek(2) instanceof ArrayType)){ constraintViolated(o, "Stack next-to-next-to-top must be of type float[] but is '"+stack().peek(2)+"'."); } @@ -990,7 +990,7 @@ public class InstConstraintVisitor extends EmptyInstVisitor { */ public void visitFLOAD(Instruction o){ //visitLoadInstruction(LoadInstruction) is called before. - + // Nothing else needs to be done here. } @@ -1033,7 +1033,7 @@ public class InstConstraintVisitor extends EmptyInstVisitor { */ public void visitFSTORE(Instruction o){ //visitStoreInstruction(StoreInstruction) is called before. - + // Nothing else needs to be done here. } @@ -1057,9 +1057,9 @@ public class InstConstraintVisitor extends EmptyInstVisitor { if (! ( (objectref instanceof ObjectType) || (objectref == Type.NULL) ) ){ constraintViolated(o, "Stack top should be an object reference that's not an array reference, but is '"+objectref+"'."); } - + String field_name = o.getFieldName(cpg); - + JavaClass jc = Repository.lookupClass(o.getClassType(cpg).getClassName()); Field[] fields = jc.getFields(); Field f = null; @@ -1094,9 +1094,9 @@ public class InstConstraintVisitor extends EmptyInstVisitor { // "Wider" object types don't allow us to check for things like that below. //constraintViolated(o, "The referenced field has the ACC_PROTECTED modifier, and it's a member of the current class or a superclass of the current class. However, the referenced object type '"+stack().peek()+"' is not the current class or a subclass of the current class."); } - } + } } - + // TODO: Could go into Pass 3a. if (f.isStatic()){ constraintViolated(o, "Referenced field '"+f+"' is static which it shouldn't be."); @@ -1169,7 +1169,7 @@ public class InstConstraintVisitor extends EmptyInstVisitor { indexOfInt(o, stack().peek()); if (stack().peek(1) == Type.NULL){ return; - } + } if (! (stack().peek(1) instanceof ArrayType)){ constraintViolated(o, "Stack next-to-top must be of type int[] but is '"+stack().peek(1)+"'."); } @@ -1201,7 +1201,7 @@ public class InstConstraintVisitor extends EmptyInstVisitor { indexOfInt(o, stack().peek(1)); if (stack().peek(2) == Type.NULL){ return; - } + } if (! (stack().peek(2) instanceof ArrayType)){ constraintViolated(o, "Stack next-to-next-to-top must be of type int[] but is '"+stack().peek(2)+"'."); } @@ -1236,12 +1236,12 @@ public class InstConstraintVisitor extends EmptyInstVisitor { constraintViolated(o, "The value at the stack top is not of a ReferenceType, but of type '"+stack().peek()+"'."); } referenceTypeIsInitialized(o, (ReferenceType) (stack().peek()) ); - + if (!(stack().peek(1) instanceof ReferenceType)){ constraintViolated(o, "The value at the stack next-to-top is not of a ReferenceType, but of type '"+stack().peek(1)+"'."); } referenceTypeIsInitialized(o, (ReferenceType) (stack().peek(1)) ); - + } /** @@ -1391,7 +1391,7 @@ public class InstConstraintVisitor extends EmptyInstVisitor { if (!(stack().peek() instanceof ReferenceType)){ constraintViolated(o, "The value at the stack top is not of a ReferenceType, but of type '"+stack().peek()+"'."); } - referenceTypeIsInitialized(o, (ReferenceType) (stack().peek()) ); + referenceTypeIsInitialized(o, (ReferenceType) (stack().peek()) ); } /** @@ -1401,7 +1401,7 @@ public class InstConstraintVisitor extends EmptyInstVisitor { if (!(stack().peek() instanceof ReferenceType)){ constraintViolated(o, "The value at the stack top is not of a ReferenceType, but of type '"+stack().peek()+"'."); } - referenceTypeIsInitialized(o, (ReferenceType) (stack().peek()) ); + referenceTypeIsInitialized(o, (ReferenceType) (stack().peek()) ); } /** @@ -1471,7 +1471,7 @@ public class InstConstraintVisitor extends EmptyInstVisitor { referenceTypeIsInitialized(o, (ReferenceType) objectref); } // The unsigned indexbyte1 and indexbyte2 are used to construct an index into the runtime constant pool of the - // current class (§3.6), where the value of the index is (indexbyte1 << 8) | indexbyte2. The runtime constant + // current class (�3.6), where the value of the index is (indexbyte1 << 8) | indexbyte2. The runtime constant // pool item at the index must be a symbolic reference to a class, array, or interface type. Constant c = cpg.getConstant(o.getIndex()); if (! (c instanceof ConstantClass)){ @@ -1484,7 +1484,7 @@ public class InstConstraintVisitor extends EmptyInstVisitor { */ public void visitINVOKEINTERFACE(INVOKEINTERFACE o){ // Method is not native, otherwise pass 3 would not happen. - + int count = o.getCount(); if (count == 0){ constraintViolated(o, "The 'count' argument must not be 0."); @@ -1492,7 +1492,7 @@ public class InstConstraintVisitor extends EmptyInstVisitor { // It is a ConstantInterfaceMethodref, Pass 3a made it sure. // TODO: Do we want to do anything with it? //ConstantInterfaceMethodref cimr = (ConstantInterfaceMethodref) (cpg.getConstant(o.getIndex())); - + // the o.getClassType(cpg) type has passed pass 2; see visitLoadClass(o). Type t = o.getType(cpg); @@ -1508,7 +1508,7 @@ public class InstConstraintVisitor extends EmptyInstVisitor { Type[] argtypes = o.getArgumentTypes(cpg); int nargs = argtypes.length; - + for (int i=nargs-1; i>=0; i--){ Type fromStack = stack().peek( (nargs-1) - i ); // 0 to nargs-1 Type fromDesc = argtypes[i]; @@ -1533,7 +1533,7 @@ public class InstConstraintVisitor extends EmptyInstVisitor { } } } - + Type objref = stack().peek(nargs); if (objref == Type.NULL){ return; @@ -1550,14 +1550,14 @@ public class InstConstraintVisitor extends EmptyInstVisitor { objref = GENERIC_ARRAY; } } - + // String objref_classname = ((ObjectType) objref).getClassName(); // String theInterface = o.getClassName(cpg); // TODO: This can only be checked if we're using Staerk-et-al's "set of object types" // instead of "wider cast object types" generated during verification. //if ( ! Repository.implementationOf(objref_classname, theInterface) ){ // constraintViolated(o, "The 'objref' item '"+objref+"' does not implement '"+theInterface+"' as expected."); - //} + //} int counted_count = 1; // 1 for the objectref for (int i=0; i<nargs; i++){ @@ -1592,7 +1592,7 @@ public class InstConstraintVisitor extends EmptyInstVisitor { Type[] argtypes = o.getArgumentTypes(cpg); int nargs = argtypes.length; - + for (int i=nargs-1; i>=0; i--){ Type fromStack = stack().peek( (nargs-1) - i ); // 0 to nargs-1 Type fromDesc = argtypes[i]; @@ -1617,7 +1617,7 @@ public class InstConstraintVisitor extends EmptyInstVisitor { } } } - + Type objref = stack().peek(nargs); if (objref == Type.NULL){ return; @@ -1637,7 +1637,7 @@ public class InstConstraintVisitor extends EmptyInstVisitor { } } - objref_classname = ((ObjectType) objref).getClassName(); + objref_classname = ((ObjectType) objref).getClassName(); } else{ if (!(objref instanceof UninitializedObjectType)){ @@ -1645,13 +1645,13 @@ public class InstConstraintVisitor extends EmptyInstVisitor { } objref_classname = ((UninitializedObjectType) objref).getInitialized().getClassName(); } - + String theClass = o.getClassName(cpg); if ( ! Repository.instanceOf(objref_classname, theClass) ){ constraintViolated(o, "The 'objref' item '"+objref+"' does not implement '"+theClass+"' as expected."); - } - + } + } /** @@ -1659,7 +1659,7 @@ public class InstConstraintVisitor extends EmptyInstVisitor { */ public void visitINVOKESTATIC(InvokeInstruction o){ // Method is not native, otherwise pass 3 would not happen. - + Type t = o.getType(cpg); if (t instanceof ObjectType){ String name = ((ObjectType)t).getClassName(); @@ -1672,7 +1672,7 @@ public class InstConstraintVisitor extends EmptyInstVisitor { Type[] argtypes = o.getArgumentTypes(cpg); int nargs = argtypes.length; - + for (int i=nargs-1; i>=0; i--){ Type fromStack = stack().peek( (nargs-1) - i ); // 0 to nargs-1 Type fromDesc = argtypes[i]; @@ -1718,7 +1718,7 @@ public class InstConstraintVisitor extends EmptyInstVisitor { Type[] argtypes = o.getArgumentTypes(cpg); int nargs = argtypes.length; - + for (int i=nargs-1; i>=0; i--){ Type fromStack = stack().peek( (nargs-1) - i ); // 0 to nargs-1 Type fromDesc = argtypes[i]; @@ -1743,7 +1743,7 @@ public class InstConstraintVisitor extends EmptyInstVisitor { } } } - + Type objref = stack().peek(nargs); if (objref == Type.NULL){ return; @@ -1760,14 +1760,14 @@ public class InstConstraintVisitor extends EmptyInstVisitor { objref = GENERIC_ARRAY; } } - + String objref_classname = ((ObjectType) objref).getClassName(); String theClass = o.getClassName(cpg); - + if ( ! Repository.instanceOf(objref_classname, theClass) ){ constraintViolated(o, "The 'objref' item '"+objref+"' does not implement '"+theClass+"' as expected."); - } + } } /** @@ -1828,7 +1828,7 @@ public class InstConstraintVisitor extends EmptyInstVisitor { */ public void visitISTORE(Instruction o){ //visitStoreInstruction(StoreInstruction) is called before. - + // Nothing else needs to be done here. } @@ -1924,7 +1924,7 @@ public class InstConstraintVisitor extends EmptyInstVisitor { indexOfInt(o, stack().peek()); if (stack().peek(1) == Type.NULL){ return; - } + } if (! (stack().peek(1) instanceof ArrayType)){ constraintViolated(o, "Stack next-to-top must be of type long[] but is '"+stack().peek(1)+"'."); } @@ -1956,7 +1956,7 @@ public class InstConstraintVisitor extends EmptyInstVisitor { indexOfInt(o, stack().peek(1)); if (stack().peek(2) == Type.NULL){ return; - } + } if (! (stack().peek(2) instanceof ArrayType)){ constraintViolated(o, "Stack next-to-next-to-top must be of type long[] but is '"+stack().peek(2)+"'."); } @@ -1990,7 +1990,7 @@ public class InstConstraintVisitor extends EmptyInstVisitor { */ public void visitLDC(Instruction o){ // visitCPInstruction is called first. - + Constant c = cpg.getConstant(o.getIndex()); if (! ( ( c instanceof ConstantInteger) || ( c instanceof ConstantFloat ) || @@ -2004,7 +2004,7 @@ public class InstConstraintVisitor extends EmptyInstVisitor { */ public void visitLDC_W(Instruction o){ // visitCPInstruction is called first. - + Constant c = cpg.getConstant(o.getIndex()); if (! ( ( c instanceof ConstantInteger) || ( c instanceof ConstantFloat ) || @@ -2018,7 +2018,7 @@ public class InstConstraintVisitor extends EmptyInstVisitor { */ public void visitLDC2_W(Instruction o){ // visitCPInstruction is called first. - + Constant c = cpg.getConstant(o.getIndex()); if (! ( ( c instanceof ConstantLong) || ( c instanceof ConstantDouble ) ) ){ @@ -2043,7 +2043,7 @@ public class InstConstraintVisitor extends EmptyInstVisitor { */ public void visitLLOAD(Instruction o){ //visitLoadInstruction(LoadInstruction) is called before. - + // Nothing else needs to be done here. } @@ -2062,7 +2062,7 @@ public class InstConstraintVisitor extends EmptyInstVisitor { public void visitLNEG(Instruction o){ checkTop(o,Type.LONG); } - + public void visitLOOKUPSWITCH(LOOKUPSWITCH o){ checkTop(o,Type.INT); // See also pass 3a. @@ -2103,13 +2103,13 @@ public class InstConstraintVisitor extends EmptyInstVisitor { constraintViolated(o, "The value at the stack next-to-top is not of type 'long', but of type '"+stack().peek(1)+"'."); } } - + /** * Ensures the specific preconditions of the said instruction. */ public void visitLSTORE(Instruction o){ //visitStoreInstruction(StoreInstruction) is called before. - + // Nothing else needs to be done here. } @@ -2184,7 +2184,7 @@ public class InstConstraintVisitor extends EmptyInstVisitor { public void visitNEW(Instruction o){ //visitCPInstruction(CPInstruction) has been called before. //visitLoadClass(LoadClass) has been called before. - + Type t = o.getType(cpg); if (! (t instanceof ReferenceType)){ throw new AssertionViolatedException("NEW.getType() returning a non-reference type?!"); @@ -2197,7 +2197,7 @@ public class InstConstraintVisitor extends EmptyInstVisitor { //e.g.: Don't instantiate interfaces if (! obj.referencesClass()){ constraintViolated(o, "Expecting a class type (ObjectType) to work on. Found: '"+obj+"'."); - } + } } public void visitNEWARRAY(Instruction o) { checkTop(o,Type.INT); } @@ -2227,9 +2227,9 @@ public class InstConstraintVisitor extends EmptyInstVisitor { if (! ( (objectref instanceof ObjectType) || (objectref == Type.NULL) ) ){ constraintViolated(o, "Stack next-to-top should be an object reference that's not an array reference, but is '"+objectref+"'."); } - + String field_name = o.getFieldName(cpg); - + JavaClass jc = Repository.lookupClass(o.getClassType(cpg).getClassName()); Field[] fields = jc.getFields(); Field f = null; @@ -2273,7 +2273,7 @@ public class InstConstraintVisitor extends EmptyInstVisitor { constraintViolated(o, "The stack top type '"+value+"' is not of type '"+shouldbe+"' as expected."); } } - + if (f.isProtected()){ ObjectType classtype = o.getClassType(cpg); ObjectType curr = new ObjectType(mg.getClassName()); @@ -2292,7 +2292,7 @@ public class InstConstraintVisitor extends EmptyInstVisitor { objreftype.subclassOf(curr) ) ){ constraintViolated(o, "The referenced field has the ACC_PROTECTED modifier, and it's a member of the current class or a superclass of the current class. However, the referenced object type '"+stack().peek()+"' is not the current class or a subclass of the current class."); } - } + } } // TODO: Could go into Pass 3a. @@ -2384,7 +2384,7 @@ public class InstConstraintVisitor extends EmptyInstVisitor { indexOfInt(o, stack().peek()); if (stack().peek(1) == Type.NULL){ return; - } + } if (! (stack().peek(1) instanceof ArrayType)){ constraintViolated(o, "Stack next-to-top must be of type short[] but is '"+stack().peek(1)+"'."); } @@ -2404,7 +2404,7 @@ public class InstConstraintVisitor extends EmptyInstVisitor { indexOfInt(o, stack().peek(1)); if (stack().peek(2) == Type.NULL){ return; - } + } if (! (stack().peek(2) instanceof ArrayType)){ constraintViolated(o, "Stack next-to-next-to-top must be of type short[] but is '"+stack().peek(2)+"'."); } @@ -2442,4 +2442,3 @@ public class InstConstraintVisitor extends EmptyInstVisitor { } } - diff --git a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/structurals/InstructionContext.java b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/structurals/InstructionContext.java index 2127579f3..7b7b9d60c 100644 --- a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/structurals/InstructionContext.java +++ b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/structurals/InstructionContext.java @@ -21,7 +21,7 @@ package org.aspectj.apache.bcel.verifier.structurals; * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." + * Apache Software Foundation (https://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * @@ -51,7 +51,7 @@ package org.aspectj.apache.bcel.verifier.structurals; * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. + * <https://www.apache.org/>. */ import java.util.ArrayList; @@ -64,7 +64,7 @@ import org.aspectj.apache.bcel.generic.InstructionHandle; * such. * * @version $Id: InstructionContext.java,v 1.3 2009/09/09 19:56:20 aclement Exp $ - * @author <A HREF="http://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> + * @author <A HREF="https://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> */ public interface InstructionContext{ diff --git a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/structurals/LocalVariables.java b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/structurals/LocalVariables.java index e665575c6..8aed044bc 100644 --- a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/structurals/LocalVariables.java +++ b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/structurals/LocalVariables.java @@ -21,7 +21,7 @@ package org.aspectj.apache.bcel.verifier.structurals; * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." + * Apache Software Foundation (https://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * @@ -51,7 +51,7 @@ package org.aspectj.apache.bcel.verifier.structurals; * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. + * <https://www.apache.org/>. */ import org.aspectj.apache.bcel.generic.Type; @@ -63,7 +63,7 @@ import org.aspectj.apache.bcel.verifier.exc.*; * simulation. * * @version $Id: LocalVariables.java,v 1.2 2008/05/28 23:53:02 aclement Exp $ - * @author <A HREF="http://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> + * @author <A HREF="https://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> */ public class LocalVariables{ /** The Type[] containing the local variable slots. */ diff --git a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/structurals/OperandStack.java b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/structurals/OperandStack.java index 7559f5c6a..9ffc3f0cb 100644 --- a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/structurals/OperandStack.java +++ b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/structurals/OperandStack.java @@ -21,7 +21,7 @@ package org.aspectj.apache.bcel.verifier.structurals; * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." + * Apache Software Foundation (https://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * @@ -51,7 +51,7 @@ package org.aspectj.apache.bcel.verifier.structurals; * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. + * <https://www.apache.org/>. */ import org.aspectj.apache.bcel.generic.*; @@ -64,7 +64,7 @@ import java.util.*; * Elements of this stack are org.aspectj.apache.bcel.generic.Type objects. * * @version $Id: OperandStack.java,v 1.3 2009/09/09 19:56:20 aclement Exp $ - * @author <A HREF="http://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> + * @author <A HREF="https://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> */ public class OperandStack{ @@ -88,7 +88,7 @@ public class OperandStack{ public OperandStack(int maxStack, ObjectType obj){ this.maxStack = maxStack; this.push(obj); - } + } /** * Returns a deep copy of this object; that means, the clone operates * on a new stack. However, the Type objects on the stack are @@ -198,7 +198,7 @@ public class OperandStack{ /** * Returns the number of stack slots used. * @see #maxStack() - */ + */ public int slotsUsed(){ /* XXX change this to a better implementation using a variable that keeps track of the actual slotsUsed()-value monitoring @@ -210,7 +210,7 @@ public class OperandStack{ } return slots; } - + /** * Returns a String representation of this OperandStack instance. */ @@ -230,7 +230,7 @@ public class OperandStack{ public void merge(OperandStack s){ if ( (slotsUsed() != s.slotsUsed()) || (size() != s.size()) ) throw new StructuralCodeConstraintException("Cannot merge stacks of different size:\nOperandStack A:\n"+this+"\nOperandStack B:\n"+s); - + for (int i=0; i<size(); i++){ // If the object _was_ initialized and we're supposed to merge // in some uninitialized object, we reject the code (see vmspec2, 4.9.4, last paragraph). diff --git a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/structurals/Pass3bVerifier.java b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/structurals/Pass3bVerifier.java index efbefb000..aebde782b 100644 --- a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/structurals/Pass3bVerifier.java +++ b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/structurals/Pass3bVerifier.java @@ -21,7 +21,7 @@ package org.aspectj.apache.bcel.verifier.structurals; * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." + * Apache Software Foundation (https://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * @@ -51,7 +51,7 @@ package org.aspectj.apache.bcel.verifier.structurals; * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. + * <https://www.apache.org/>. */ import java.io.PrintWriter; @@ -86,7 +86,7 @@ import org.aspectj.apache.bcel.verifier.exc.VerifierConstraintViolatedException; * documentation. * * @version $Id: Pass3bVerifier.java,v 1.3 2009/09/09 19:56:20 aclement Exp $ - * @author <A HREF="http://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> + * @author <A HREF="https://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> * @see #do_verify() */ diff --git a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/structurals/Subroutine.java b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/structurals/Subroutine.java index be35a451e..d5dca1071 100644 --- a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/structurals/Subroutine.java +++ b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/structurals/Subroutine.java @@ -21,7 +21,7 @@ package org.aspectj.apache.bcel.verifier.structurals; * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." + * Apache Software Foundation (https://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * @@ -51,7 +51,7 @@ package org.aspectj.apache.bcel.verifier.structurals; * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. + * <https://www.apache.org/>. */ import org.aspectj.apache.bcel.generic.*; @@ -62,7 +62,7 @@ import org.aspectj.apache.bcel.generic.*; * consistent fashion, too. * * @version $Id: Subroutine.java,v 1.2 2008/05/28 23:53:02 aclement Exp $ - * @author <A HREF="http://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> + * @author <A HREF="https://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> */ public interface Subroutine{ /** diff --git a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/structurals/Subroutines.java b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/structurals/Subroutines.java index 53f170c26..285bc4a34 100644 --- a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/structurals/Subroutines.java +++ b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/structurals/Subroutines.java @@ -21,7 +21,7 @@ package org.aspectj.apache.bcel.verifier.structurals; * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." + * Apache Software Foundation (https://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * @@ -51,7 +51,7 @@ package org.aspectj.apache.bcel.verifier.structurals; * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. + * <https://www.apache.org/>. */ import org.aspectj.apache.bcel.Constants; @@ -86,7 +86,7 @@ import java.util.Iterator; * TODO: refer to the paper. * * @version $Id: Subroutines.java,v 1.4 2009/09/09 19:56:20 aclement Exp $ - * @author <A HREF="http://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> + * @author <A HREF="https://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> * @see #getTopLevel() */ public class Subroutines{ @@ -111,25 +111,25 @@ public class Subroutines{ /** The instructions that belong to this subroutine. */ private HashSet<Serializable> instructions = new HashSet<Serializable>(); // Elements: InstructionHandle - + /* * Refer to the Subroutine interface for documentation. */ public boolean contains(InstructionHandle inst){ return instructions.contains(inst); } - + /** * The JSR or JSR_W instructions that define this * subroutine by targeting it. */ private HashSet<InstructionHandle> theJSRs = new HashSet<InstructionHandle>(); - + /** * The RET instruction that leaves this subroutine. */ private InstructionHandle theRET; - + /** * Returns a String representation of this object, merely * for debugging purposes. @@ -139,7 +139,7 @@ public class Subroutines{ */ public String toString(){ String ret = "Subroutine: Local variable is '"+localVariable+"', JSRs are '"+theJSRs+"', RET is '"+theRET+"', Instructions: '"+instructions.toString()+"'."; - + ret += " Accessed local variable slots: '"; int[] alv = getAccessedLocalsIndices(); for (int i=0; i<alv.length; i++){ @@ -156,7 +156,7 @@ public class Subroutines{ return ret; } - + /** * Sets the leaving RET instruction. Must be invoked after all instructions are added. * Must not be invoked for top-level 'subroutine'. @@ -186,7 +186,7 @@ public class Subroutines{ } theRET = ret; } - + /* * Refer to the Subroutine interface for documentation. */ @@ -197,7 +197,7 @@ public class Subroutines{ InstructionHandle[] jsrs = new InstructionHandle[theJSRs.size()]; return (theJSRs.toArray(jsrs)); } - + /** * Adds a new JSR or JSR_W that has this subroutine as its target. */ @@ -228,7 +228,7 @@ public class Subroutines{ } return theRET; } - + /* * Refer to the Subroutine interface for documentation. */ @@ -236,7 +236,7 @@ public class Subroutines{ InstructionHandle[] ret = new InstructionHandle[instructions.size()]; return instructions.toArray(ret); } - + /* * Adds an instruction to this subroutine. * All instructions must have been added before invoking setLeavingRET(). @@ -313,7 +313,7 @@ public class Subroutines{ } } } - + int[] ret = new int[acc.size()]; i = acc.iterator(); int j=-1; @@ -341,7 +341,7 @@ public class Subroutines{ Subroutine[] ret = new Subroutine[h.size()]; return h.toArray(ret); } - + /* * Sets the local variable slot the ASTORE that is targeted * by the JsrInstructions of this subroutine operates on. @@ -356,7 +356,7 @@ public class Subroutines{ localVariable = i; } } - + /** * The default constructor. */ @@ -386,7 +386,7 @@ public class Subroutines{ * create the Subroutine objects of. */ public Subroutines(MethodGen mg){ - + InstructionHandle[] all = mg.getInstructionList().getInstructionHandles(); CodeExceptionGen[] handlers = mg.getExceptionHandlers(); @@ -402,7 +402,7 @@ public class Subroutines{ sub_leaders.add(((InstructionBranch) inst).getTarget()); } } - + // Build up the database. Iterator<InstructionHandle> iter = sub_leaders.iterator(); while (iter.hasNext()){ @@ -428,13 +428,13 @@ public class Subroutines{ ((SubroutineImpl) getSubroutine(leader)).addEnteringJsrInstruction(all[i]); } } - + // Now do a BFS from every subroutine leader to find all the // instructions that belong to a subroutine. HashSet<InstructionHandle> instructions_assigned = new HashSet<InstructionHandle>(); // we don't want to assign an instruction to two or more Subroutine objects. - + Hashtable<InstructionHandle, Color> colors = new Hashtable<InstructionHandle, Color>(); //Graph colouring. Key: InstructionHandle, Value: java.awt.Color . - + iter = sub_leaders.iterator(); while (iter.hasNext()){ // Do some BFS with "actual" as the root of the graph. @@ -447,7 +447,7 @@ public class Subroutines{ // Init Queue ArrayList<InstructionHandle> Q = new ArrayList<InstructionHandle>(); Q.add(actual); // add(Obj) adds to the end, remove(0) removes from the start. - + /* BFS ALGORITHM MODIFICATION: Start out with multiple "root" nodes, as exception handlers are starting points of top-level code, too. [why top-level? TODO: Refer to the special JustIce notion of subroutines.]*/ if (actual == all[0]){ for (int j=0; j<handlers.length; j++){ @@ -456,7 +456,7 @@ public class Subroutines{ } } /* CONTINUE NORMAL BFS ALGORITHM */ - + // Loop until Queue is empty while (Q.size() != 0){ InstructionHandle u = Q.remove(0); @@ -485,7 +485,7 @@ public class Subroutines{ ((SubroutineImpl) getSubroutine(actual)).setLeavingRET(); } } - + // Now make sure no instruction of a Subroutine is protected by exception handling code // as is mandated by JustIces notion of subroutines. for (int i=0; i<handlers.length; i++){ @@ -503,7 +503,7 @@ public class Subroutines{ _protected = _protected.getNext(); } } - + // Now make sure no subroutine is calling a subroutine // that uses the same local variable for the RET as themselves // (recursively). @@ -530,7 +530,7 @@ public class Subroutines{ for (int i=0; i<subs.length; i++){ int index = ((RET) (subs[i].getLeavingRET().getInstruction())).getIndex(); - + if (!set.add(new Integer(index))){ // Don't use toString() here because of possibly infinite recursive subSubs() calls then. SubroutineImpl si = (SubroutineImpl) subs[i]; @@ -538,11 +538,11 @@ public class Subroutines{ } noRecursiveCalls(subs[i], set); - + set.remove(new Integer(index)); } - } - + } + /** * Returns the Subroutine object associated with the given * leader (that is, the first instruction of the subroutine). @@ -553,7 +553,7 @@ public class Subroutines{ */ public Subroutine getSubroutine(InstructionHandle leader){ Subroutine ret = subroutines.get(leader); - + if (ret == null){ throw new AssertionViolatedException("Subroutine requested for an InstructionHandle that is not a leader of a subroutine."); } @@ -561,7 +561,7 @@ public class Subroutines{ if (ret == TOPLEVEL){ throw new AssertionViolatedException("TOPLEVEL special subroutine requested; use getTopLevel()."); } - + return ret; } @@ -610,24 +610,24 @@ System.err.println("DEBUG: Please verify '"+any+"' lies in dead code."); final InstructionHandle[] empty = new InstructionHandle[0]; final InstructionHandle[] single = new InstructionHandle[1]; final InstructionHandle[] pair = new InstructionHandle[2]; - + Instruction inst = instruction.getInstruction(); - + if (inst instanceof RET){ return empty; } - + // Terminates method normally. if (inst.isReturnInstruction()){ return empty; } - + // Terminates method abnormally, because JustIce mandates // subroutines not to be protected by exception handlers. if (inst.getOpcode()==Constants.ATHROW){ return empty; } - + // See method comment. if (inst.isJsrInstruction()){ single[0] = instruction.getNext(); @@ -656,7 +656,7 @@ System.err.println("DEBUG: Please verify '"+any+"' lies in dead code."); } } - // default case: Fall through. + // default case: Fall through. single[0] = instruction.getNext(); return single; } diff --git a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/structurals/UninitializedObjectType.java b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/structurals/UninitializedObjectType.java index 72fe44e94..1a4b5d369 100644 --- a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/structurals/UninitializedObjectType.java +++ b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/structurals/UninitializedObjectType.java @@ -21,7 +21,7 @@ package org.aspectj.apache.bcel.verifier.structurals; * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." + * Apache Software Foundation (https://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * @@ -51,7 +51,7 @@ package org.aspectj.apache.bcel.verifier.structurals; * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. + * <https://www.apache.org/>. */ import org.aspectj.apache.bcel.*; @@ -63,13 +63,13 @@ import org.aspectj.apache.bcel.generic.*; * more details. * * @version $Id: UninitializedObjectType.java,v 1.2 2008/05/28 23:53:03 aclement Exp $ - * @author <A HREF="http://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> + * @author <A HREF="https://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A> */ public class UninitializedObjectType extends ReferenceType implements Constants{ /** The "initialized" version. */ private ObjectType initialized; - + /** Creates a new instance. */ public UninitializedObjectType(ObjectType t){ super(T_UNKNOWN, "<UNINITIALIZED OBJECT OF TYPE '"+t.getClassName()+"'>"); diff --git a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/structurals/package.html b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/structurals/package.html index 84af3bb93..b937a2938 100644 --- a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/structurals/package.html +++ b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/structurals/package.html @@ -20,7 +20,7 @@ has a PassVerifier class here. JustIce calls this pass "Pass 3b". For a simple demonstration of JustIce working, please see: <ul> - <li><a href="http://www.inf.fu-berlin.de/~ehaase/cgi-html/Verifier.html">A WWW front-end for JustIce.</a> + <li><a href="https://www.inf.fu-berlin.de/~ehaase/cgi-html/Verifier.html">A WWW front-end for JustIce.</a> </ul> </body> diff --git a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/util/BCELFactory.java b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/util/BCELFactory.java index e24a4a665..0b7912bc0 100644 --- a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/util/BCELFactory.java +++ b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/util/BCELFactory.java @@ -48,7 +48,7 @@ import org.aspectj.apache.bcel.verifier.InstructionWalker; * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." + * Apache Software Foundation (https://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * @@ -78,12 +78,12 @@ import org.aspectj.apache.bcel.verifier.InstructionWalker; * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. + * <https://www.apache.org/>. */ /** * Factory creates il.append() statements, and sets instruction targets. A helper class for BCELifier. - * + * * @see BCELifier * @version $Id: BCELFactory.java,v 1.6 2009/09/14 20:29:10 aclement Exp $ * @author <A HREF="mailto:markus.dahm@berlin.de">M. Dahm</A> diff --git a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/util/BCELifier.java b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/util/BCELifier.java index 2b0fb010b..0e2eddb00 100644 --- a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/util/BCELifier.java +++ b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/util/BCELifier.java @@ -21,7 +21,7 @@ package org.aspectj.apache.bcel.verifier.util; * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." + * Apache Software Foundation (https://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * @@ -51,7 +51,7 @@ package org.aspectj.apache.bcel.verifier.util; * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. + * <https://www.apache.org/>. */ import java.io.OutputStream; import java.io.PrintWriter; @@ -69,7 +69,7 @@ import org.aspectj.apache.bcel.classfile.ConstantPool; import org.aspectj.apache.bcel.generic.MethodGen; import org.aspectj.apache.bcel.generic.Type; -/** +/** * This class takes a given JavaClass object and converts it to a * Java program that creates that very class using BCEL. This * gives new users of BCEL a useful example showing how things @@ -77,7 +77,7 @@ import org.aspectj.apache.bcel.generic.Type; * but tries to mimic hand-written code as close as possible. * * @version $Id: BCELifier.java,v 1.2 2008/05/28 23:53:04 aclement Exp $ - * @author <A HREF="mailto:markus.dahm@berlin.de">M. Dahm</A> + * @author <A HREF="mailto:markus.dahm@berlin.de">M. Dahm</A> */ public class BCELifier extends org.aspectj.apache.bcel.verifier.EmptyClassVisitor { private JavaClass _clazz; @@ -139,56 +139,56 @@ public class BCELifier extends org.aspectj.apache.bcel.verifier.EmptyClassVisito Field[] fields = clazz.getFields(); if(fields.length > 0) { - _out.println(" private void createFields() {"); + _out.println(" private void createFields() {"); _out.println(" FieldGen field;"); for(int i=0; i < fields.length; i++) { fields[i].accept(this); } - _out.println(" }\n"); + _out.println(" }\n"); } Method[] methods = clazz.getMethods(); for(int i=0; i < methods.length; i++) { - _out.println(" private void createMethod_" + i + "() {"); + _out.println(" private void createMethod_" + i + "() {"); methods[i].accept(this); - _out.println(" }\n"); + _out.println(" }\n"); } printMain(); _out.println("}"); } - + private void printCreate() { _out.println(" public void create(OutputStream out) throws IOException {"); Field[] fields = _clazz.getFields(); if(fields.length > 0) { - _out.println(" createFields();"); + _out.println(" createFields();"); } Method[] methods = _clazz.getMethods(); for(int i=0; i < methods.length; i++) { - _out.println(" createMethod_" + i + "();"); + _out.println(" createMethod_" + i + "();"); } - _out.println(" _cg.getJavaClass().dump(out);"); - - _out.println(" }\n"); + _out.println(" _cg.getJavaClass().dump(out);"); + + _out.println(" }\n"); } private void printMain() { String class_name = _clazz.getClassName(); - + _out.println(" public static void main(String[] args) throws Exception {"); _out.println(" " + class_name + "Creator creator = new " + class_name + "Creator();"); _out.println(" creator.create(new FileOutputStream(\"" + class_name + ".class\"));"); - _out.println(" }"); + _out.println(" }"); } public void visitField(Field field) { @@ -222,7 +222,7 @@ public class BCELifier extends org.aspectj.apache.bcel.verifier.EmptyClassVisito BCELifier.printArray(mg.getArgumentNames(), false, true) + " }, \"" + method.getName() + "\", \"" + _clazz.getClassName() + "\", il, _cp);\n"); - + BCELFactory factory = new BCELFactory(mg, _out); factory.start(); diff --git a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/util/InstructionFinder.java b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/util/InstructionFinder.java index ba1f752c1..a695ac9db 100644 --- a/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/util/InstructionFinder.java +++ b/bcel-builder/verifier-src/org/aspectj/apache/bcel/verifier/util/InstructionFinder.java @@ -21,7 +21,7 @@ package org.aspectj.apache.bcel.verifier.util; * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." + * Apache Software Foundation (https://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * @@ -51,7 +51,7 @@ package org.aspectj.apache.bcel.verifier.util; * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. + * <https://www.apache.org/>. */ import java.util.*; @@ -66,7 +66,7 @@ import org.apache.regexp.*; * a peep hole optimizer that looks for code patterns and replaces * them with faster equivalents. * - * <p>This class internally uses the <a href="http://jakarta.apache.org/regexp/"> + * <p>This class internally uses the <a href="https://jakarta.apache.org/regexp/"> * Regexp</a> package to search for regular expressions. * * A typical application would look like this: @@ -82,7 +82,7 @@ import org.apache.regexp.*; } </pre> * @version $Id: InstructionFinder.java,v 1.4 2009/09/09 19:56:20 aclement Exp $ - * @author <A HREF="http://www.berlin.de/~markus.dahm/">M. Dahm</A> + * @author <A HREF="https://www.berlin.de/~markus.dahm/">M. Dahm</A> * @see Instruction * @see InstructionList */ |