diff options
Diffstat (limited to 'generic/tclOOScript.h')
| -rw-r--r-- | generic/tclOOScript.h | 57 |
1 files changed, 32 insertions, 25 deletions
diff --git a/generic/tclOOScript.h b/generic/tclOOScript.h index c8a79a9..b9223ee 100644 --- a/generic/tclOOScript.h +++ b/generic/tclOOScript.h @@ -249,7 +249,7 @@ static const char *tclOOSetupScript = "\t\tunexport create createWithNamespace new\n" "\t}\n" "\tnamespace eval configuresupport {\n" -"\t\tproc property {readslot writeslot args} {\n" +"\t\tproc PropertyImpl {readslot writeslot args} {\n" "\t\t\tfor {set i 0} {$i < [llength $args]} {incr i} {\n" "\t\t\t\tset prop [lindex $args $i]\n" "\t\t\t\tif {[string match \"-*\" $prop]} {\n" @@ -260,7 +260,8 @@ static const char *tclOOSetupScript = "\t\t\t\tset getter [format {::set [my varname %s]} $prop]\n" "\t\t\t\tset setter [format {::set [my varname %s] $value} $prop]\n" "\t\t\t\tset kind readwrite\n" -"\t\t\t\twhile {[string match \"-*\" [set next [lindex $args [expr {$i + 1}]]]]} {\n" +"\t\t\t\twhile {[set next [lindex $args [expr {$i + 1}]]\n" +"\t\t\t\t\t\tstring match \"-*\" $next]} {\n" "\t\t\t\t\tset arg [lindex $args [incr i 2]]\n" "\t\t\t\t\tswitch [::tcl::prefix match {-get -kind -set} $next] {\n" "\t\t\t\t\t\t-get {\n" @@ -290,50 +291,47 @@ static const char *tclOOSetupScript = "\t\t\t\t}\n" "\t\t\t\tswitch $kind {\n" "\t\t\t\t\treadable {\n" -"\t\t\t\t\t\tuplevel 1 [list $readslot -append $realprop]\n" -"\t\t\t\t\t\tuplevel 1 [list method <ReadProp$realprop> {} $getter]\n" +"\t\t\t\t\t\tuplevel 1 [list \\\n" +"\t\t\t\t\t\t\t\t$readslot -append $realprop]\n" +"\t\t\t\t\t\tuplevel 1 [list \\\n" +"\t\t\t\t\t\t\t\tmethod <ReadProp$realprop> {} $getter]\n" "\t\t\t\t\t}\n" "\t\t\t\t\twritable {\n" -"\t\t\t\t\t\tuplevel 1 [list $writeslot -append $realprop]\n" -"\t\t\t\t\t\tuplevel 1 [list method <WriteProp$realprop> {value} $setter]\n" +"\t\t\t\t\t\tuplevel 1 [list \\\n" +"\t\t\t\t\t\t\t\t$writeslot -append $realprop]\n" +"\t\t\t\t\t\tuplevel 1 [list \\\n" +"\t\t\t\t\t\t\t\tmethod <WriteProp$realprop> {value} $setter]\n" "\t\t\t\t\t}\n" "\t\t\t\t\treadwrite {\n" -"\t\t\t\t\t\tuplevel 1 [list $readslot -append $realprop]\n" -"\t\t\t\t\t\tuplevel 1 [list $writeslot -append $realprop]\n" -"\t\t\t\t\t\tuplevel 1 [list method <ReadProp$realprop> {} $getter]\n" -"\t\t\t\t\t\tuplevel 1 [list method <WriteProp$realprop> {value} $setter]\n" +"\t\t\t\t\t\tuplevel 1 [list \\\n" +"\t\t\t\t\t\t\t\t$readslot -append $realprop]\n" +"\t\t\t\t\t\tuplevel 1 [list \\\n" +"\t\t\t\t\t\t\t\t$writeslot -append $realprop]\n" +"\t\t\t\t\t\tuplevel 1 [list \\\n" +"\t\t\t\t\t\t\t\tmethod <ReadProp$realprop> {} $getter]\n" +"\t\t\t\t\t\tuplevel 1 [list \\\n" +"\t\t\t\t\t\t\t\tmethod <WriteProp$realprop> {value} $setter]\n" "\t\t\t\t\t}\n" "\t\t\t\t}\n" "\t\t\t}\n" "\t\t}\n" "\t\tnamespace eval configurableclass {\n" "\t\t\tproc property args {\n" -"\t\t\t\ttailcall ::oo::configuresupport::property \\\n" +"\t\t\t\ttailcall ::oo::configuresupport::PropertyImpl \\\n" "\t\t\t\t\t::oo::configuresupport::readableproperties \\\n" -"\t\t\t\t\t::oo::configuresupport::writableproperties \\\n" -"\t\t\t\t\t{*}$args\n" +"\t\t\t\t\t::oo::configuresupport::writableproperties {*}$args\n" "\t\t\t}\n" "\t\t\tnamespace path ::oo::define\n" "\t\t}\n" "\t\tnamespace eval configurableobject {\n" "\t\t\tproc property args {\n" -"\t\t\t\ttailcall ::oo::configuresupport::property \\\n" +"\t\t\t\ttailcall ::oo::configuresupport::PropertyImpl \\\n" "\t\t\t\t\t::oo::configuresupport::objreadableproperties \\\n" -"\t\t\t\t\t::oo::configuresupport::objwritableproperties \\\n" -"\t\t\t\t\t{*}$args\n" +"\t\t\t\t\t::oo::configuresupport::objwritableproperties {*}$args\n" "\t\t\t}\n" "\t\t\tnamespace path ::oo::objdefine\n" "\t\t}\n" "\t}\n" -"\tclass create configurable {\n" -"\t\tsuperclass class\n" -"\t\tconstructor {{definitionScript \"\"}} {\n" -"\t\t\tnext {mixin ::oo::configuresupport::configurable}\n" -"\t\t\tnext $definitionScript\n" -"\t\t}\n" -"\t\tdefinitionnamespace -class configuresupport::configurableclass\n" -"\t\tdefinitionnamespace -instance configuresupport::configurableobject\n" -"\t}\n" "\tclass create configuresupport::configurable {\n" "\t\tprivate method Configure:Match {prop kind} {\n" "\t\t\tset props [info object property [self] -all $kind]\n" @@ -362,6 +360,15 @@ static const char *tclOOSetupScript = "\t\t\t}\n" "\t\t}\n" "\t}\n" +"\tclass create configurable {\n" +"\t\tsuperclass class\n" +"\t\tconstructor {{definitionScript \"\"}} {\n" +"\t\t\tnext {mixin ::oo::configuresupport::configurable}\n" +"\t\t\tnext $definitionScript\n" +"\t\t}\n" +"\t\tdefinitionnamespace -class configuresupport::configurableclass\n" +"\t\tdefinitionnamespace -instance configuresupport::configurableobject\n" +"\t}\n" "}\n" /* !END!: Do not edit above this line. */ ; |
