Example #1
0
 public override bool __TryGetFieldOffset(out int offset)
 {
     return(field.__TryGetFieldOffset(out offset));
 }
Example #2
0
        void AddAttributes(FieldInfo fieldDefinition, IUnresolvedEntity targetEntity)
        {
            // FieldOffsetAttribute
            int fOffset;
            if (fieldDefinition.__TryGetFieldOffset(out fOffset)) {
                var fieldOffset = new DefaultUnresolvedAttribute(fieldOffsetAttributeTypeRef, new[] { KnownTypeReference.Int32 });
                fieldOffset.PositionalArguments.Add(CreateSimpleConstantValue(KnownTypeReference.Int32, fOffset));
                targetEntity.Attributes.Add(interningProvider.Intern(fieldOffset));
            }

            // NonSerializedAttribute
            if (fieldDefinition.IsNotSerialized) {
                targetEntity.Attributes.Add(nonSerializedAttribute);
            }
            FieldMarshal marshal;
            if (fieldDefinition.__TryGetFieldMarshal (out marshal))
                targetEntity.Attributes.Add(ConvertMarshalInfo(marshal));

            AddCustomAttributes(fieldDefinition.CustomAttributes, targetEntity.Attributes);
        }