Artifact
6a5c35438c29cf2588f0a8c0e71d2562cc80016a40445ac975722fc82a776d9e:
Attachment "obj5-bad.tcl" to
ticket [929a918ec1]
added by
mnsummerfield
2024-07-10 07:18:20.
(unpublished)
#!/usr/bin/env tclsh9
oo::class create V {
method valid_int {i} {
if {![string is integer -strict $i]} {
throw NOT_AN_INT "must be an int not \"$i\""
}
return $i
}
unexport valid_int
}
oo::configurable create Q {
mixin V
variable x y
constructor args {
my configure -x 0 -y 0 {*}$args
}
property x -set { set x [my valid_int $value] }
property y -set { set y [my valid_int $value] }
}
puts "Q"
set q1 [Q new]
puts "q1 x=[$q1 configure -x] y=[$q1 configure -y]"
$q1 configure -x 5
puts "q1 [$q1 configure]"
try {$q1 configure -x "invalid"} trap {} err { puts $err }
set q2 [Q new -x 0 -y -8]
puts "q2 [$q2 configure]"
$q2 configure -x 17
puts "q2 [$q2 configure]"
puts "q1 [$q1 configure]"
try {$q1 valid_int 5} trap {} err { puts $err }