@eagleoutice/flowr - v2.17.4
    Preparing search index...

    How one built-in declares a class, so no processor has to guess an argument's meaning from its position.

    interface ClassDeclarationConfig {
        containsArg?: ClassArgRef;
        instanceBindings?: readonly BrandedIdentifier[];
        memberArgs?: readonly ClassMemberArgRef[];
        nameArg?: ClassArgRef;
        oldClass?: { classesArg: ClassArgRef; openArgs: readonly ClassArgRef[] };
        prototypeArg?: ClassArgRef;
        relation?: "is" | "validity";
        system: ClassSystem;
        unionArg?: ClassArgRef;
        validityArg?: ClassArgRef;
        virtualArg?: ClassArgRef;
    }
    Index
    containsArg?: ClassArgRef

    the argument carrying the direct superclass(es): S4 contains, S7 parent, R6 inherit, RC contains

    instanceBindings?: readonly BrandedIdentifier[]

    the names the methods of the class see the instance they are called on by (R6 self and private, RC .self), so writing through them changes that instance

    memberArgs?: readonly ClassMemberArgRef[]

    the arguments carrying members, in the order they are to be read

    nameArg?: ClassArgRef

    the argument naming the class

    oldClass?: { classesArg: ClassArgRef; openArgs: readonly ClassArgRef[] }

    the S3 class vector to register as S4 classes (setOldClass), and the arguments that make the classes of an object decide instead

    prototypeArg?: ClassArgRef

    the argument carrying the member defaults (S4 prototype)

    relation?: "is" | "validity"

    the declaration relates existing classes rather than declaring one

    system: ClassSystem
    unionArg?: ClassArgRef

    the argument listing the members of a class union (setClassUnion)

    validityArg?: ClassArgRef

    the argument carrying the function checking every new instance (S4 validity)

    virtualArg?: ClassArgRef

    the argument saying the class cannot be instantiated (S7 abstract)