scripts
This commit is contained in:
@@ -0,0 +1,221 @@
|
||||
using System;
|
||||
using System.Globalization;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.Serialization;
|
||||
|
||||
namespace System.Reflection
|
||||
{
|
||||
// Token: 0x02000255 RID: 597
|
||||
[Serializable]
|
||||
internal class MonoField : FieldInfo, ISerializable
|
||||
{
|
||||
// Token: 0x170005B4 RID: 1460
|
||||
// (get) Token: 0x06001EE6 RID: 7910 RVA: 0x00071BF4 File Offset: 0x0006FDF4
|
||||
public override FieldAttributes Attributes
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.attrs;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x170005B5 RID: 1461
|
||||
// (get) Token: 0x06001EE7 RID: 7911 RVA: 0x00071BFC File Offset: 0x0006FDFC
|
||||
public override RuntimeFieldHandle FieldHandle
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.fhandle;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x170005B6 RID: 1462
|
||||
// (get) Token: 0x06001EE8 RID: 7912 RVA: 0x00071C04 File Offset: 0x0006FE04
|
||||
public override Type FieldType
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.type;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06001EE9 RID: 7913
|
||||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||||
private extern Type GetParentType(bool declaring);
|
||||
|
||||
// Token: 0x170005B7 RID: 1463
|
||||
// (get) Token: 0x06001EEA RID: 7914 RVA: 0x00071C0C File Offset: 0x0006FE0C
|
||||
public override Type ReflectedType
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.GetParentType(false);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x170005B8 RID: 1464
|
||||
// (get) Token: 0x06001EEB RID: 7915 RVA: 0x00071C18 File Offset: 0x0006FE18
|
||||
public override Type DeclaringType
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.GetParentType(true);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x170005B9 RID: 1465
|
||||
// (get) Token: 0x06001EEC RID: 7916 RVA: 0x00071C24 File Offset: 0x0006FE24
|
||||
public override string Name
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.name;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06001EED RID: 7917 RVA: 0x00071C2C File Offset: 0x0006FE2C
|
||||
public override bool IsDefined(Type attributeType, bool inherit)
|
||||
{
|
||||
return MonoCustomAttrs.IsDefined(this, attributeType, inherit);
|
||||
}
|
||||
|
||||
// Token: 0x06001EEE RID: 7918 RVA: 0x00071C38 File Offset: 0x0006FE38
|
||||
public override object[] GetCustomAttributes(bool inherit)
|
||||
{
|
||||
return MonoCustomAttrs.GetCustomAttributes(this, inherit);
|
||||
}
|
||||
|
||||
// Token: 0x06001EEF RID: 7919 RVA: 0x00071C44 File Offset: 0x0006FE44
|
||||
public override object[] GetCustomAttributes(Type attributeType, bool inherit)
|
||||
{
|
||||
return MonoCustomAttrs.GetCustomAttributes(this, attributeType, inherit);
|
||||
}
|
||||
|
||||
// Token: 0x06001EF0 RID: 7920
|
||||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||||
internal override extern int GetFieldOffset();
|
||||
|
||||
// Token: 0x06001EF1 RID: 7921
|
||||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||||
private extern object GetValueInternal(object obj);
|
||||
|
||||
// Token: 0x06001EF2 RID: 7922 RVA: 0x00071C50 File Offset: 0x0006FE50
|
||||
public override object GetValue(object obj)
|
||||
{
|
||||
if (!this.IsStatic)
|
||||
{
|
||||
if (obj == null)
|
||||
{
|
||||
throw new TargetException("Non-static field requires a target");
|
||||
}
|
||||
if (!this.DeclaringType.IsAssignableFrom(obj.GetType()))
|
||||
{
|
||||
throw new ArgumentException(string.Format("Field {0} defined on type {1} is not a field on the target object which is of type {2}.", this.Name, this.DeclaringType, obj.GetType()), "obj");
|
||||
}
|
||||
}
|
||||
if (!this.IsLiteral)
|
||||
{
|
||||
this.CheckGeneric();
|
||||
}
|
||||
return this.GetValueInternal(obj);
|
||||
}
|
||||
|
||||
// Token: 0x06001EF3 RID: 7923 RVA: 0x00071CD0 File Offset: 0x0006FED0
|
||||
public override string ToString()
|
||||
{
|
||||
return string.Format("{0} {1}", this.type, this.name);
|
||||
}
|
||||
|
||||
// Token: 0x06001EF4 RID: 7924
|
||||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||||
private static extern void SetValueInternal(FieldInfo fi, object obj, object value);
|
||||
|
||||
// Token: 0x06001EF5 RID: 7925 RVA: 0x00071CE8 File Offset: 0x0006FEE8
|
||||
public override void SetValue(object obj, object val, BindingFlags invokeAttr, Binder binder, CultureInfo culture)
|
||||
{
|
||||
if (!this.IsStatic)
|
||||
{
|
||||
if (obj == null)
|
||||
{
|
||||
throw new TargetException("Non-static field requires a target");
|
||||
}
|
||||
if (!this.DeclaringType.IsAssignableFrom(obj.GetType()))
|
||||
{
|
||||
throw new ArgumentException(string.Format("Field {0} defined on type {1} is not a field on the target object which is of type {2}.", this.Name, this.DeclaringType, obj.GetType()), "obj");
|
||||
}
|
||||
}
|
||||
if (this.IsLiteral)
|
||||
{
|
||||
throw new FieldAccessException("Cannot set a constant field");
|
||||
}
|
||||
if (binder == null)
|
||||
{
|
||||
binder = Binder.DefaultBinder;
|
||||
}
|
||||
this.CheckGeneric();
|
||||
if (val != null)
|
||||
{
|
||||
object obj2 = binder.ChangeType(val, this.type, culture);
|
||||
if (obj2 == null)
|
||||
{
|
||||
throw new ArgumentException(string.Concat(new object[]
|
||||
{
|
||||
"Object type ",
|
||||
val.GetType(),
|
||||
" cannot be converted to target type: ",
|
||||
this.type
|
||||
}), "val");
|
||||
}
|
||||
val = obj2;
|
||||
}
|
||||
MonoField.SetValueInternal(this, obj, val);
|
||||
}
|
||||
|
||||
// Token: 0x06001EF6 RID: 7926 RVA: 0x00071DD8 File Offset: 0x0006FFD8
|
||||
internal MonoField Clone(string newName)
|
||||
{
|
||||
return new MonoField
|
||||
{
|
||||
name = newName,
|
||||
type = this.type,
|
||||
attrs = this.attrs,
|
||||
klass = this.klass,
|
||||
fhandle = this.fhandle
|
||||
};
|
||||
}
|
||||
|
||||
// Token: 0x06001EF7 RID: 7927 RVA: 0x00071E24 File Offset: 0x00070024
|
||||
public void GetObjectData(SerializationInfo info, StreamingContext context)
|
||||
{
|
||||
MemberInfoSerializationHolder.Serialize(info, this.Name, this.ReflectedType, this.ToString(), MemberTypes.Field);
|
||||
}
|
||||
|
||||
// Token: 0x06001EF8 RID: 7928
|
||||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||||
public override extern object GetRawConstantValue();
|
||||
|
||||
// Token: 0x06001EF9 RID: 7929 RVA: 0x00071E4C File Offset: 0x0007004C
|
||||
private void CheckGeneric()
|
||||
{
|
||||
if (this.DeclaringType.ContainsGenericParameters)
|
||||
{
|
||||
throw new InvalidOperationException("Late bound operations cannot be performed on fields with types for which Type.ContainsGenericParameters is true.");
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x04000ABC RID: 2748
|
||||
internal IntPtr klass;
|
||||
|
||||
// Token: 0x04000ABD RID: 2749
|
||||
internal RuntimeFieldHandle fhandle;
|
||||
|
||||
// Token: 0x04000ABE RID: 2750
|
||||
private string name;
|
||||
|
||||
// Token: 0x04000ABF RID: 2751
|
||||
private Type type;
|
||||
|
||||
// Token: 0x04000AC0 RID: 2752
|
||||
private FieldAttributes attrs;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user