afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soome\ OOP test stuff
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soome
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soomeonly
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soomealso oop definitions
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soome
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soomeobject subclass c-aggregate
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soomec-byte obj: m0
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soomec-byte obj: m1
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soomec-4byte obj: m2
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soomec-2byte obj: m3
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soomeend-class
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soome
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soomeobject --> sub class1
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soome
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soomecell: .a
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soomecell: .b
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soome: init
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soome locals| class inst |
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soome 0 inst class --> .a !
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soome 1 inst class --> .b !
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soome;
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soomeend-class
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soome
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soomeclass1 --> new c1inst
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soome
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soomeclass1 --> sub class2
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soomecell: .c
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soomecell: .d
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soome
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soome: init
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soome locals| class inst |
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soome inst class --> super --> init
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soome 2 inst class --> .c !
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soome 3 inst class --> .d !
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soome;
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soomeend-class
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soome
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soomeclass2 --> new c2inst
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soome
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soomeobject subclass c-list
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soomec-list ref: link
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soomec-ref obj: payload
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soomeend-class
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soome
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soome\ test stuff from ficl.html
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soome.( metaclass methods ) cr
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soomemetaclass --> methods
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soome
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soomecr .( c-foo class ) cr
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soomeobject --> sub c-foo
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soomecell: m_cell1
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soome 4 chars: m_chars
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soome : init ( inst class -- )
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soome locals| class inst |
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soome 0 inst class --> m_cell1 !
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soome inst class --> m_chars 4 0 fill
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soome ." initializing an instance of c_foo at " inst x. cr
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soome ;
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soomeend-class
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soome
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soome.( c-foo instance methods... ) cr
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soomec-foo --> new foo-instance
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soomecr
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soomefoo-instance --> methods
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soomefoo-instance --> pedigree
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soomecr
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soomefoo-instance 2dup
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soome --> methods
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soome --> pedigree
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soomecr
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soomec-foo --> see init
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soomecr
afc2ba1deb75b323afde536f2dd18bcafdaa308dToomas Soomefoo-instance --> class --> see init