public final class InstrVisitor extends AbstractClassDefVisitor implements IClassDefVisitor, IAttributeVisitor, IOpcodes, IConstants
| 限定符和类型 | 类和说明 |
|---|---|
static class |
InstrVisitor.InstrResult |
IOpcodes.clinit_aaload, _aastore, _aconst_null, _aload, _aload_0, _aload_1, _aload_2, _aload_3, _anewarray, _areturn, _arraylength, _astore, _astore_0, _astore_1, _astore_2, _astore_3, _athrow, _baload, _bastore, _bipush, _breakpoint, _caload, _castore, _checkcast, _d2f, _d2i, _d2l, _dadd, _daload, _dastore, _dcmpg, _dcmpl, _dconst_0, _dconst_1, _ddiv, _dload, _dload_0, _dload_1, _dload_2, _dload_3, _dmul, _dneg, _drem, _dreturn, _dstore, _dstore_0, _dstore_1, _dstore_2, _dstore_3, _dsub, _dup, _dup_x1, _dup_x2, _dup2, _dup2_x1, _dup2_x2, _f2d, _f2i, _f2l, _fadd, _faload, _fastore, _fcmpg, _fcmpl, _fconst_0, _fconst_1, _fconst_2, _fdiv, _fload, _fload_0, _fload_1, _fload_2, _fload_3, _fmul, _fneg, _frem, _freturn, _fstore, _fstore_0, _fstore_1, _fstore_2, _fstore_3, _fsub, _getfield, _getstatic, _goto, _goto_w, _i2b, _i2c, _i2d, _i2f, _i2l, _i2s, _iadd, _iaload, _iand, _iastore, _iconst_0, _iconst_1, _iconst_2, _iconst_3, _iconst_4, _iconst_5, _iconst_m1, _idiv, _if_acmpeq, _if_acmpne, _if_icmpeq, _if_icmpge, _if_icmpgt, _if_icmple, _if_icmplt, _if_icmpne, _ifeq, _ifge, _ifgt, _ifle, _iflt, _ifne, _ifnonnull, _ifnull, _iinc, _iload, _iload_0, _iload_1, _iload_2, _iload_3, _impdep1, _impdep2, _imul, _ineg, _instanceof, _invokeinterface, _invokespecial, _invokestatic, _invokevirtual, _ior, _irem, _ireturn, _ishl, _ishr, _istore, _istore_0, _istore_1, _istore_2, _istore_3, _isub, _iushr, _ixor, _jsr, _jsr_w, _l2d, _l2f, _l2i, _ladd, _laload, _land, _lastore, _lcmp, _lconst_0, _lconst_1, _ldc, _ldc_w, _ldc2_w, _ldiv, _lload, _lload_0, _lload_1, _lload_2, _lload_3, _lmul, _lneg, _lookupswitch, _lor, _lrem, _lreturn, _lshl, _lshr, _lstore, _lstore_0, _lstore_1, _lstore_2, _lstore_3, _lsub, _lushr, _lxor, _monitorenter, _monitorexit, _multianewarray, _new, _newarray, _nop, _pop, _pop2, _putfield, _putstatic, _ret, _return, _saload, _sastore, _sipush, _swap, _tableswitch, _unused, _wide, BRANCHES, COMPOUND_CONDITIONAL_BRANCHES, CONDITIONAL_BRANCHES, MNEMONICS, NARROW_SIZE, UNCONDITIONAL_BRANCHES, WIDE_SIZEEMPTY_FILE_ARRAY, EMPTY_INT_ARRAY, EMPTY_OBJECT_STREAM_FIELD_ARRAY, EMPTY_STRING_ARRAY, EOL, INDENT_INCREMENT| 构造器和说明 |
|---|
InstrVisitor(CoverageOptions options) |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
process(ClassDef cls,
boolean ignoreAlreadyInstrumented,
boolean instrument,
boolean metadata,
InstrVisitor.InstrResult out)
Analyzes 'cls' and/or instruments it for coverage:
if 'instrument' is true, the class definition is instrumented for
coverage if that is feasible
if 'metadata' is true, the class definition is analysed
to create a
ClassDescriptor for the original class definition
This method uses a caller-provided out-parameter for returning results. |
java.lang.Object |
visit(BridgeAttribute_info attribute,
java.lang.Object ctx) |
java.lang.Object |
visit(ClassDef ignore,
java.lang.Object ctx) |
java.lang.Object |
visit(CodeAttribute_info attribute,
java.lang.Object ctx) |
java.lang.Object |
visit(ConstantValueAttribute_info attribute,
java.lang.Object ctx) |
java.lang.Object |
visit(ExceptionsAttribute_info attribute,
java.lang.Object ctx) |
java.lang.Object |
visit(GenericAttribute_info attribute,
java.lang.Object ctx) |
java.lang.Object |
visit(IAttributeCollection attributes,
java.lang.Object ctx) |
java.lang.Object |
visit(IMethodCollection methods,
java.lang.Object ctx) |
java.lang.Object |
visit(InnerClassesAttribute_info attribute,
java.lang.Object ctx) |
java.lang.Object |
visit(LineNumberTableAttribute_info attribute,
java.lang.Object ctx) |
java.lang.Object |
visit(SourceFileAttribute_info attribute,
java.lang.Object ctx) |
java.lang.Object |
visit(SyntheticAttribute_info attribute,
java.lang.Object ctx) |
visit, visit, visitclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitvisit, visit, visitpublic InstrVisitor(CoverageOptions options)
public void process(ClassDef cls, boolean ignoreAlreadyInstrumented, boolean instrument, boolean metadata, InstrVisitor.InstrResult out)
ClassDescriptor for the original class definition
NOTE: if 'instrument' is 'true', the caller should always assume that 'cls'
has been mutated by this method. If the caller needs to recover the original
class definition, it should have created one as a cls.clone()
or by retaining the original definition bytes. This part of contract is
for efficienty and also simplifies the implementation.
TODO: "don't instrument" execution path isn't implemented yet (m_instrument is not used)
TODO: classes that can't be instrumented aren't detected yet
public final java.lang.Object visit(ClassDef ignore, java.lang.Object ctx)
visit 在接口中 IClassDefVisitorvisit 在类中 AbstractClassDefVisitorpublic final java.lang.Object visit(IMethodCollection methods, java.lang.Object ctx)
visit 在接口中 IClassDefVisitorvisit 在类中 AbstractClassDefVisitorpublic final java.lang.Object visit(IAttributeCollection attributes, java.lang.Object ctx)
visit 在接口中 IClassDefVisitorvisit 在类中 AbstractClassDefVisitorpublic final java.lang.Object visit(CodeAttribute_info attribute, java.lang.Object ctx)
visit 在接口中 IAttributeVisitorpublic final java.lang.Object visit(LineNumberTableAttribute_info attribute, java.lang.Object ctx)
visit 在接口中 IAttributeVisitorpublic final java.lang.Object visit(ExceptionsAttribute_info attribute, java.lang.Object ctx)
visit 在接口中 IAttributeVisitorpublic final java.lang.Object visit(ConstantValueAttribute_info attribute, java.lang.Object ctx)
visit 在接口中 IAttributeVisitorpublic final java.lang.Object visit(SourceFileAttribute_info attribute, java.lang.Object ctx)
visit 在接口中 IAttributeVisitorpublic final java.lang.Object visit(SyntheticAttribute_info attribute, java.lang.Object ctx)
visit 在接口中 IAttributeVisitorpublic final java.lang.Object visit(BridgeAttribute_info attribute, java.lang.Object ctx)
visit 在接口中 IAttributeVisitorpublic final java.lang.Object visit(InnerClassesAttribute_info attribute, java.lang.Object ctx)
visit 在接口中 IAttributeVisitorpublic final java.lang.Object visit(GenericAttribute_info attribute, java.lang.Object ctx)
visit 在接口中 IAttributeVisitorCopyright © 2018. All Rights Reserved.