xotcl1.xotcl

Clone Tools
  • last updated 4 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- added ::xotcl::method as cmd instead of methods object-method and class-method

  1. … 5 more files in changeset.
- changed assertions: old (xotcl1) interface: 3 methods + 3 info methods * <object> check Options * <object> info check * <object> invar Conditions * <object> info invar * <class> instinvar Conditions * <class> info instinvar

new (xotcl2) interface: 1 cmd (similar to ::xotcl::relation)

::xotcl::assertion check|object-invar|class-invar ?arg?

- added emulation for xotcl1

- deleted namespecific C macros:

isInfoString, isInstinvarString, isInvarString, isInstprocString, isProcString

  1. … 9 more files in changeset.
- renamed "ClassName info instmixinof ?-closure? ?pattern?" into "ClassName info class-mixin-of ?-closure? ?pattern?" - renamed "ClassName info mixinof ?-closure? ?pattern?" into "ClassName info object-mixin-of ?-closure? ?pattern?" - added emulation "ClassName info instmixinof|mixinof" for xotcl1

  1. … 3 more files in changeset.
- new subcommand "... info method body ..." to avoid to relay on syntax of "info method definition" in xotcl1 compatibility

  1. … 4 more files in changeset.
- removed -per-object from ::xotcl::relation - removed -per-object from methods "mixinguard" and "filterguard" - removed -per-object from methods "alias" and "method" - added "... object filterguard ..." and "... object mixinguard ..." - implemented "info method definition" with "object" modifier - extended regression test

  1. … 9 more files in changeset.
- added "<Class> object filter" and "<Class> object mixin" - use explicit "(object|class)-(mixin|filter)" relations in ::xotcl::relation - removed "-per-object" from all user-level relation commands (::xotcl::relation has still "-per-object"), but it is not needed anymore - register slots "object-mixin" and "object-filter" for conveniance to allow object-filter and object-mixins via configuration via object parameter

  1. … 4 more files in changeset.
- turned "setter" method into a command "::xotcl::setter" with the same interface like "::xotcl::alias" - removed flag -per-object from XOTclCForwardMethod - require "object" to be followed directly by either method defining command or info, etc. (use "public object method" instead of "object public method")

  1. … 10 more files in changeset.
- renamed method property "static" to "redefine-protected"

  1. … 7 more files in changeset.
- removed "-protected" and "-public" from method defining methods ("alias", "method")

  1. … 8 more files in changeset.
- changed in xotcl-core "method" into "object-method" and "class-method", provided scripted definition for method in xotcl2 - removed "setter" from methods in xotcl1 - defined xotcl1 methods in terms of "proc" and "instproc"

  1. … 9 more files in changeset.
- Methods defined via "method" are now per default "protected" - new switch "-public" for "method" to define public methods - new flag for "info callable": -callprotection", values "all|protected|public" - new flag for "info methods": -callprotection", values "all|protected|public" - converted part of regression test

  1. … 9 more files in changeset.
- changed "info methods" (without defined, as defined in xotcl1) into "info callable" - changed "info methods -defined" into "info methods" - replaced "procsearch <name>" by "info callable -which <name>" - added emulation for procsearch for xotcl1

  1. … 10 more files in changeset.
- renamed "info method pre" to "info method precondition" - renamed "info method post" to "info method postcondition"

  1. … 3 more files in changeset.
- info "pre" is gone, now subcommand "<obj> info method pre <name>", added emulation in xotcl1 - info "inst pre" is gone, now subcommand "<cls> info method pre <name>", added emulation in xotcl1 - info "post" is gone, now subcommand "<obj> info method post <name>", added emulation in xotcl1 - info "instpost" is gone, now subcommand "<cls> info method post <name>", added emulation in xotcl1 - "info instinvar" gone, added emulation in xotcl1

  1. … 4 more files in changeset.
* info params removed * info instparams removed * added subcommand to "info method args <somename>": similar to "info method parameter ...", but returns only names of parameters instead of full parameter definitions

  1. … 4 more files in changeset.
