predefined.h

Clone Tools
  • last updated 23 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- new function: ParamDefsList(), - extended ListParams() to work with and without parameter definitions

- deleted following functions:

AppendOrdinaryArgsFromNonposArgs(),

GetProcDefault(),

ListArgsFromOrdinaryArgs(),

ListDefaultFromOrdinaryArgs(),

ListProcArgs()

ListProcDefault(),

SetProcDefault(),

XOTclClassInfoInstargsMethod(),

XOTclClassInfoInstdefaultMethod(),

XOTclClassInfoInstnonposargsMethod(),

XOTclObjInfoArgsMethod(),

XOTclObjInfoDefaultMethod(),

XOTclObjInfoNonposargsMethod(),

checkRequiredValue(),

evalValueIfNeeded(),

setDefaultValue()

- provided backward compatibility on tcl level (currently in predefined, should be moved into library)

  1. … 5 more files in changeset.
- passing obj to ArgumentParse() to get the object-context and to be able to produce nicer error messages - pass pushFrame to ProcessMethodArguments() to signal, whether stack frame was already pushed or not - deactivated check for {$} in objectparameter (for activating substdefault) - fixed class converter, which was to liberal - extended objparametertest for substdefault and some types

  1. … 5 more files in changeset.
- new functionparseContextExtendObjv() to eliminate hard coded limits on argument lengths - reduced PARSE_CONTEXT_PREALLOC 20 - new function XOTclPrintObjv() for debugging (output of objv vector)

  1. … 3 more files in changeset.
- new option initcmd for nonposarg parser (necessary for regression test) - error handling for failed relation settings - fixed crash when canonicalNonpositionalArgs returned result != 0 - regession test runs again

  1. … 4 more files in changeset.
- renamed "objinterface" to "objectparameter" - renamed "invalidateinterfacedefinition" to "invalidateobjectparameter" - fixed regression test "filterAddRemove" and "filterClassChange" to be more robust - deactivated regression test "filterInfo", since this traces the detail of object configuration - object parameters pass now testx regression test, run currently into problems in slottest

  1. … 6 more files in changeset.
- renamed "configureargs" to "objinterface"

  1. … 4 more files in changeset.
- new option substdefault for nonposarg parser - changed per-argument options for argument definitions to bitfield named "flags" - removed CONFIGURE_SIGNATURE_GENERATOR - can start now with cacheInterface 1

  1. … 4 more files in changeset.
- new functions NonposArgsFree(), ParsedInterfaceDefinitionFree() - new class method invalidateinterfacedefinition - renamed convertToInterceptor() to convertToRelation() - added test tests/objifdtest.xotcl (not yet in test suite)

  1. … 6 more files in changeset.
- added first verison of configure based on nonpos args (many thanks to Stefan!)

  1. … 8 more files in changeset.
- fix a bug in CopyHandler (while copying slot objects) - found and fixed two cases, where xotcl could crash during deletion of active objects - simplified deletion logic of active objects significantly unsing an explicit activation count - removed old deletion logic (state variable callIsDestroy, callstate XOTCL_CSC_CALL_IS_DESTROY, destroyedCmd on stack content) - removed now obsolete functions CallStackMarkDestroyed() and CallStackMarkUndestroyed() - made changes for with and without TCL85STACK

  1. … 11 more files in changeset.
- moved all definitions of method commands to generated code - from 15356 generic/xotcl.c => 13408

  1. … 6 more files in changeset.
- changed "<object> info hasNamespace" to "<object> info hasnamespace" (all commands and info options are lowercase only, no underscore) - 11 "<object> info" commands generated

  1. … 6 more files in changeset.
- added generator for tclAPI.h - defined 8 info methods based on the new objv parseing infrastructure - replaced occurances of "instdestroy" by "dealloc" in documentation

  1. … 9 more files in changeset.
- new command: ::xotcl::createobjectsystem <rootClass> <rootMetaClass> This command creates a basic object system with the specified <rootClass> as most general root class and the specified metaclass as most general meta class.

Example: ::xotcl::createobjectsystem ::oo::object ::oo::class

In general, it would be possible to remove an objects system

at runtime, but there is so far no tcl interface for this.

- extended framework to work with multiple root classes

- the basic root class of XOTcl is now ::xotcl::Object again

(instead of ::oo::object) as before. The old setup can be

achieved on the Tcl-layer.

  1. … 7 more files in changeset.
- added metaclass property for root metaclass - metaclass property is set via ::xotcl::relation ... metaclass

  1. … 3 more files in changeset.
- define default meta-class for ::xotcl::Class - use default meta-class, when a the topmost meta-class of an object system is deleted - fix regression test

  1. … 6 more files in changeset.
- work on collateral damage after merge - fixed many test cases from the regression thest - wrote some changes to ChangeLog as a reminder

  1. … 8 more files in changeset.
merge with 1.6.3 (HEAD)

  1. … 130 more files in changeset.
- handle nonposargs in method "copy" properly - extend regression test for copy - added "<class> mixinof -closure ?pattern?" - extended regression test for mixinof - updated documentation

  1. … 15 more files in changeset.
* check in guards for boolean values, not for integer values, such that a guard {true} means success

  1. … 2 more files in changeset.
- fixed bug in info instdefault, when argument is an empty string.

  1. … 2 more files in changeset.
* Continued with info orthogonality change

<object> info mixin ?pattern?

<class> info instmixin ?pattern?

?pattern? behaves exactly like in the change of two days

ago. Preceding colons in the name of the queried class are not

required.

Still to do "-closure" in

<class> info instmixin -closure ?pattern?

* In all mentioned calls, where pattern refers to an object/class

and it contains wild-cards, a preceding :: is added automatically

to the search pattern, if it is missing. Since all object names

start with ::, an omitted leading :: in a search pattern is an

obvious mistake

* Made the behavior "pattern" in the following calls identical

concerning wild cards and object lookups

<object> mixin delete pattern

<class> instmixin delete pattern

<class> superclass delete pattern

* extended regresson test

  1. … 5 more files in changeset.
* Potential incompatibility: provide a uniform interface to the following info subcommands

<class> info superclass ?-closure? ?pattern?

<class> info subclass ?-closure? ?pattern?

<class> info instances ?-closure? ?pattern?

<class> info instmixinof ?-closure? ?pattern?

<class> info mixinof ?pattern?

In cases, where the option "-closure" is defined,

the values are computed transitively.

In cases, where a pattern is specified, and

the pattern contains meta-characters, a list

of results is returned matching the pattern

(like "string match"). When no matching value

is found, an empty list is returned.

In cases, where a pattern is specified, and

the pattern contains no meta-characters,

a single value is returned korrespinding to

the specified value. The pattern is used

to lookup an object or class, such it is

not necessary to provide fully qualified names).

if there is no match, empty is returned.

Previously, "info superclass" and "info subclass"

returned a boolean value and performed

always a transitive search. Returning ""

is more consistent and more in line with Tcl.

By using the option "-closure" one can

perform the lookup in the transitive

or in the intransitive sets.

Still to do:

children

parent

classchildren

classparent

  1. … 6 more files in changeset.
- preserving var traces when copying objects

  1. … 2 more files in changeset.
synchronized with head version xotcl-2007-10-30

  1. … 69 more files in changeset.
importing experimental xotcl version

  1. … 74 more files in changeset.
restructured directory to remove superfluous directory xotcl

  1. … 749 more files in changeset.