aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Bennett <steveb@workware.net.au>2021-02-10 07:42:53 +1000
committerSteve Bennett <steveb@workware.net.au>2021-02-20 18:12:15 +1000
commit8a76ea51e2f9994a8e18d2f48b09735f3ecc6ea7 (patch)
treeb54326b17b9a99c6bb54aa1dfe43164ae76c834c
parent0e541ac9fad7c9eb092dc2b7e4a7a3a66b100021 (diff)
downloadjimtcl-8a76ea51e2f9994a8e18d2f48b09735f3ecc6ea7.zip
jimtcl-8a76ea51e2f9994a8e18d2f48b09735f3ecc6ea7.tar.gz
jimtcl-8a76ea51e2f9994a8e18d2f48b09735f3ecc6ea7.tar.bz2
oo: minor code cleanups
Signed-off-by: Steve Bennett <steveb@workware.net.au>
-rw-r--r--oo.tcl10
1 files changed, 5 insertions, 5 deletions
diff --git a/oo.tcl b/oo.tcl
index d07d5fb..c1084f1 100644
--- a/oo.tcl
+++ b/oo.tcl
@@ -22,7 +22,6 @@ proc class {classname {baseclasses {}} classvars} {
# Merge in the baseclass vars with lower precedence
set classvars [dict merge $baseclassvars $classvars]
- set vars [lsort [dict keys $classvars]]
# This is the class dispatcher for $classname
# It simply dispatches 'classname cmd' to a procedure named {classname cmd}
@@ -73,7 +72,7 @@ proc class {classname {baseclasses {}} classvars} {
}
}
# Other simple class procs
- proc "$classname vars" {} vars { return $vars }
+ proc "$classname vars" {} classvars { lsort [dict keys $classvars] }
proc "$classname classvars" {} classvars { return $classvars }
proc "$classname classname" {} classname { return $classname }
proc "$classname methods" {} classname {
@@ -84,9 +83,10 @@ proc class {classname {baseclasses {}} classvars} {
# Pre-defined some instance methods
$classname method destroy {} { rename $self "" }
$classname method get {var} { set $var }
- $classname method eval {{locals {}} __code} {
- foreach var $locals { upvar 2 $var $var }
- eval $__code
+ $classname method eval {{__locals {}} __body} {
+ foreach __ $__locals { upvar 2 $__ $__ }
+ unset -nocomplain __
+ eval $__body
}
return $classname
}