BindSuperclass() 공개 메소드

public BindSuperclass ( ObjClass sc ) : void
sc ObjClass
리턴 void
예제 #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);
        }
예제 #2
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);
        }