Wren.Core.Objects.ObjClass.BindSuperclass C# (CSharp) Method

BindSuperclass() public method

public BindSuperclass ( ObjClass sc ) : void
sc ObjClass
return void
        public void BindSuperclass(ObjClass sc)
        {
            if (sc == null)
            {
                throw new Exception("Must have superclass.");
            }

            Superclass = sc;

            // Include the superclass in the total number of fields.
            NumFields += sc.NumFields;

            // Inherit methods from its superclass.
            Methods = new Method[sc.Methods.Length];
            sc.Methods.CopyTo(Methods, 0);
        }

Usage Example

Esempio n. 1
0
        // Creates a new class object as well as its associated metaclass.
        public ObjClass(ObjClass superclass, int numFields, ObjString name)
        {
            Methods = new Method[InitialMethodSize];
            Superclass = superclass;
            NumFields = numFields;
            Name = name;

            // Create the metaclass.
            ObjString metaclassName = new ObjString(name + " metaclass");

            ObjClass metaclass = new ObjClass(0, metaclassName) { ClassObj = ClassClass };

            // Metaclasses always inherit Class and do not parallel the non-metaclass
            // hierarchy.
            metaclass.BindSuperclass(ClassClass);

            ClassObj = metaclass;
            BindSuperclass(superclass);
        }
All Usage Examples Of Wren.Core.Objects.ObjClass::BindSuperclass