Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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;
        }