::oo::define ::oo::class export createWithNamespace

::oo::class createWithNamespace ::cl1 cl1 {
}

::oo::define ::cl1 method m1 {args} {
    puts "cl1::m1 called!$args![namespace current]!"
    my m3 $args
    m2 $args
} -use_declarer_ns

::oo::define ::cl1 method m2 {args} {
    puts "cl1::m2 called!$args!"
    puts "N![namespace current]![uplevel 1 namespace current]!"
} -use_declarer_ns

::oo::define ::cl1 method m3 {args} {
    puts "cl1::m3 called!$args!"
} -use_declarer_ns

interp alias {} ::cl1::m2 {} ::cl1::my m2 

cl1 createWithNamespace ::o1 ::cl1

o1 m1 abc
o1 m2 def
