Package javassist.bytecode

Examples of javassist.bytecode.FieldInfo


         for (int i = 0; i < fields.length; i++)
         {
            if (introduction.matches(advisor, fields[i]))
            {
               javassist.bytecode.annotation.Annotation info = AnnotationInfoCreator.createAnnotationInfo(classPool, fields[i].getFieldInfo2().getConstPool(), introduction.getAnnotation());
               FieldInfo mi = fields[i].getFieldInfo2();
               if (introduction.isInvisible())
               {
                  AnnotationsAttribute invisible = (AnnotationsAttribute) mi.getAttribute(AnnotationsAttribute.invisibleTag);
                  if (invisible == null)
                  {
                     invisible = new AnnotationsAttribute(mi.getConstPool(), AnnotationsAttribute.invisibleTag);
                     mi.addAttribute(invisible);
                  }
                  changed = true;
                  invisible.addAnnotation(info);
               }
               else
               {
                  AnnotationsAttribute visible = (AnnotationsAttribute) mi.getAttribute(AnnotationsAttribute.visibleTag);
                  if (visible == null)
                  {
                     visible = new AnnotationsAttribute(mi.getConstPool(), AnnotationsAttribute.visibleTag);
                     mi.addAttribute(visible);
                  }
                  changed = true;
                  visible.addAnnotation(info);
               }
            }
View Full Code Here


      info.addAttribute(new SyntheticAttribute(cp));
   }

   public static void addSyntheticAttribute(CtField field)
   {
      FieldInfo info = field.getFieldInfo();
      ConstPool cp = info.getConstPool();
      info.addAttribute(new SyntheticAttribute(cp));
   }
View Full Code Here

   }

   public static Object getGenericType(Field f)
   {
      CtField fld = JavassistUtil.getCtField(f);
      FieldInfo info = fld.getFieldInfo2();
      SignatureAttribute sig = (SignatureAttribute)info.getAttribute(SignatureAttribute.tag);
      if (sig != null)
      {
         try
         {
            SignatureAttribute.ObjectType type = SignatureAttribute.toFieldSignature(sig.getSignature());
View Full Code Here

  }

  private void addFieldHandlerField(ClassFile classfile)
      throws CannotCompileException {
    ConstPool cp = classfile.getConstPool();
    FieldInfo finfo = new FieldInfo(cp, HANDLER_FIELD_NAME,
                                    HANDLER_FIELD_DESCRIPTOR);
    finfo.setAccessFlags(AccessFlag.PRIVATE | AccessFlag.TRANSIENT);
    classfile.addField(finfo);
  }
View Full Code Here

  private void addReadWriteMethods(ClassFile classfile)
      throws CannotCompileException, BadBytecode {
    List fields = classfile.getFields();
    for (Iterator field_iter = fields.iterator(); field_iter.hasNext();) {
      FieldInfo finfo = (FieldInfo) field_iter.next();
      if ((finfo.getAccessFlags() & AccessFlag.STATIC) == 0
          && (!finfo.getName().equals(HANDLER_FIELD_NAME))) {
        // case of non-static field
        if (filter.handleRead(finfo.getDescriptor(), finfo
            .getName())) {
          addReadMethod(classfile, finfo);
        }
        if (filter.handleWrite(finfo.getDescriptor(), finfo
            .getName())) {
          addWriteMethod(classfile, finfo);
        }
      }
    }
View Full Code Here

    private void makeFieldCache(CtMember.Cache cache) {
        List list = getClassFile2().getFields();
        int n = list.size();
        for (int i = 0; i < n; ++i) {
            FieldInfo finfo = (FieldInfo)list.get(i);
            CtField newField = new CtField(finfo, this);
            cache.addField(newField);
        }
    }
View Full Code Here

        }
    }

    public void removeField(CtField f) throws NotFoundException {
        checkModify();
        FieldInfo fi = f.getFieldInfo2();
        ClassFile cf = getClassFile2();
        if (cf.getFields().remove(fi)) {
            getMembers().remove(f);
            gcConstPool = true;
        }
View Full Code Here

        }

        list = getClassFile2().getFields();
        n = list.size();
        for (int i = 0; i < n; i++) {
            FieldInfo finfo = (FieldInfo)list.get(i);
            table.put(finfo.getName(), this);
        }
    }
View Full Code Here

  }

  private void addFieldHandlerField(ClassFile classfile)
      throws CannotCompileException {
    ConstPool cp = classfile.getConstPool();
    FieldInfo finfo = new FieldInfo(cp, HANDLER_FIELD_NAME,
                                    HANDLER_FIELD_DESCRIPTOR);
    finfo.setAccessFlags(AccessFlag.PRIVATE | AccessFlag.TRANSIENT);
    classfile.addField(finfo);
  }
View Full Code Here

  private void addReadWriteMethods(ClassFile classfile)
      throws CannotCompileException {
    List fields = classfile.getFields();
    for (Iterator field_iter = fields.iterator(); field_iter.hasNext();) {
      FieldInfo finfo = (FieldInfo) field_iter.next();
      if ((finfo.getAccessFlags() & AccessFlag.STATIC) == 0
          && (!finfo.getName().equals(HANDLER_FIELD_NAME))) {
        // case of non-static field
        if (filter.handleRead(finfo.getDescriptor(), finfo
            .getName())) {
          addReadMethod(classfile, finfo);
        }
        if (filter.handleWrite(finfo.getDescriptor(), finfo
            .getName())) {
          addWriteMethod(classfile, finfo);
        }
      }
    }
View Full Code Here

TOP

Related Classes of javassist.bytecode.FieldInfo

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.