public ObjectVariabel(ClassVariabel c, Dictionary<string, PointerContainer> pointer, Dictionary<string, MethodContainer> Method, VariabelDatabase extra, ArrayList Extends) { owner = c; Items = new ClassItemContainer[pointer.Count + Method.Count]; int i = 0; foreach(PointerContainer p in pointer.Values) { Items[i] = new ClassItemContainer() { Name = p.Name, Context = p.DefaultValue, IsPointer = true, Level = p.Level, }; i++; } foreach(MethodContainer m in Method.Values) { Items[i] = new ClassItemContainer() { Name = m.Name, Context = new MethodVariabel(m, this, extra), IsPointer = false, Level = m.Level, }; i++; } AppendExtends(extra); }
private void Resize(ClassItemContainer item) { ClassItemContainer[] cache = new ClassItemContainer[Items.Length + 1]; for(int i = 0; i < Items.Length; i++) { cache[i] = Items[i]; } cache[Items.Length] = item; Items = cache; }