internal IndexObject(BaseScripter scripter, ObjectObject o) : base(scripter) { this.MinValue = 0; this.indexes = new ArrayList(); if (o.Instance.GetType() == typeof(string)) { this.string_instance = (string) o.Instance; this.what = 1; } else { this.array_instance = (Array) o.Instance; this.what = 2; } }
internal ObjectObject CreateObject() { ObjectObject obj2 = new ObjectObject(base.Scripter, this); ClassObject obj3 = this; while (true) { for (int i = 0; i < obj3.Members.Count; i++) { MemberObject m = obj3.Members[i]; if ((m.Kind == MemberKind.Field) && !m.Static) { InstanceProperty p = new InstanceProperty(m, obj3.Id); obj2.Properties.Add(p); if (m.Imported) { FieldObject obj5 = (FieldObject)m; p.Field_Info = obj5.Field_Info; } } } ClassObject ancestorClass = obj3.AncestorClass; if (ancestorClass == null) { return obj2; } obj3 = ancestorClass; } }
internal ObjectObject AddDelegates(ObjectObject d1, ObjectObject d2) { object obj4; FunctionObject obj5; bool flag; ObjectObject obj3 = d1.Class_Object.CreateObject(); for (flag = d1.FindFirstInvocation(out obj4, out obj5); flag; flag = d1.FindNextInvocation(out obj4, out obj5)) { obj3.AddInvocation(obj4, obj5); } for (flag = d2.FindFirstInvocation(out obj4, out obj5); flag; flag = d2.FindNextInvocation(out obj4, out obj5)) { obj3.AddInvocation(obj4, obj5); } return obj3; }
private void ApplyDel(ObjectObject d, params object[] p) { if (d != null) { object obj2; FunctionObject obj3; d.FindFirstInvocation(out obj2, out obj3); while (obj3 != null) { this.code.CallMethodEx(RunMode.Run, obj2, obj3.Id, p); d.FindNextInvocation(out obj2, out obj3); } } }
public ObjectObject Clone() { ObjectObject obj2 = new ObjectObject(base.Scripter, this.class_object); obj2.Instance = this.Instance; for (int i = 0; i < this.Properties.Count; i++) { InstanceProperty p = this.Properties[i].Clone(); obj2.Properties.Add(p); } return obj2; }
private bool CompareDelegates(ObjectObject d1, ObjectObject d2) { if (d1.InvocationCount == d2.InvocationCount) { object obj2; object obj3; FunctionObject obj4; FunctionObject obj5; bool flag = d1.FindFirstInvocation(out obj2, out obj4); for (flag = d2.FindFirstInvocation(out obj3, out obj5); flag; flag = d2.FindNextInvocation(out obj3, out obj5)) { if ((obj2 != obj3) || (obj4 != obj5)) { return false; } flag = d1.FindNextInvocation(out obj2, out obj4); } return true; } return false; }