Index: generic/predefined.h =================================================================== diff -u -rffd2368a61d1328d71f07ef8b922820bf8263c25 -rf79e2c8697d6f0ae0082c257a65240e815e99ad8 --- generic/predefined.h (.../predefined.h) (revision ffd2368a61d1328d71f07ef8b922820bf8263c25) +++ generic/predefined.h (.../predefined.h) (revision f79e2c8697d6f0ae0082c257a65240e815e99ad8) @@ -73,6 +73,28 @@ "if {![::xotcl::is $slotobject object]} {::xotcl::Object create $slotobject}\n" "eval next -childof $slotobject $args}\n" "::xotcl::MetaSlot create ::xotcl::Slot\n" +"::xotcl::MetaSlot invalidateinterfacedefinition\n" +"::xotcl::Object instproc configureargs {} {\n" +"set arg_list [list]\n" +"foreach slot [my info slotobjects] {\n" +"set arg \"-[namespace tail $slot]\"\n" +"set opts [list]\n" +"if {[$slot exists required] && [$slot required]} {\n" +"lappend opts required}\n" +"if {[$slot exists type]} {\n" +"lappend opts [$slot type]}\n" +"if {[$slot exists default]} {\n" +"set default [$slot set default]\n" +"if {[string match {*\\[*\\]*} $default] || [string first $default {$}] > -1} {\n" +"lappend opts substdefault}} elseif [info exists default] {\n" +"unset default}\n" +"if {[llength $opts] > 0} {\n" +"set arg \"$arg:[join $opts ,]\"}\n" +"if {[info exists default]} {\n" +"lappend arg $default}\n" +"lappend arg_list $arg}\n" +"lappend arg_list args\n" +"return $arg_list}\n" "proc createBootstrapAttributeSlots {class definitions} {\n" "if {![::xotcl::is ${class}::slot object]} {\n" "::xotcl::Object create ${class}::slot}\n" @@ -91,22 +113,6 @@ "unset default}}\n" "puts stderr \"Bootstrapslot for $class calls invalidateinterfacedefinition\"\n" "$class invalidateinterfacedefinition}\n" -"::xotcl::Object instproc configureargs {} {\n" -"set arg_list [list]\n" -"foreach slot [my info slotobjects] {\n" -"set arg \"-[namespace tail $slot]\"\n" -"set opts [list]\n" -"if {[$slot exists required] && [$slot required]} {\n" -"lappend opts required}\n" -"if {[$slot exists type]} {\n" -"lappend opts [$slot type]}\n" -"if {[llength $opts] > 0} {\n" -"set arg \"$arg:[join $opts ,]\";}\n" -"if {[$slot exists default]} {\n" -"set arg [list $arg [subst [$slot set default]]]}\n" -"lappend arg_list $arg}\n" -"lappend arg_list args\n" -"return $arg_list}\n" "createBootstrapAttributeSlots ::xotcl::Class {\n" "{__default_superclass ::xotcl::Object}\n" "{__default_metaclass ::xotcl::Class}}\n"