@USE
224.p
@main[]
$h[^reflection:classes[]]
$hi[^h.intersection[
$.hash[]
$.env[]
$.cookie[]
$.table[]
$.test[]
$.test1[]
$.test2[]
]]
$t[^hi._keys[]]
^t.sort{$t.key}
^t.menu{$t.key^if(def $hi.[$t.key]){ - $hi.[$t.key]}}[<br />]
<hr />
^do{$d[^reflection:create[date;create]]}
^do{$d[^reflection:create[date;calendar;1;2;3]]}
^do{$d[^reflection:create[date;now](-2;1)]}
^do{$d[^reflection:create[date;now](-2)]}
^do{$o[^reflection:create[test;create](-1)]}
^do{$o0[^reflection:create[test;create0]]}
^do{$o1[^reflection:create[test1;create1](1)]}
^do{$o2[^reflection:create[test2;create2]]}
<hr />
^reflection:class_name[$hash:CLASS]<br />
^reflection:class_name[$cookie:CLASS]<br />
^reflection:class_name[$env:CLASS]<br />
<hr />
^print[test;$o]
^print[test1;$o1]
^print[test2;$o2]
^print[date;$d]
^print[env;$env:CLASS]
^print[unknown]
<hr />
^test3:m[]
$o[^test3::create[]]
^o.m[]
$h[^reflection:fields[$o.CLASS]]
^h.foreach[k;v]{$k=$v}[, ]<br />
$h[^reflection:fields[$o]]
^h.foreach[k;v]{$k=$v}[, ]<br />
done.
@do[code]
^try-catch{
$code
}
<br />
@print[class;o][m;k;v;h;i;t]
^do{
$m[^reflection:methods[$class]]
$t[^m._keys[]]
^t.sort{$t.key}
^t.menu{
$k[$t.key]
$v[$m.$k]
$h[^reflection:method_info[$class;$k]]
^@${k}[^if($v eq "native"){^if($h.min_params != $h.max_params){^h.min_params.int(0)-}^h.max_params.int(0)}{^for[i](0;^h._count[]-1){$h.$i}[^;]}]^if(def $h.call_type){ {$h.call_type}}^if(def $h.inherited){ {defined in $h.inherited}}
}[<br />]
}
^if(def $o){
^if($m){<br /><br />}
'$class' object class name: '^reflection:class_name[$o]/^reflection:class_name[^reflection:class[$o]]'<br />
'$class' object base class name: '^reflection:base_name[$o]/^if(^reflection:base[$o] is "void"){;^reflection:class_name[^reflection:base[$o]]}'<br />
}
<hr />
E-mail: