/// <summary> /// Creates a new <see cref="JvmFieldInfo"/>. /// </summary> /// <param name="accessFlags">The see <see cref="FieldAccessFlags"/>.</param> /// <param name="nameIndex">The index into the <see cref="ConstantPool"/> representing the name of the field.</param> /// <param name="descriptorIndex">The index into the <see cref="ConstantPool"/> representing the type of the field.</param> /// <param name="attributes">All of the field's attributes.</param> public JvmFieldInfo(FieldAccessFlags accessFlags, ushort nameIndex, ushort descriptorIndex, IList <JvmAttribute> attributes) { AccessFlags = accessFlags; NameIndex = nameIndex; DescriptorIndex = descriptorIndex; Attributes = attributes; }
public FieldDefinition(ClassFile cf, FieldAccessFlags accessFlags, string name, string descriptor, string signature) : base(cf, name) { this.accessFlags = accessFlags; this.descriptor = descriptor; fieldType = Descriptors.ParseFieldType(descriptor); Signature = (signature != null) ? Signatures.ParseFieldTypeSignature(signature) : fieldType; }
private FieldInfo LoadFieldInfo(BigEndianBinaryReader reader, JavaClass javaClass) { FieldAccessFlags flags = (FieldAccessFlags)reader.ReadUInt16(); string name = constantPool.GetItem <Utf8ConstantPoolItem>(reader.ReadUInt16()).String; string descriptor = constantPool.GetItem <Utf8ConstantPoolItem>(reader.ReadUInt16()).String; var attributes = attributeLoader.Load(reader); return(new FieldInfo(javaClass, flags, name, descriptor, attributes)); }
static string GetVisibility (FieldAccessFlags accessFlags) { if ((accessFlags & FieldAccessFlags.Public) != 0) return "public"; if ((accessFlags & FieldAccessFlags.Protected) != 0) return "protected"; if ((accessFlags & FieldAccessFlags.Private) != 0) return "private"; return ""; }
public void PersistentAccessFlags() { const FieldAccessFlags flags = FieldAccessFlags.Private | FieldAccessFlags.Static; var field = CreateDummyField(); field.AccessFlags = flags; var newField = RebuildImageWithField(field); Assert.Equal(flags, newField.AccessFlags); }
public FieldInfo(ClassFile classFile, BigEndianBinaryReader reader) : base(classFile) { AccessFlags = (FieldAccessFlags)reader.ReadUInt16(); NameIndex = reader.ReadUInt16(); DescriptionIndex = reader.ReadUInt16(); AttributesCount = reader.ReadUInt16(); Attributes = new AttributeInfo[AttributesCount]; for (int i = 0; i < AttributesCount; i++) { Attributes[i] = AttributeInfo.GetAttributeInfo(AttributeTarget.Field, classFile, reader); } }
private string AccessFlagsAsString(FieldAccessFlags accessFlags) { string result = accessFlags.HasFlag(FieldAccessFlags.Public) ? "public " : string.Empty; result += accessFlags.HasFlag(FieldAccessFlags.Private) ? "private " : string.Empty; result += accessFlags.HasFlag(FieldAccessFlags.Protected) ? "protected " : string.Empty; result += accessFlags.HasFlag(FieldAccessFlags.Static) ? "static " : string.Empty; result += accessFlags.HasFlag(FieldAccessFlags.Final) ? "final " : string.Empty; result += accessFlags.HasFlag(FieldAccessFlags.Volatile) ? "volatile " : string.Empty; result += accessFlags.HasFlag(FieldAccessFlags.Transient) ? "transient " : string.Empty; result += accessFlags.HasFlag(FieldAccessFlags.Synthetic) ? "synthetic " : string.Empty; result += accessFlags.HasFlag(FieldAccessFlags.Enum) ? "enum " : string.Empty; return result.Trim(); }
private string AccessFlagsAsString(FieldAccessFlags accessFlags) { string result = accessFlags.HasFlag(FieldAccessFlags.Public) ? "public " : string.Empty; result += accessFlags.HasFlag(FieldAccessFlags.Private) ? "private " : string.Empty; result += accessFlags.HasFlag(FieldAccessFlags.Protected) ? "protected " : string.Empty; result += accessFlags.HasFlag(FieldAccessFlags.Static) ? "static " : string.Empty; result += accessFlags.HasFlag(FieldAccessFlags.Final) ? "final " : string.Empty; result += accessFlags.HasFlag(FieldAccessFlags.Volatile) ? "volatile " : string.Empty; result += accessFlags.HasFlag(FieldAccessFlags.Transient) ? "transient " : string.Empty; result += accessFlags.HasFlag(FieldAccessFlags.Synthetic) ? "synthetic " : string.Empty; result += accessFlags.HasFlag(FieldAccessFlags.Enum) ? "enum " : string.Empty; return(result.Trim()); }
static string GetVisibility(FieldAccessFlags accessFlags) { if ((accessFlags & FieldAccessFlags.Public) != 0) { return("public"); } if ((accessFlags & FieldAccessFlags.Protected) != 0) { return("protected"); } if ((accessFlags & FieldAccessFlags.Private) != 0) { return("private"); } return(""); }
public FieldInfo(JavaClass @class, FieldAccessFlags accessFlags, string name, string descriptor, IDictionary<string, AttributeBase> attributes) : base(@class, name, descriptor, attributes) { this.AccessFlags = accessFlags; this.Signature = JVMdotNET.Core.ClassFile.Signature.Signature.ParseFieldSignature(descriptor); }