コード例 #1
0
 @Override
 public void visitEnum(final String name, final String desc, final String value) {
   EnumValueDescriptor valueDescriptor = createValue(EnumValueDescriptor.class, name);
   TypeDescriptor typeDescriptor = visitorHelper.getTypeDescriptor(visitorHelper.getType(desc));
   FieldDescriptor fieldDescriptor =
       visitorHelper.getFieldDescriptor(
           typeDescriptor, visitorHelper.getFieldSignature(value, desc));
   valueDescriptor.setType(visitorHelper.getTypeDescriptor(Enum.class.getName()));
   valueDescriptor.setValue(fieldDescriptor);
   addValue(name, valueDescriptor);
 }
コード例 #2
0
 @Override
 public void visitFieldInsn(
     final int opcode, final String owner, final String name, final String desc) {
   String fieldSignature = SignatureHelper.getFieldSignature(name, desc);
   TypeCache.CachedType targetType =
       visitorHelper.resolveType(SignatureHelper.getObjectType(owner), containingType);
   FieldDescriptor fieldDescriptor = visitorHelper.getFieldDescriptor(targetType, fieldSignature);
   switch (opcode) {
     case Opcodes.GETFIELD:
     case Opcodes.GETSTATIC:
       visitorHelper.addReads(methodDescriptor, line, fieldDescriptor);
       break;
     case Opcodes.PUTFIELD:
     case Opcodes.PUTSTATIC:
       visitorHelper.addWrites(methodDescriptor, line, fieldDescriptor);
       break;
   }
 }