Index: generic/predefined.h =================================================================== diff -u -r1e72a93dd117734d0ab49c7ea7aa87f69f9a00b5 -r05f4b42f7615ea410b7ac33093f5b8382ce7e8c5 --- generic/predefined.h (.../predefined.h) (revision 1e72a93dd117734d0ab49c7ea7aa87f69f9a00b5) +++ generic/predefined.h (.../predefined.h) (revision 05f4b42f7615ea410b7ac33093f5b8382ce7e8c5) @@ -206,10 +206,10 @@ "-volatile:method,optional,noarg \\\n" "arg:initcmd,optional\n" "return $parameterdefinitions}\n" -"::xotcl::MetaSlot create ::xotcl::ParameterSlot\n" -"foreach cmd [info command ::xotcl::cmd::ParameterSlot::*] {\n" -"::xotcl::alias ::xotcl::ParameterSlot [namespace tail $cmd] $cmd}\n" -"::xotcl::ParameterSlot create ::xotcl::parameterSlot\n" +"::xotcl::MetaSlot create ::xotcl::MethodParameterSlot\n" +"foreach cmd [info command ::xotcl::cmd::MethodParameterSlot::*] {\n" +"::xotcl::alias ::xotcl::MethodParameterSlot [namespace tail $cmd] $cmd}\n" +"::xotcl::MethodParameterSlot create ::xotcl::methodParameterSlot\n" "proc createBootstrapAttributeSlots {class definitions} {\n" "if {![::xotcl::is ${class}::slot object]} {\n" "::xotcl2::Object create ${class}::slot}\n" @@ -278,18 +278,18 @@ "${:manager} \\\n" "[list %1 [${:manager} defaultmethods]] %self \\\n" "${:methodname}}}\n" -"::xotcl::MetaSlot create ::xotcl::InfoSlot\n" -"createBootstrapAttributeSlots ::xotcl::InfoSlot {\n" +"::xotcl::MetaSlot create ::xotcl::RelationSlot\n" +"createBootstrapAttributeSlots ::xotcl::RelationSlot {\n" "{multivalued true}\n" +"{type relation}\n" "{elementtype ::xotcl2::Class}}\n" -"::xotcl::relation ::xotcl::InfoSlot superclass ::xotcl::Slot\n" -"::xotcl::InfoSlot public method get {obj prop} {\n" -"$obj info $prop}\n" -"::xotcl::InfoSlot public method add {obj prop value {pos 0}} {\n" -"if {![set :multivalued]} {\n" -"error \"Property $prop of ${:domain}->$obj ist not multivalued\"}\n" -"$obj $prop [linsert [$obj info $prop] $pos $value]}\n" -"::xotcl::InfoSlot protected method delete_value {obj prop old value} {\n" +"::xotcl::relation ::xotcl::RelationSlot superclass ::xotcl::Slot\n" +"::xotcl::alias ::xotcl::RelationSlot assign ::xotcl::relation\n" +"::xotcl::RelationSlot protected method init {} {\n" +"if {${:type} ne \"relation\"} {\n" +"error \"RelationSlot requires type == \\\"relation\\\"\"}\n" +"next}\n" +"::xotcl::RelationSlot protected method delete_value {obj prop old value} {\n" "if {[string first * $value] > -1 || [string first \\[ $value] > -1} {\n" "if {${:elementtype} ne \"\" && ![string match ::* $value]} {\n" "set value ::$value}\n" @@ -304,40 +304,35 @@ "if {$p > -1} {\n" "return [lreplace $old $p $p]} else {\n" "error \"$value is not a $prop of $obj (valid are: $old)\"}}\n" -"::xotcl::InfoSlot public method delete {-nocomplain:switch obj prop value} {\n" +"::xotcl::RelationSlot public method delete {-nocomplain:switch obj prop value} {\n" "$obj $prop [:delete_value $obj $prop [$obj info $prop] $value]}\n" -"::xotcl::MetaSlot alloc ::xotcl::InterceptorSlot\n" -"::xotcl::relation ::xotcl::InterceptorSlot superclass ::xotcl::InfoSlot\n" -"::xotcl::alias ::xotcl::InterceptorSlot set ::xotcl::relation ;# for backwards compatibility\n" -"::xotcl::alias ::xotcl::InterceptorSlot assign ::xotcl::relation\n" -"::xotcl::InterceptorSlot public method get {obj prop} {\n" +"::xotcl::RelationSlot public method get {obj prop} {\n" "::xotcl::relation $obj $prop}\n" -"::xotcl::InterceptorSlot public method add {obj prop value {pos 0}} {\n" +"::xotcl::RelationSlot public method add {obj prop value {pos 0}} {\n" "if {![set :multivalued]} {\n" "error \"Property $prop of ${:domain}->$obj ist not multivalued\"}\n" "set oldSetting [::xotcl::relation $obj $prop]\n" "uplevel [list ::xotcl::relation $obj $prop [linsert $oldSetting $pos $value]]}\n" -"::xotcl::InterceptorSlot public method delete {-nocomplain:switch obj prop value} {\n" +"::xotcl::RelationSlot public method delete {-nocomplain:switch obj prop value} {\n" "uplevel [list ::xotcl::relation $obj $prop [:delete_value $obj $prop [::xotcl::relation $obj $prop] $value]]}\n" "proc ::xotcl::register_system_slots {os} {\n" "${os}::Object alloc ${os}::Class::slot\n" "${os}::Object alloc ${os}::Object::slot\n" -"::xotcl::InfoSlot create ${os}::Class::slot::superclass -type relation\n" +"::xotcl::RelationSlot create ${os}::Class::slot::superclass\n" "::xotcl::alias ${os}::Class::slot::superclass assign ::xotcl::relation\n" -"::xotcl::InfoSlot create ${os}::Object::slot::class -type relation\n" +"::xotcl::RelationSlot create ${os}::Object::slot::class -multivalued false\n" "::xotcl::alias ${os}::Object::slot::class assign ::xotcl::relation\n" -"::xotcl::InterceptorSlot create ${os}::Object::slot::mixin \\\n" -"-type relation -methodname object-mixin\n" -"::xotcl::InterceptorSlot create ${os}::Object::slot::filter \\\n" -"-elementtype \"\" -type relation\n" -"::xotcl::InterceptorSlot create ${os}::Class::slot::mixin \\\n" -"-type relation -methodname class-mixin\n" -"::xotcl::InterceptorSlot create ${os}::Class::slot::filter \\\n" -"-type relation -methodname filter-mixin\n" -"::xotcl::InterceptorSlot create ${os}::Class::slot::object-mixin \\\n" -"-type relation\n" -"::xotcl::InterceptorSlot create ${os}::Class::slot::object-filter \\\n" -"-elementtype \"\" -type relation}\n" +"::xotcl::RelationSlot create ${os}::Object::slot::mixin \\\n" +"-methodname object-mixin\n" +"::xotcl::RelationSlot create ${os}::Object::slot::filter \\\n" +"-elementtype \"\"\n" +"::xotcl::RelationSlot create ${os}::Class::slot::mixin \\\n" +"-methodname class-mixin\n" +"::xotcl::RelationSlot create ${os}::Class::slot::filter \\\n" +"-methodname filter-mixin\n" +"::xotcl::RelationSlot create ${os}::Class::slot::object-mixin\n" +"::xotcl::RelationSlot create ${os}::Class::slot::object-filter \\\n" +"-elementtype \"\"}\n" "::xotcl::register_system_slots ::xotcl2\n" "::xotcl::MetaSlot __invalidateobjectparameter\n" "::xotcl::MetaSlot create ::xotcl::Attribute -superclass ::xotcl::Slot\n"