void (int patternIndex, Label label, int varIndex) { if (myDoAssert) { mv.visitFieldInsn(Opcodes.GETSTATIC, myClassName, PatternInstrumenter.ASSERTIONS_DISABLED_NAME, "Z"); mv.visitJumpInsn(Opcodes.IFNE, label); } mv.visitVarInsn(Opcodes.ALOAD, varIndex); mv.visitJumpInsn(Opcodes.IFNULL, label); mv.visitFieldInsn(GETSTATIC, myClassName, PatternInstrumenter.PATTERN_CACHE_NAME, "[Ljava/util/regex/Pattern;"); mv.visitIntInsn(BIPUSH, patternIndex); mv.visitInsn(AALOAD); mv.visitVarInsn(ALOAD, varIndex); mv.visitMethodInsn(INVOKEVIRTUAL, "java/util/regex/Pattern", "matcher", "(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;", false); mv.visitMethodInsn(INVOKEVIRTUAL, "java/util/regex/Matcher", "matches", "()Z", false); mv.visitJumpInsn(Opcodes.IFNE, label); }