⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fieldinfo.java

📁 本人根据自己的实际情况
💻 JAVA
字号:
/**
 *
 */
package gen.info;

import gen.ClassFile;
import gen.info.attr.AttributeInfo;
import java.io.DataOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

/**
 * @author liuyi
 *
 */
public class FieldInfo {
    
    private short accessFlags;
    
    /** index of constant pool, referring to a ConstantUtf8Info */
    private short nameIndex;
    
    /** index of constant pool, referring to a ConstantUtf8Info */
    private short descriptor_index;
    
    /** attributes count = attributes.size() */
    private List attributes;
    
    //convenience for FieldrefInfo seeking
    private int constFieldInfoIndex;
    
    private ClassFile classFile;
    
    public FieldInfo(ClassFile classFile){
        this.classFile = classFile;
        attributes = new ArrayList();
    }
    
    public void setAccessFlags(int accessFlags){
        this.accessFlags = (short)accessFlags;
    }
    
    public void setNameIndex(short nameIndex){
        this.nameIndex = nameIndex;
    }
    
    public void setDescriptor_index(short descriptor_index){
        this.descriptor_index = descriptor_index;
    }
    
    public void setConstFieldInfoIndex(int constFieldInfoIndex){
        this.constFieldInfoIndex = constFieldInfoIndex;
    }
    
    public int getNameIndex(){
        return nameIndex;
    }

    public int getConstFieldrefInfoIndex() {
        return constFieldInfoIndex;
    }
    
    /*public void addAttribute(AttributeInfo attr) {
        attributes.add(attr);
    }*/

    public void toBinary(DataOutputStream writer) throws IOException{
        writer.writeShort(accessFlags);
        writer.writeShort(nameIndex);
        writer.writeShort(descriptor_index);
        writer.writeShort(attributes.size());
    }
    
    public String toString(){
        String ret = "FieldInfo:\n access_flags\t" + accessFlags + "\n " + "name:descriptor\t#" + nameIndex + ":#" 
                + descriptor_index + "\t// " + classFile.getRefString(nameIndex) + ":" 
                + classFile.getRefString(descriptor_index).replaceAll("/", ".");
        return ret;
    }    
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -