--- /dev/null
+\r
+package org.aspectj.weaver;\r
+\r
+import org.aspectj.weaver.*;\r
+import org.aspectj.weaver.bcel.*;\r
+import org.apache.bcel.generic.*;\r
+\r
+/**\r
+ * Enforces the use of BCEL API use.\r
+ */\r
+public aspect BcelApiRules {\r
+ \r
+ /**\r
+ * The Utility method needs to be used instead of the BCEL method doue to a bug\r
+ * in the implementation of Instruction.copy()\r
+ */\r
+ declare error:\r
+ call(* Instruction.copy()) && within(org.aspectj.weaver..*)\r
+ && !withincode(* Utility.copyInstruction(Instruction)):\r
+ "use Utility.copyInstruction to work-around bug in Select.copy()";\r
+\r
+\r
+}\r
+
\ No newline at end of file