- method "instfilterguard" is gone (for xotcl2) we have now "<Object> filterguard <name> ... " "<Class> filterguard ?-per-object? <class> " - added emulation for old "filterguard" and "instfilterguard" in xotcl1

  1. … 3 more files in changeset.
- "info instforward" gone, added emulation in xotcl1

  1. … 3 more files in changeset.
- "info instfilterguard" gone, added emulation in xotcl1

  1. … 3 more files in changeset.
- "info instfilter" gone, added emulation in xotcl1

  1. … 3 more files in changeset.
- "info instmixinguard" gone, added emulation in xotcl1

  1. … 3 more files in changeset.
- "info instmixin" gone, added emulation in xotcl1

  1. … 4 more files in changeset.
- method "instmixinguard" is gone (for xotcl2) we have now "<Object> mixinguard <name> ... " "<Class> mixinguard ?-per-object? <class> " - added emulation for old "mixinguard" and "instmixinguard" in xotcl1

- xotcl1: defined "parametercmd" and "instparametercmd" in terms of

alias instead of forward

  1. … 5 more files in changeset.
- new XOTclClassInfoMixinMethod (will replace XOTclClassInfoInstmixinMethod) - adding some tracing for handling "mixin" in relation cmd and info methos for now - removed registry of instmixin and instfilter for xotcl2

  1. … 5 more files in changeset.
- moving definitions to the right place - added "-per-object" to XOTclRelationCmd - skipping "mixin" and "filter" in ::xotcl::parametersFromSlots for xotcl1 objects - added parameter "forward-per-object" to slots in order to flag whether "per-object" should be passed via the forwarder - new function MethodTypeMatches() for filtering on methodtypes - provide faster lookup when pattern for info methods does not contain meta characters

  1. … 6 more files in changeset.
- xotcl2: implemented "<cl> info -per-object subcmd" (moved "-per-object" in front of info, since it specifies, what kind of info is requested). As a consequence, XOTclObjInfoMethodMethod() works returns always object specific infos and XOTclClassInfoMethodMethod() class specific infos, no "-per-object" switch for the subcmd required. - cleanup in other subcomds than "info method" and "info methods" required

  1. … 8 more files in changeset.
- new method named "setter" * <Object> setter <varName> * <|Class> setter ?-per-object? <varName>

- new info method named "method"

* <Object|Class> info method ?-per-object? definition|name|type <methodName>"

* "info method definition" returns full cmds

(e.g. for scripted methods parameters, body, pre- and postconditions)

* fixed proper list handling in AssertionList()

* added tests for "info method" (infomethodtest.xotcl)

- changed method "alias" in xotcl2:

* removed the long list of arguments

".... -cmd -source-object -source-method -source-per-object:switch"

* determine method cmdname via "... info method name <methodName>"

and pass it to alias

- method "parametercmd" and "instparametercmd" are gone (for xotcl2)

we have now

"<Object> setter <name>"

"<Class> setter ?-per-object? <name>"

- added emulation for old "parametercmd" and "instparametercmd" in xotcl1

- method "instforward" is gone (for xotcl2),

we have now

"<Object> forward <name> ... "

"<Class> forward ?-per-object? <name> ... "

- added emulation for old "forward" and "instforward" in xotcl1

- "info body" gone, added emulation in xotcl1

- "info instbody" gone, added emulation in xotcl1

- "info commands" gone, added emulation in xotcl1

- "info instcommands" gone, added emulation in xotcl1

- "info parametercmd" gone, added emulation in xotcl1

- "info instparametercmd" gone, added emulation in xotcl1

  1. … 15 more files in changeset.
- renamed methodType "compiled" to "system" (for system/builtin methods); - saving and maintaining alias command in associative Tcl array ::xotcl::alias - returning aliases to procs and methods via "info methods -defined -methodType alias" (other aliases are still missing, but should be straigth forward with data in associative array)

  1. … 8 more files in changeset.
- added new file