diff options
author | dakkar <dakkar@thenautilus.net> | 2023-07-22 16:38:33 +0100 |
---|---|---|
committer | dakkar <dakkar@thenautilus.net> | 2023-07-22 16:38:33 +0100 |
commit | 02eec4498027352e87826929d015f5b47bad93f8 (patch) | |
tree | f59e8d639aabdd6899cb3d570d57468d7e85833a /bos-meta-class.sh | |
parent | move constructor to global base class (diff) | |
download | bash-object-system-02eec4498027352e87826929d015f5b47bad93f8.tar.gz bash-object-system-02eec4498027352e87826929d015f5b47bad93f8.tar.bz2 bash-object-system-02eec4498027352e87826929d015f5b47bad93f8.zip |
metaclass instances
Diffstat (limited to 'bos-meta-class.sh')
-rw-r--r-- | bos-meta-class.sh | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/bos-meta-class.sh b/bos-meta-class.sh index 9bfdd0a..1fedb45 100644 --- a/bos-meta-class.sh +++ b/bos-meta-class.sh @@ -1,9 +1,5 @@ #!bash -# this encoding must match bos-namespaces/encode-into -bos_5fbos_2fmeta_2fclass_5fmeta="bos-dipatch/invoke bos/meta/class 0" -declare -a bos_5fbos_2fmeta_2fclass_5fmro=( "bos/meta/class" ) - # these are instance methods of the base metaclass function bos/meta/class/isa-for-into() { @@ -152,3 +148,15 @@ function bos/meta/class/create-object-into() { return 0 } + +function bos/meta/class() { + bos-dispatch/invoke bos/meta/class 0 "$@" +} + +declare bos_meta_class_meta_class_instance +bos/meta/class/create-object-into bos_meta_class_meta_class_instance bos/meta/class +bos-meta/set-metaclass-instance-for bos/meta/class "$bos_meta_class_meta_class_instance" + +$bos_meta_class_meta_class_instance make-mro-for bos/meta/class + +unset bos_meta_class_meta_class_instance |