parameters.xotcl

Clone Tools
  • last updated 9 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- renamed old "xotcl::is" -> "xotcl::objectproperty" - renamed old "xotcl::is2" -> "xotcl::is" - we have now is tests for objects in ::xotcl::objectproperty ::xotcl::objectproperty $obj object ::xotcl::objectproperty $obj class ::xotcl::objectproperty $obj baseclass ::xotcl::objectproperty $obj metaclass ::xotcl::objectproperty $obj type XXXX ::xotcl::objectproperty $obj hasmixin XXXX

- "::xotcl::is" is the higher level command,

supporting string contstraints "e.g. upper", user defined type checkers

and as well object properties (every parameter type supported for object

and method paameter). Examples:

::xotcl::is $obj object ?-type $type? ?-hasmixin $mixin?

::xotcl::is $cl class ?-type $type? ?-hasmixin $mixin?

::xotcl::is obj metaclass

::xotcl::is $num integer

::xotcl::is $string upper

- implemented 2nd level reference counting for paramObjType

  1. … 6 more files in changeset.
- Unified on c-level "info class-mixin-of" and "info object-mixin-of" to "info mixinof ?-scope all|object|class? ?-closure? ?pattern? The former "info class-mixin-of" is now "info mixinof -scope class" - adapted xotcl1 layer for this change - extended experimental ::xotcl::is2 to handle flags -type and -hasmixin ::xotcl::is2 <obj> object ?-type <type>? ?-hasmixin <class>?

  1. … 8 more files in changeset.
- experimental checking function ::xotcl::is2 implemented, which generalizes between ::xotcl::is and ::xotcl::valuecheck (it is a valuecheck -nocomplain with an ::xotcl::is syntax and switched arguments)

  1. … 5 more files in changeset.
- support for method modifier "object", "protected" and "public" for method "attribute". One can use now e.g.

Class create C {

:attribute a

:public attribute b

:protected attribute c

:object attribute A

:public object attribute B

:protected object attribute C

}

"protected" and "public" refers to the registered accessor functions

  1. … 4 more files in changeset.
- fix namespace in method "case" of "Test" - use Test->case for all tests in parameter.xotcl

  1. … 1 more file in changeset.
- new "Test case" method with initblock

  1. … 1 more file in changeset.
- new methods for MetaSlot to factor out common code: + slotName (to ease name-construction, care about slot container) + createFromParameterSyntax: essentially move from ::xotcl::Attribute to the meta class - test environment: make sure to avoid confusions between the "namespace" method and command

  1. … 3 more files in changeset.
- experimental: allow to show built-in types provided that a) slot= is specified explicitely, and b) the specified slot is not the default slot. This should guarantee that we do not interfere with the predefined converters for the c-level interface. - incremented ref count on results of all-level converter - extended regression test

  1. … 1 more file in changeset.
- ::xotcl::valuecheck: moved "-nocomplain" to first position (similar to e.g. unset)

  1. … 3 more files in changeset.
- implemented "info method definition|parameter|args $name" for settercmds (with parameter constraints) - extended regression test

  1. … 1 more file in changeset.
- fixed returned method name when setter was used on objects - reduce verbosity

  1. … 2 more files in changeset.
- added parameter "incremental" to ::xotcl::Attribute: when set, one can use "object paramname add|delete $value" etc. - use setters with parameter constraints in slot optimizer - as a consequence, setting attributes via slot names is about twice as fast as before, when parameter constraints are used. - extended regression test

  1. … 3 more files in changeset.
- added a "-nocomplain" option to ::xotcl::valuecheck - changed semantic of ::xotcl::valuecheck: per default, valuecheck raises an error or returns true. If "-nocomplain" is used, valuecheck returns 0 or 1 like implemented befor this change - extended regression test

  1. … 3 more files in changeset.
- add comment to converter, make it less verbose

- removed duplciate error message in "hasmixin" converter - fixed refcounting in converting user-types in case of errors - extended regression test

  1. … 3 more files in changeset.
- setterCmd(): Do not allow methodNames start with "-" - setterCmd(): Do not allow defaults for setters - extend regression test

  1. … 2 more files in changeset.
- Allowed parameter specification for setters. One can define now a setter with constraints like e.g. ::xotcl::setter o a:integer to define a setter named "a" for object "o" which has to be integer. - Extended regression test - Followed nameing conventions for several structures

  1. … 5 more files in changeset.
- fixed valuecheck in connection with modifying converters - extended regression test

  1. … 1 more file in changeset.
- made error messages for failed conversions more consistent (note that tcl does not provide the parameter name in the error message, but user-defined converters do)

  1. … 13 more files in changeset.
- renamed "::xotcl::is ... mixin ..." to "::xotcl::is ... hasmixin ..." (affects parametertypes as well)

  1. … 6 more files in changeset.
- move methodParameter checkers for "mixin", "baseclass" and "metaclass" to predefined. - deactivated checkMethods in gentclAPI.decls and in xotcl.c

  1. … 6 more files in changeset.
- provide error message for cases, where parameter options are not allowed (or ignored)

  1. … 1 more file in changeset.
- streamline quoting in regression test

- handle multivalued + values converted viaCmd converter the new output list is only built when needed via ArgumentCheckHelper()

  1. … 2 more files in changeset.
- treat currently unknown converters in valuecheckcmd as error - fix the regression test from the last changes

  1. … 1 more file in changeset.
- added parameter option slot= to pass slotobj to a certain parameter - use slot option to keep relation between parameter and slot - object parameter dispatch type checker on slot objects - allow transformation via user-defined converter (can be use to standardize parameter values) experimental implementation, refcounting has to be looked in detail, maybe we need a different interface for the converters

  1. … 5 more files in changeset.
- added error message when substdefault is specified without a default value - extend regression test

  1. … 1 more file in changeset.
- predefined.xotcl: move toParameterSyntax and objectparameter to a position, where basic slot definitions are provided - fixed default value setting in bootstrap code - provide more precise error message in converter, when object type are used - extend regression test

  1. … 3 more files in changeset.
- get rid of convertToObjectOfType(), make convertToClass() and converterToObject() more general, accepting type constraints

  1. … 1 more file in changeset.
- support for all string constraints provided by "string is ... $value" in object and method parameters ("alum", "alpha", ..., "xdigit"). Technically, these types are tclobjs (using converter convertToTclobj) having pParm->converterArg set to the constraints. - extended regression test

  1. … 4 more files in changeset.